all: children: zuul_unreachable: hosts: {} hosts: controller: ansible_connection: ssh ansible_host: 38.102.83.166 ansible_port: 22 ansible_python_interpreter: auto ansible_user: zuul ca_cert_approver: true cifmw_dlrn_report_result: false cifmw_install_yamls_vars: BMAAS_INSTANCE_DISK_SIZE: 60 OPENSTACK_CTLPLANE: config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation_fr1.yaml cifmw_is_nested_virt: true cifmw_manage_secrets_pullsecret_content: '{}' cifmw_minor_update_pre_update_tag: 18.0-fr4-latest cifmw_operator_build_output: operators: openstack-operator: git_commit_hash: d4dd4e753b60aa0268df8a17f5238358408dcb48 git_src_dir: /home/zuul/src/github.com/openstack-k8s-operators/openstack-operator image: 38.102.83.151:5001/openstack-k8s-operators/openstack-operator:d4dd4e753b60aa0268df8a17f5238358408dcb48 image_bundle: 38.102.83.151:5001/openstack-k8s-operators/openstack-operator-bundle:d4dd4e753b60aa0268df8a17f5238358408dcb48 image_catalog: 38.102.83.151:5001/openstack-k8s-operators/openstack-operator-index:d4dd4e753b60aa0268df8a17f5238358408dcb48 cifmw_rhol_crc_binary_folder: /usr/local/bin content_provider_registry_available: true content_provider_registry_ip: 38.102.83.151 content_provider_registry_ip_port: 38.102.83.151:5001 crc_parameters: --memory 32000 --disk-size 240 --cpus 12 max_retries: 60 nodepool: az: nova cloud: vexxhost-nodepool-tripleo external_id: 0f98bd74-27c2-473e-b69b-3f84690c4028 host_id: 511625867b15899f344b49f50e790882b35aedda883941cf1472ae2b interface_ip: 38.102.83.166 label: centos-9-stream-crc-2-56-0-6xlarge node_properties: {} private_ipv4: 38.102.83.166 private_ipv6: null provider: vexxhost-nodepool-tripleo public_ipv4: 38.102.83.166 public_ipv6: '' region: RegionOne slot: null pre_pull_images: - registry.redhat.io/rhosp-rhel9/openstack-rabbitmq:17.0 push_registry: quay.rdoproject.org quay_login_secret_name: quay_nextgen_zuulgithubci registry_login_enabled: true retry_delay: 15 zuul_log_collection: true zuul_node: az: nova cloud: vexxhost-nodepool-tripleo external_id: 0f98bd74-27c2-473e-b69b-3f84690c4028 host_id: 511625867b15899f344b49f50e790882b35aedda883941cf1472ae2b interface_ip: 38.102.83.166 label: centos-9-stream-crc-2-56-0-6xlarge node_properties: {} private_ipv4: 38.102.83.166 private_ipv6: null provider: vexxhost-nodepool-tripleo public_ipv4: 38.102.83.166 public_ipv6: '' region: RegionOne slot: null uuid: null crc: ansible_check_mode: false ansible_config_file: /var/lib/zuul/builds/a326e3bbd2f34129867a45c8ad699b3c/ansible/playbook_0/ansible.cfg ansible_diff_mode: false ansible_facts: {} ansible_forks: 5 ansible_host: api.crc.testing ansible_inventory_sources: - /var/lib/zuul/builds/a326e3bbd2f34129867a45c8ad699b3c/ansible/playbook_0/inventory.yaml ansible_playbook_python: /usr/lib/zuul/ansible/9/bin/python ansible_run_tags: - all ansible_scp_extra_args: -o PermitLocalCommand=no ansible_sftp_extra_args: -o PermitLocalCommand=no ansible_skip_tags: [] ansible_ssh_common_args: -o PermitLocalCommand=no ansible_ssh_executable: ssh ansible_ssh_extra_args: -o PermitLocalCommand=no ansible_ssh_private_key_file: /home/zuul/.crc/machines/crc/id_ed25519 ansible_ssh_user: core ansible_verbosity: 1 ansible_version: full: 2.16.18 major: 2 minor: 16 revision: 18 string: 2.16.18 ca_cert_approver: true cifmw_dlrn_report_result: false cifmw_install_yamls_vars: BMAAS_INSTANCE_DISK_SIZE: 60 OPENSTACK_CTLPLANE: config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation_fr1.yaml cifmw_is_nested_virt: true cifmw_manage_secrets_pullsecret_content: '{}' cifmw_minor_update_pre_update_tag: 18.0-fr4-latest cifmw_operator_build_output: operators: openstack-operator: git_commit_hash: d4dd4e753b60aa0268df8a17f5238358408dcb48 git_src_dir: /home/zuul/src/github.com/openstack-k8s-operators/openstack-operator image: 38.102.83.151:5001/openstack-k8s-operators/openstack-operator:d4dd4e753b60aa0268df8a17f5238358408dcb48 image_bundle: 38.102.83.151:5001/openstack-k8s-operators/openstack-operator-bundle:d4dd4e753b60aa0268df8a17f5238358408dcb48 image_catalog: 38.102.83.151:5001/openstack-k8s-operators/openstack-operator-index:d4dd4e753b60aa0268df8a17f5238358408dcb48 cifmw_rhol_crc_binary_folder: /usr/local/bin content_provider_registry_available: true content_provider_registry_ip: 38.102.83.151 content_provider_registry_ip_port: 38.102.83.151:5001 crc_parameters: --memory 32000 --disk-size 240 --cpus 12 group_names: - ungrouped groups: all: - controller - crc ungrouped: - controller - crc zuul_unreachable: [] inventory_dir: null inventory_file: null inventory_hostname: crc inventory_hostname_short: crc max_retries: 60 omit: __omit_place_holder__4a214ecb9d038ee75fc5ddeaa700d8e12c9dbd7a playbook_dir: /var/lib/zuul/builds/a326e3bbd2f34129867a45c8ad699b3c/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/edpm_baremetal_update pre_pull_images: - registry.redhat.io/rhosp-rhel9/openstack-rabbitmq:17.0 push_registry: quay.rdoproject.org quay_login_secret_name: quay_nextgen_zuulgithubci registry_login_enabled: true retry_delay: 15 unsafe_vars: ca_cert_approver: true cifmw_dlrn_report_result: false cifmw_install_yamls_vars: BMAAS_INSTANCE_DISK_SIZE: 60 OPENSTACK_CTLPLANE: config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation_fr1.yaml cifmw_is_nested_virt: true cifmw_manage_secrets_pullsecret_content: '{}' cifmw_minor_update_pre_update_tag: 18.0-fr4-latest cifmw_operator_build_output: operators: openstack-operator: git_commit_hash: d4dd4e753b60aa0268df8a17f5238358408dcb48 git_src_dir: /home/zuul/src/github.com/openstack-k8s-operators/openstack-operator image: 38.102.83.151:5001/openstack-k8s-operators/openstack-operator:d4dd4e753b60aa0268df8a17f5238358408dcb48 image_bundle: 38.102.83.151:5001/openstack-k8s-operators/openstack-operator-bundle:d4dd4e753b60aa0268df8a17f5238358408dcb48 image_catalog: 38.102.83.151:5001/openstack-k8s-operators/openstack-operator-index:d4dd4e753b60aa0268df8a17f5238358408dcb48 cifmw_rhol_crc_binary_folder: /usr/local/bin content_provider_registry_available: true content_provider_registry_ip: 38.102.83.151 content_provider_registry_ip_port: 38.102.83.151:5001 crc_parameters: --memory 32000 --disk-size 240 --cpus 12 max_retries: 60 pre_pull_images: - registry.redhat.io/rhosp-rhel9/openstack-rabbitmq:17.0 push_registry: quay.rdoproject.org quay_login_secret_name: quay_nextgen_zuulgithubci registry_login_enabled: true retry_delay: 15 zuul_log_collection: true zuul: _inheritance_path: - '' - '' - '' - '' - '' - '' - '' ansible_version: '9' attempts: 1 branch: main build: a326e3bbd2f34129867a45c8ad699b3c build_refs: - branch: main change: '1938' change_message: "Allow ACME-issued certificates for public endpoint routes\n\nWhen a user supplies a custom TLS secret for a public endpoint route\n(via `apiOverride`), the operator required the secret to contain\n`tls.crt`, `tls.key` **and** `ca.crt`. Certificates issued by an ACME\nissuer (e.g. Let's Encrypt) do not populate `ca.crt`: the issuing chain\nis delivered inline in `tls.crt`, and the signing root is publicly\ntrusted, so a separate `ca.crt` entry is neither produced nor needed.\nThis made it impossible to use ACME-issued certificates for public\nendpoints without synthesising a `ca.crt` key.\n\nThis makes `ca.crt` optional on that path:\n\n- The secret key check is extracted into `validateRouteCertSecret`,\n which now requires only `tls.crt` and `tls.key`.\n- The route's `CACertificate` is set only when the secret actually\n provides `ca.crt`, instead of writing an empty value.\n\nCertificate chains continue to be served correctly because cert-manager\npacks the full issuing chain into `tls.crt`; `CACertificate` is only\nused to advertise an additional custom CA, which remains supported when\npresent. Re-encrypt (TLSE) routes are unaffected — their\n`DestinationCACertificate` is still sourced from the internal CA bundle.\n\nThis covers the \"bring your own secret\" flow. Having the operator\nmanage an ACME `Certificate` directly (which additionally requires\nguarding the custom-issuer CA-extraction path and splitting public vs\ninternal SAN profiles) is intentionally out of scope here.\n\nJira: [RHOSRFE-109](https://redhat.atlassian.net/browse/RHOSRFE-109)\n\n\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)\n" change_url: https://github.com/openstack-k8s-operators/openstack-operator/pull/1938 commit_id: d4dd4e753b60aa0268df8a17f5238358408dcb48 patchset: d4dd4e753b60aa0268df8a17f5238358408dcb48 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator name: openstack-k8s-operators/openstack-operator short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator topic: null buildset: aa927a4ab8ca412987b0ec61b5d86aab buildset_refs: - branch: main change: '1938' change_message: "Allow ACME-issued certificates for public endpoint routes\n\nWhen a user supplies a custom TLS secret for a public endpoint route\n(via `apiOverride`), the operator required the secret to contain\n`tls.crt`, `tls.key` **and** `ca.crt`. Certificates issued by an ACME\nissuer (e.g. Let's Encrypt) do not populate `ca.crt`: the issuing chain\nis delivered inline in `tls.crt`, and the signing root is publicly\ntrusted, so a separate `ca.crt` entry is neither produced nor needed.\nThis made it impossible to use ACME-issued certificates for public\nendpoints without synthesising a `ca.crt` key.\n\nThis makes `ca.crt` optional on that path:\n\n- The secret key check is extracted into `validateRouteCertSecret`,\n which now requires only `tls.crt` and `tls.key`.\n- The route's `CACertificate` is set only when the secret actually\n provides `ca.crt`, instead of writing an empty value.\n\nCertificate chains continue to be served correctly because cert-manager\npacks the full issuing chain into `tls.crt`; `CACertificate` is only\nused to advertise an additional custom CA, which remains supported when\npresent. Re-encrypt (TLSE) routes are unaffected — their\n`DestinationCACertificate` is still sourced from the internal CA bundle.\n\nThis covers the \"bring your own secret\" flow. Having the operator\nmanage an ACME `Certificate` directly (which additionally requires\nguarding the custom-issuer CA-extraction path and splitting public vs\ninternal SAN profiles) is intentionally out of scope here.\n\nJira: [RHOSRFE-109](https://redhat.atlassian.net/browse/RHOSRFE-109)\n\n\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)\n" change_url: https://github.com/openstack-k8s-operators/openstack-operator/pull/1938 commit_id: d4dd4e753b60aa0268df8a17f5238358408dcb48 patchset: d4dd4e753b60aa0268df8a17f5238358408dcb48 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator name: openstack-k8s-operators/openstack-operator short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator topic: null change: '1938' change_message: "Allow ACME-issued certificates for public endpoint routes\n\nWhen a user supplies a custom TLS secret for a public endpoint route\n(via `apiOverride`), the operator required the secret to contain\n`tls.crt`, `tls.key` **and** `ca.crt`. Certificates issued by an ACME\nissuer (e.g. Let's Encrypt) do not populate `ca.crt`: the issuing chain\nis delivered inline in `tls.crt`, and the signing root is publicly\ntrusted, so a separate `ca.crt` entry is neither produced nor needed.\nThis made it impossible to use ACME-issued certificates for public\nendpoints without synthesising a `ca.crt` key.\n\nThis makes `ca.crt` optional on that path:\n\n- The secret key check is extracted into `validateRouteCertSecret`,\n \ which now requires only `tls.crt` and `tls.key`.\n- The route's `CACertificate` is set only when the secret actually\n provides `ca.crt`, instead of writing an empty value.\n\nCertificate chains continue to be served correctly because cert-manager\npacks the full issuing chain into `tls.crt`; `CACertificate` is only\nused to advertise an additional custom CA, which remains supported when\npresent. Re-encrypt (TLSE) routes are unaffected — their\n`DestinationCACertificate` is still sourced from the internal CA bundle.\n\nThis covers the \"bring your own secret\" flow. Having the operator\nmanage an ACME `Certificate` directly (which additionally requires\nguarding the custom-issuer CA-extraction path and splitting public vs\ninternal SAN profiles) is intentionally out of scope here.\n\nJira: [RHOSRFE-109](https://redhat.atlassian.net/browse/RHOSRFE-109)\n\n\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)\n" change_url: https://github.com/openstack-k8s-operators/openstack-operator/pull/1938 child_jobs: [] commit_id: d4dd4e753b60aa0268df8a17f5238358408dcb48 event_id: ad273270-6675-11f1-953b-42967c7c2bd6 executor: hostname: 38.102.83.51 inventory_file: /var/lib/zuul/builds/a326e3bbd2f34129867a45c8ad699b3c/ansible/inventory.yaml log_root: /var/lib/zuul/builds/a326e3bbd2f34129867a45c8ad699b3c/work/logs result_data_file: /var/lib/zuul/builds/a326e3bbd2f34129867a45c8ad699b3c/work/results.json src_root: /var/lib/zuul/builds/a326e3bbd2f34129867a45c8ad699b3c/work/src work_root: /var/lib/zuul/builds/a326e3bbd2f34129867a45c8ad699b3c/work include_vars: [] items: - branch: main change: '1938' change_message: "Allow ACME-issued certificates for public endpoint routes\n\nWhen a user supplies a custom TLS secret for a public endpoint route\n(via `apiOverride`), the operator required the secret to contain\n`tls.crt`, `tls.key` **and** `ca.crt`. Certificates issued by an ACME\nissuer (e.g. Let's Encrypt) do not populate `ca.crt`: the issuing chain\nis delivered inline in `tls.crt`, and the signing root is publicly\ntrusted, so a separate `ca.crt` entry is neither produced nor needed.\nThis made it impossible to use ACME-issued certificates for public\nendpoints without synthesising a `ca.crt` key.\n\nThis makes `ca.crt` optional on that path:\n\n- The secret key check is extracted into `validateRouteCertSecret`,\n which now requires only `tls.crt` and `tls.key`.\n- The route's `CACertificate` is set only when the secret actually\n provides `ca.crt`, instead of writing an empty value.\n\nCertificate chains continue to be served correctly because cert-manager\npacks the full issuing chain into `tls.crt`; `CACertificate` is only\nused to advertise an additional custom CA, which remains supported when\npresent. Re-encrypt (TLSE) routes are unaffected — their\n`DestinationCACertificate` is still sourced from the internal CA bundle.\n\nThis covers the \"bring your own secret\" flow. Having the operator\nmanage an ACME `Certificate` directly (which additionally requires\nguarding the custom-issuer CA-extraction path and splitting public vs\ninternal SAN profiles) is intentionally out of scope here.\n\nJira: [RHOSRFE-109](https://redhat.atlassian.net/browse/RHOSRFE-109)\n\n\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)\n" change_url: https://github.com/openstack-k8s-operators/openstack-operator/pull/1938 commit_id: d4dd4e753b60aa0268df8a17f5238358408dcb48 patchset: d4dd4e753b60aa0268df8a17f5238358408dcb48 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator name: openstack-k8s-operators/openstack-operator short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator topic: null job: openstack-operator-edpm-baremetal-minor-update jobtags: [] max_attempts: 1 message: QWxsb3cgQUNNRS1pc3N1ZWQgY2VydGlmaWNhdGVzIGZvciBwdWJsaWMgZW5kcG9pbnQgcm91dGVzCgpXaGVuIGEgdXNlciBzdXBwbGllcyBhIGN1c3RvbSBUTFMgc2VjcmV0IGZvciBhIHB1YmxpYyBlbmRwb2ludCByb3V0ZQoodmlhIGBhcGlPdmVycmlkZWApLCB0aGUgb3BlcmF0b3IgcmVxdWlyZWQgdGhlIHNlY3JldCB0byBjb250YWluCmB0bHMuY3J0YCwgYHRscy5rZXlgICoqYW5kKiogYGNhLmNydGAuIENlcnRpZmljYXRlcyBpc3N1ZWQgYnkgYW4gQUNNRQppc3N1ZXIgKGUuZy4gTGV0J3MgRW5jcnlwdCkgZG8gbm90IHBvcHVsYXRlIGBjYS5jcnRgOiB0aGUgaXNzdWluZyBjaGFpbgppcyBkZWxpdmVyZWQgaW5saW5lIGluIGB0bHMuY3J0YCwgYW5kIHRoZSBzaWduaW5nIHJvb3QgaXMgcHVibGljbHkKdHJ1c3RlZCwgc28gYSBzZXBhcmF0ZSBgY2EuY3J0YCBlbnRyeSBpcyBuZWl0aGVyIHByb2R1Y2VkIG5vciBuZWVkZWQuClRoaXMgbWFkZSBpdCBpbXBvc3NpYmxlIHRvIHVzZSBBQ01FLWlzc3VlZCBjZXJ0aWZpY2F0ZXMgZm9yIHB1YmxpYwplbmRwb2ludHMgd2l0aG91dCBzeW50aGVzaXNpbmcgYSBgY2EuY3J0YCBrZXkuCgpUaGlzIG1ha2VzIGBjYS5jcnRgIG9wdGlvbmFsIG9uIHRoYXQgcGF0aDoKCi0gVGhlIHNlY3JldCBrZXkgY2hlY2sgaXMgZXh0cmFjdGVkIGludG8gYHZhbGlkYXRlUm91dGVDZXJ0U2VjcmV0YCwKICB3aGljaCBub3cgcmVxdWlyZXMgb25seSBgdGxzLmNydGAgYW5kIGB0bHMua2V5YC4KLSBUaGUgcm91dGUncyBgQ0FDZXJ0aWZpY2F0ZWAgaXMgc2V0IG9ubHkgd2hlbiB0aGUgc2VjcmV0IGFjdHVhbGx5CiAgcHJvdmlkZXMgYGNhLmNydGAsIGluc3RlYWQgb2Ygd3JpdGluZyBhbiBlbXB0eSB2YWx1ZS4KCkNlcnRpZmljYXRlIGNoYWlucyBjb250aW51ZSB0byBiZSBzZXJ2ZWQgY29ycmVjdGx5IGJlY2F1c2UgY2VydC1tYW5hZ2VyCnBhY2tzIHRoZSBmdWxsIGlzc3VpbmcgY2hhaW4gaW50byBgdGxzLmNydGA7IGBDQUNlcnRpZmljYXRlYCBpcyBvbmx5CnVzZWQgdG8gYWR2ZXJ0aXNlIGFuIGFkZGl0aW9uYWwgY3VzdG9tIENBLCB3aGljaCByZW1haW5zIHN1cHBvcnRlZCB3aGVuCnByZXNlbnQuIFJlLWVuY3J5cHQgKFRMU0UpIHJvdXRlcyBhcmUgdW5hZmZlY3RlZCDigJQgdGhlaXIKYERlc3RpbmF0aW9uQ0FDZXJ0aWZpY2F0ZWAgaXMgc3RpbGwgc291cmNlZCBmcm9tIHRoZSBpbnRlcm5hbCBDQSBidW5kbGUuCgpUaGlzIGNvdmVycyB0aGUgImJyaW5nIHlvdXIgb3duIHNlY3JldCIgZmxvdy4gSGF2aW5nIHRoZSBvcGVyYXRvcgptYW5hZ2UgYW4gQUNNRSBgQ2VydGlmaWNhdGVgIGRpcmVjdGx5ICh3aGljaCBhZGRpdGlvbmFsbHkgcmVxdWlyZXMKZ3VhcmRpbmcgdGhlIGN1c3RvbS1pc3N1ZXIgQ0EtZXh0cmFjdGlvbiBwYXRoIGFuZCBzcGxpdHRpbmcgcHVibGljIHZzCmludGVybmFsIFNBTiBwcm9maWxlcykgaXMgaW50ZW50aW9uYWxseSBvdXQgb2Ygc2NvcGUgaGVyZS4KCkppcmE6IFtSSE9TUkZFLTEwOV0oaHR0cHM6Ly9yZWRoYXQuYXRsYXNzaWFuLm5ldC9icm93c2UvUkhPU1JGRS0xMDkpCgoKCvCfpJYgR2VuZXJhdGVkIHdpdGggW0NsYXVkZSBDb2RlXShodHRwczovL2NsYXVkZS5jb20vY2xhdWRlLWNvZGUpCg== patchset: d4dd4e753b60aa0268df8a17f5238358408dcb48 pipeline: github-check playbook_context: playbook_projects: trusted/project_0/review.rdoproject.org/config: canonical_name: review.rdoproject.org/config checkout: master commit: cc12b2db64a7550315a68c3732885f33869e6222 trusted/project_1/opendev.org/zuul/zuul-jobs: canonical_name: opendev.org/zuul/zuul-jobs checkout: master commit: 82e3e8b1292a25e38235bb92b157992d326531d1 trusted/project_2/review.rdoproject.org/rdo-jobs: canonical_name: review.rdoproject.org/rdo-jobs checkout: master commit: ae3f884c6c8c32b779dc61f758c0f6a43ade6877 trusted/project_3/github.com/openstack-k8s-operators/ci-framework: canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main commit: 6a75aee74e08e6c2bda7f5469718a0fb86ae8b64 untrusted/project_0/github.com/openstack-k8s-operators/ci-framework: canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main commit: 6a75aee74e08e6c2bda7f5469718a0fb86ae8b64 untrusted/project_1/review.rdoproject.org/config: canonical_name: review.rdoproject.org/config checkout: master commit: cc12b2db64a7550315a68c3732885f33869e6222 untrusted/project_2/opendev.org/zuul/zuul-jobs: canonical_name: opendev.org/zuul/zuul-jobs checkout: master commit: 82e3e8b1292a25e38235bb92b157992d326531d1 untrusted/project_3/review.rdoproject.org/rdo-jobs: canonical_name: review.rdoproject.org/rdo-jobs checkout: master commit: ae3f884c6c8c32b779dc61f758c0f6a43ade6877 playbooks: - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/edpm_baremetal_update/run.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/edpm_baremetal_update/update.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_playbooks: - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-collect-logs.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/post_playbook_0/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/post_playbook_0/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_0/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/post_playbook_0/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_0/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_0/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_0/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_0/role_3/rdo-jobs/roles - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/post_playbook_1/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/post_playbook_1/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_1/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/post_playbook_1/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_1/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_1/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_1/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_1/role_3/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/ci-framework-rdo-base/dlrn/dlrn-report.yaml roles: - checkout: main checkout_description: zuul branch link_name: ansible/post_playbook_2/role_0/ci-framework link_target: trusted/project_3/github.com/openstack-k8s-operators/ci-framework role_path: ansible/post_playbook_2/role_0/ci-framework/roles - checkout: master checkout_description: playbook branch link_name: ansible/post_playbook_2/role_1/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/post_playbook_2/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_2/role_2/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_2/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_2/role_3/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_2/role_3/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/base-minimal/post-ssh.yaml roles: - checkout: master checkout_description: playbook branch link_name: ansible/post_playbook_3/role_0/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/post_playbook_3/role_0/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_3/role_1/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_3/role_1/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_3/role_2/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_3/role_2/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/base-minimal/post-logs.yaml roles: - checkout: master checkout_description: playbook branch link_name: ansible/post_playbook_4/role_0/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/post_playbook_4/role_0/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_4/role_1/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_4/role_1/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_4/role_2/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_4/role_2/rdo-jobs/roles pre_playbooks: - path: trusted/project_0/review.rdoproject.org/config/playbooks/base-minimal/pre.yaml roles: - checkout: master checkout_description: playbook branch link_name: ansible/pre_playbook_0/role_0/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/pre_playbook_0/role_0/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_0/role_1/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_0/role_1/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_0/role_2/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_0/role_2/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/ci-framework-rdo-base/pre.yaml roles: - checkout: main checkout_description: zuul branch link_name: ansible/pre_playbook_1/role_0/ci-framework link_target: trusted/project_3/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_1/role_0/ci-framework/roles - checkout: master checkout_description: playbook branch link_name: ansible/pre_playbook_1/role_1/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/pre_playbook_1/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_1/role_2/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_1/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_1/role_3/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_1/role_3/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/crc/podman.yaml roles: - checkout: main checkout_description: zuul branch link_name: ansible/pre_playbook_2/role_0/ci-framework link_target: trusted/project_3/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_2/role_0/ci-framework/roles - checkout: master checkout_description: playbook branch link_name: ansible/pre_playbook_2/role_1/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/pre_playbook_2/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_2/role_2/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_2/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_2/role_3/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_2/role_3/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/crc/simple-start.yaml roles: - checkout: main checkout_description: zuul branch link_name: ansible/pre_playbook_3/role_0/ci-framework link_target: trusted/project_3/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_3/role_0/ci-framework/roles - checkout: master checkout_description: playbook branch link_name: ansible/pre_playbook_3/role_1/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/pre_playbook_3/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_3/role_2/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_3/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_3/role_3/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_3/role_3/rdo-jobs/roles - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-prepare.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/pre_playbook_4/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_4/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_4/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/pre_playbook_4/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_4/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_4/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_4/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_4/role_3/rdo-jobs/roles - 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/pre_playbook_5/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_5/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_5/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/pre_playbook_5/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_5/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_5/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_5/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_5/role_3/rdo-jobs/roles post_review: false post_timeout: 5400 pre_timeout: null project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator name: openstack-k8s-operators/openstack-operator short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator projects: 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: 6a75aee74e08e6c2bda7f5469718a0fb86ae8b64 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: d5eae620a08b412f076b112b4c3d8e0d69cbb047 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: d6e7a2257c1aa266e49ae603eb3f159d5e4d5ae6 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: 28010890899b365d9b163f6cd2faeb71bf37d54f 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: 3b55e32a2c0b3ee02c529fe938efd2dbca6957ae 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: c368cbf84357cebd70fe8ec9c2c849e2aa7905e4 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: d4dd4e753b60aa0268df8a17f5238358408dcb48 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: 85321f7e0af502d7f06f845886058daf09da34f6 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: 82e3e8b1292a25e38235bb92b157992d326531d1 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: cc12b2db64a7550315a68c3732885f33869e6222 name: config required: true short_name: config src_dir: src/review.rdoproject.org/config ref: refs/pull/1938/head resources: {} tenant: rdoproject.org timeout: 10800 topic: null voting: true zuul_execution_branch: main zuul_execution_canonical_name_and_path: github.com/openstack-k8s-operators/ci-framework/ci/playbooks/edpm_baremetal_update/run.yml zuul_execution_phase: run zuul_execution_phase_index: '0' zuul_execution_trusted: 'False' zuul_log_collection: true localhost: ansible_connection: local vars: ca_cert_approver: true cifmw_dlrn_report_result: false cifmw_install_yamls_vars: BMAAS_INSTANCE_DISK_SIZE: 60 OPENSTACK_CTLPLANE: config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation_fr1.yaml cifmw_is_nested_virt: true cifmw_manage_secrets_pullsecret_content: '{}' cifmw_minor_update_pre_update_tag: 18.0-fr4-latest cifmw_operator_build_output: operators: openstack-operator: git_commit_hash: d4dd4e753b60aa0268df8a17f5238358408dcb48 git_src_dir: /home/zuul/src/github.com/openstack-k8s-operators/openstack-operator image: 38.102.83.151:5001/openstack-k8s-operators/openstack-operator:d4dd4e753b60aa0268df8a17f5238358408dcb48 image_bundle: 38.102.83.151:5001/openstack-k8s-operators/openstack-operator-bundle:d4dd4e753b60aa0268df8a17f5238358408dcb48 image_catalog: 38.102.83.151:5001/openstack-k8s-operators/openstack-operator-index:d4dd4e753b60aa0268df8a17f5238358408dcb48 cifmw_rhol_crc_binary_folder: /usr/local/bin content_provider_registry_available: true content_provider_registry_ip: 38.102.83.151 content_provider_registry_ip_port: 38.102.83.151:5001 crc_parameters: --memory 32000 --disk-size 240 --cpus 12 max_retries: 60 pre_pull_images: - registry.redhat.io/rhosp-rhel9/openstack-rabbitmq:17.0 push_registry: quay.rdoproject.org quay_login_secret_name: quay_nextgen_zuulgithubci registry_login_enabled: true retry_delay: 15 zuul: _inheritance_path: - '' - '' - '' - '' - '' - '' - '' ansible_version: '9' attempts: 1 branch: main build: a326e3bbd2f34129867a45c8ad699b3c build_refs: - branch: main change: '1938' change_message: "Allow ACME-issued certificates for public endpoint routes\n\nWhen a user supplies a custom TLS secret for a public endpoint route\n(via `apiOverride`), the operator required the secret to contain\n`tls.crt`, `tls.key` **and** `ca.crt`. Certificates issued by an ACME\nissuer (e.g. Let's Encrypt) do not populate `ca.crt`: the issuing chain\nis delivered inline in `tls.crt`, and the signing root is publicly\ntrusted, so a separate `ca.crt` entry is neither produced nor needed.\nThis made it impossible to use ACME-issued certificates for public\nendpoints without synthesising a `ca.crt` key.\n\nThis makes `ca.crt` optional on that path:\n\n- The secret key check is extracted into `validateRouteCertSecret`,\n \ which now requires only `tls.crt` and `tls.key`.\n- The route's `CACertificate` is set only when the secret actually\n provides `ca.crt`, instead of writing an empty value.\n\nCertificate chains continue to be served correctly because cert-manager\npacks the full issuing chain into `tls.crt`; `CACertificate` is only\nused to advertise an additional custom CA, which remains supported when\npresent. Re-encrypt (TLSE) routes are unaffected — their\n`DestinationCACertificate` is still sourced from the internal CA bundle.\n\nThis covers the \"bring your own secret\" flow. Having the operator\nmanage an ACME `Certificate` directly (which additionally requires\nguarding the custom-issuer CA-extraction path and splitting public vs\ninternal SAN profiles) is intentionally out of scope here.\n\nJira: [RHOSRFE-109](https://redhat.atlassian.net/browse/RHOSRFE-109)\n\n\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)\n" change_url: https://github.com/openstack-k8s-operators/openstack-operator/pull/1938 commit_id: d4dd4e753b60aa0268df8a17f5238358408dcb48 patchset: d4dd4e753b60aa0268df8a17f5238358408dcb48 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator name: openstack-k8s-operators/openstack-operator short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator topic: null buildset: aa927a4ab8ca412987b0ec61b5d86aab buildset_refs: - branch: main change: '1938' change_message: "Allow ACME-issued certificates for public endpoint routes\n\nWhen a user supplies a custom TLS secret for a public endpoint route\n(via `apiOverride`), the operator required the secret to contain\n`tls.crt`, `tls.key` **and** `ca.crt`. Certificates issued by an ACME\nissuer (e.g. Let's Encrypt) do not populate `ca.crt`: the issuing chain\nis delivered inline in `tls.crt`, and the signing root is publicly\ntrusted, so a separate `ca.crt` entry is neither produced nor needed.\nThis made it impossible to use ACME-issued certificates for public\nendpoints without synthesising a `ca.crt` key.\n\nThis makes `ca.crt` optional on that path:\n\n- The secret key check is extracted into `validateRouteCertSecret`,\n \ which now requires only `tls.crt` and `tls.key`.\n- The route's `CACertificate` is set only when the secret actually\n provides `ca.crt`, instead of writing an empty value.\n\nCertificate chains continue to be served correctly because cert-manager\npacks the full issuing chain into `tls.crt`; `CACertificate` is only\nused to advertise an additional custom CA, which remains supported when\npresent. Re-encrypt (TLSE) routes are unaffected — their\n`DestinationCACertificate` is still sourced from the internal CA bundle.\n\nThis covers the \"bring your own secret\" flow. Having the operator\nmanage an ACME `Certificate` directly (which additionally requires\nguarding the custom-issuer CA-extraction path and splitting public vs\ninternal SAN profiles) is intentionally out of scope here.\n\nJira: [RHOSRFE-109](https://redhat.atlassian.net/browse/RHOSRFE-109)\n\n\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)\n" change_url: https://github.com/openstack-k8s-operators/openstack-operator/pull/1938 commit_id: d4dd4e753b60aa0268df8a17f5238358408dcb48 patchset: d4dd4e753b60aa0268df8a17f5238358408dcb48 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator name: openstack-k8s-operators/openstack-operator short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator topic: null change: '1938' change_message: "Allow ACME-issued certificates for public endpoint routes\n\nWhen a user supplies a custom TLS secret for a public endpoint route\n(via `apiOverride`), the operator required the secret to contain\n`tls.crt`, `tls.key` **and** `ca.crt`. Certificates issued by an ACME\nissuer (e.g. Let's Encrypt) do not populate `ca.crt`: the issuing chain\nis delivered inline in `tls.crt`, and the signing root is publicly\ntrusted, so a separate `ca.crt` entry is neither produced nor needed.\nThis made it impossible to use ACME-issued certificates for public\nendpoints without synthesising a `ca.crt` key.\n\nThis makes `ca.crt` optional on that path:\n\n- The secret key check is extracted into `validateRouteCertSecret`,\n \ which now requires only `tls.crt` and `tls.key`.\n- The route's `CACertificate` is set only when the secret actually\n provides `ca.crt`, instead of writing an empty value.\n\nCertificate chains continue to be served correctly because cert-manager\npacks the full issuing chain into `tls.crt`; `CACertificate` is only\nused to advertise an additional custom CA, which remains supported when\npresent. Re-encrypt (TLSE) routes are unaffected — their\n`DestinationCACertificate` is still sourced from the internal CA bundle.\n\nThis covers the \"bring your own secret\" flow. Having the operator\nmanage an ACME `Certificate` directly (which additionally requires\nguarding the custom-issuer CA-extraction path and splitting public vs\ninternal SAN profiles) is intentionally out of scope here.\n\nJira: [RHOSRFE-109](https://redhat.atlassian.net/browse/RHOSRFE-109)\n\n\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)\n" change_url: https://github.com/openstack-k8s-operators/openstack-operator/pull/1938 child_jobs: [] commit_id: d4dd4e753b60aa0268df8a17f5238358408dcb48 event_id: ad273270-6675-11f1-953b-42967c7c2bd6 executor: hostname: 38.102.83.51 inventory_file: /var/lib/zuul/builds/a326e3bbd2f34129867a45c8ad699b3c/ansible/inventory.yaml log_root: /var/lib/zuul/builds/a326e3bbd2f34129867a45c8ad699b3c/work/logs result_data_file: /var/lib/zuul/builds/a326e3bbd2f34129867a45c8ad699b3c/work/results.json src_root: /var/lib/zuul/builds/a326e3bbd2f34129867a45c8ad699b3c/work/src work_root: /var/lib/zuul/builds/a326e3bbd2f34129867a45c8ad699b3c/work include_vars: [] items: - branch: main change: '1938' change_message: "Allow ACME-issued certificates for public endpoint routes\n\nWhen a user supplies a custom TLS secret for a public endpoint route\n(via `apiOverride`), the operator required the secret to contain\n`tls.crt`, `tls.key` **and** `ca.crt`. Certificates issued by an ACME\nissuer (e.g. Let's Encrypt) do not populate `ca.crt`: the issuing chain\nis delivered inline in `tls.crt`, and the signing root is publicly\ntrusted, so a separate `ca.crt` entry is neither produced nor needed.\nThis made it impossible to use ACME-issued certificates for public\nendpoints without synthesising a `ca.crt` key.\n\nThis makes `ca.crt` optional on that path:\n\n- The secret key check is extracted into `validateRouteCertSecret`,\n \ which now requires only `tls.crt` and `tls.key`.\n- The route's `CACertificate` is set only when the secret actually\n provides `ca.crt`, instead of writing an empty value.\n\nCertificate chains continue to be served correctly because cert-manager\npacks the full issuing chain into `tls.crt`; `CACertificate` is only\nused to advertise an additional custom CA, which remains supported when\npresent. Re-encrypt (TLSE) routes are unaffected — their\n`DestinationCACertificate` is still sourced from the internal CA bundle.\n\nThis covers the \"bring your own secret\" flow. Having the operator\nmanage an ACME `Certificate` directly (which additionally requires\nguarding the custom-issuer CA-extraction path and splitting public vs\ninternal SAN profiles) is intentionally out of scope here.\n\nJira: [RHOSRFE-109](https://redhat.atlassian.net/browse/RHOSRFE-109)\n\n\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)\n" change_url: https://github.com/openstack-k8s-operators/openstack-operator/pull/1938 commit_id: d4dd4e753b60aa0268df8a17f5238358408dcb48 patchset: d4dd4e753b60aa0268df8a17f5238358408dcb48 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator name: openstack-k8s-operators/openstack-operator short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator topic: null job: openstack-operator-edpm-baremetal-minor-update jobtags: [] max_attempts: 1 message: QWxsb3cgQUNNRS1pc3N1ZWQgY2VydGlmaWNhdGVzIGZvciBwdWJsaWMgZW5kcG9pbnQgcm91dGVzCgpXaGVuIGEgdXNlciBzdXBwbGllcyBhIGN1c3RvbSBUTFMgc2VjcmV0IGZvciBhIHB1YmxpYyBlbmRwb2ludCByb3V0ZQoodmlhIGBhcGlPdmVycmlkZWApLCB0aGUgb3BlcmF0b3IgcmVxdWlyZWQgdGhlIHNlY3JldCB0byBjb250YWluCmB0bHMuY3J0YCwgYHRscy5rZXlgICoqYW5kKiogYGNhLmNydGAuIENlcnRpZmljYXRlcyBpc3N1ZWQgYnkgYW4gQUNNRQppc3N1ZXIgKGUuZy4gTGV0J3MgRW5jcnlwdCkgZG8gbm90IHBvcHVsYXRlIGBjYS5jcnRgOiB0aGUgaXNzdWluZyBjaGFpbgppcyBkZWxpdmVyZWQgaW5saW5lIGluIGB0bHMuY3J0YCwgYW5kIHRoZSBzaWduaW5nIHJvb3QgaXMgcHVibGljbHkKdHJ1c3RlZCwgc28gYSBzZXBhcmF0ZSBgY2EuY3J0YCBlbnRyeSBpcyBuZWl0aGVyIHByb2R1Y2VkIG5vciBuZWVkZWQuClRoaXMgbWFkZSBpdCBpbXBvc3NpYmxlIHRvIHVzZSBBQ01FLWlzc3VlZCBjZXJ0aWZpY2F0ZXMgZm9yIHB1YmxpYwplbmRwb2ludHMgd2l0aG91dCBzeW50aGVzaXNpbmcgYSBgY2EuY3J0YCBrZXkuCgpUaGlzIG1ha2VzIGBjYS5jcnRgIG9wdGlvbmFsIG9uIHRoYXQgcGF0aDoKCi0gVGhlIHNlY3JldCBrZXkgY2hlY2sgaXMgZXh0cmFjdGVkIGludG8gYHZhbGlkYXRlUm91dGVDZXJ0U2VjcmV0YCwKICB3aGljaCBub3cgcmVxdWlyZXMgb25seSBgdGxzLmNydGAgYW5kIGB0bHMua2V5YC4KLSBUaGUgcm91dGUncyBgQ0FDZXJ0aWZpY2F0ZWAgaXMgc2V0IG9ubHkgd2hlbiB0aGUgc2VjcmV0IGFjdHVhbGx5CiAgcHJvdmlkZXMgYGNhLmNydGAsIGluc3RlYWQgb2Ygd3JpdGluZyBhbiBlbXB0eSB2YWx1ZS4KCkNlcnRpZmljYXRlIGNoYWlucyBjb250aW51ZSB0byBiZSBzZXJ2ZWQgY29ycmVjdGx5IGJlY2F1c2UgY2VydC1tYW5hZ2VyCnBhY2tzIHRoZSBmdWxsIGlzc3VpbmcgY2hhaW4gaW50byBgdGxzLmNydGA7IGBDQUNlcnRpZmljYXRlYCBpcyBvbmx5CnVzZWQgdG8gYWR2ZXJ0aXNlIGFuIGFkZGl0aW9uYWwgY3VzdG9tIENBLCB3aGljaCByZW1haW5zIHN1cHBvcnRlZCB3aGVuCnByZXNlbnQuIFJlLWVuY3J5cHQgKFRMU0UpIHJvdXRlcyBhcmUgdW5hZmZlY3RlZCDigJQgdGhlaXIKYERlc3RpbmF0aW9uQ0FDZXJ0aWZpY2F0ZWAgaXMgc3RpbGwgc291cmNlZCBmcm9tIHRoZSBpbnRlcm5hbCBDQSBidW5kbGUuCgpUaGlzIGNvdmVycyB0aGUgImJyaW5nIHlvdXIgb3duIHNlY3JldCIgZmxvdy4gSGF2aW5nIHRoZSBvcGVyYXRvcgptYW5hZ2UgYW4gQUNNRSBgQ2VydGlmaWNhdGVgIGRpcmVjdGx5ICh3aGljaCBhZGRpdGlvbmFsbHkgcmVxdWlyZXMKZ3VhcmRpbmcgdGhlIGN1c3RvbS1pc3N1ZXIgQ0EtZXh0cmFjdGlvbiBwYXRoIGFuZCBzcGxpdHRpbmcgcHVibGljIHZzCmludGVybmFsIFNBTiBwcm9maWxlcykgaXMgaW50ZW50aW9uYWxseSBvdXQgb2Ygc2NvcGUgaGVyZS4KCkppcmE6IFtSSE9TUkZFLTEwOV0oaHR0cHM6Ly9yZWRoYXQuYXRsYXNzaWFuLm5ldC9icm93c2UvUkhPU1JGRS0xMDkpCgoKCvCfpJYgR2VuZXJhdGVkIHdpdGggW0NsYXVkZSBDb2RlXShodHRwczovL2NsYXVkZS5jb20vY2xhdWRlLWNvZGUpCg== patchset: d4dd4e753b60aa0268df8a17f5238358408dcb48 pipeline: github-check playbook_context: playbook_projects: trusted/project_0/review.rdoproject.org/config: canonical_name: review.rdoproject.org/config checkout: master commit: cc12b2db64a7550315a68c3732885f33869e6222 trusted/project_1/opendev.org/zuul/zuul-jobs: canonical_name: opendev.org/zuul/zuul-jobs checkout: master commit: 82e3e8b1292a25e38235bb92b157992d326531d1 trusted/project_2/review.rdoproject.org/rdo-jobs: canonical_name: review.rdoproject.org/rdo-jobs checkout: master commit: ae3f884c6c8c32b779dc61f758c0f6a43ade6877 trusted/project_3/github.com/openstack-k8s-operators/ci-framework: canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main commit: 6a75aee74e08e6c2bda7f5469718a0fb86ae8b64 untrusted/project_0/github.com/openstack-k8s-operators/ci-framework: canonical_name: github.com/openstack-k8s-operators/ci-framework checkout: main commit: 6a75aee74e08e6c2bda7f5469718a0fb86ae8b64 untrusted/project_1/review.rdoproject.org/config: canonical_name: review.rdoproject.org/config checkout: master commit: cc12b2db64a7550315a68c3732885f33869e6222 untrusted/project_2/opendev.org/zuul/zuul-jobs: canonical_name: opendev.org/zuul/zuul-jobs checkout: master commit: 82e3e8b1292a25e38235bb92b157992d326531d1 untrusted/project_3/review.rdoproject.org/rdo-jobs: canonical_name: review.rdoproject.org/rdo-jobs checkout: master commit: ae3f884c6c8c32b779dc61f758c0f6a43ade6877 playbooks: - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/edpm_baremetal_update/run.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/edpm_baremetal_update/update.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_playbooks: - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-collect-logs.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/post_playbook_0/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/post_playbook_0/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_0/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/post_playbook_0/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_0/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_0/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_0/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_0/role_3/rdo-jobs/roles - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/post_playbook_1/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/post_playbook_1/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_1/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/post_playbook_1/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_1/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_1/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_1/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_1/role_3/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/ci-framework-rdo-base/dlrn/dlrn-report.yaml roles: - checkout: main checkout_description: zuul branch link_name: ansible/post_playbook_2/role_0/ci-framework link_target: trusted/project_3/github.com/openstack-k8s-operators/ci-framework role_path: ansible/post_playbook_2/role_0/ci-framework/roles - checkout: master checkout_description: playbook branch link_name: ansible/post_playbook_2/role_1/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/post_playbook_2/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_2/role_2/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_2/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_2/role_3/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_2/role_3/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/base-minimal/post-ssh.yaml roles: - checkout: master checkout_description: playbook branch link_name: ansible/post_playbook_3/role_0/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/post_playbook_3/role_0/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_3/role_1/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_3/role_1/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_3/role_2/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_3/role_2/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/base-minimal/post-logs.yaml roles: - checkout: master checkout_description: playbook branch link_name: ansible/post_playbook_4/role_0/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/post_playbook_4/role_0/config/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_4/role_1/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/post_playbook_4/role_1/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/post_playbook_4/role_2/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/post_playbook_4/role_2/rdo-jobs/roles pre_playbooks: - path: trusted/project_0/review.rdoproject.org/config/playbooks/base-minimal/pre.yaml roles: - checkout: master checkout_description: playbook branch link_name: ansible/pre_playbook_0/role_0/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/pre_playbook_0/role_0/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_0/role_1/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_0/role_1/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_0/role_2/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_0/role_2/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/ci-framework-rdo-base/pre.yaml roles: - checkout: main checkout_description: zuul branch link_name: ansible/pre_playbook_1/role_0/ci-framework link_target: trusted/project_3/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_1/role_0/ci-framework/roles - checkout: master checkout_description: playbook branch link_name: ansible/pre_playbook_1/role_1/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/pre_playbook_1/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_1/role_2/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_1/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_1/role_3/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_1/role_3/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/crc/podman.yaml roles: - checkout: main checkout_description: zuul branch link_name: ansible/pre_playbook_2/role_0/ci-framework link_target: trusted/project_3/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_2/role_0/ci-framework/roles - checkout: master checkout_description: playbook branch link_name: ansible/pre_playbook_2/role_1/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/pre_playbook_2/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_2/role_2/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_2/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_2/role_3/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_2/role_3/rdo-jobs/roles - path: trusted/project_0/review.rdoproject.org/config/playbooks/crc/simple-start.yaml roles: - checkout: main checkout_description: zuul branch link_name: ansible/pre_playbook_3/role_0/ci-framework link_target: trusted/project_3/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_3/role_0/ci-framework/roles - checkout: master checkout_description: playbook branch link_name: ansible/pre_playbook_3/role_1/config link_target: trusted/project_0/review.rdoproject.org/config role_path: ansible/pre_playbook_3/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_3/role_2/zuul-jobs link_target: trusted/project_1/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_3/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_3/role_3/rdo-jobs link_target: trusted/project_2/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_3/role_3/rdo-jobs/roles - path: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/e2e-prepare.yml roles: - checkout: main checkout_description: playbook branch link_name: ansible/pre_playbook_4/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_4/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_4/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/pre_playbook_4/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_4/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_4/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_4/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_4/role_3/rdo-jobs/roles - 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/pre_playbook_5/role_0/ci-framework link_target: untrusted/project_0/github.com/openstack-k8s-operators/ci-framework role_path: ansible/pre_playbook_5/role_0/ci-framework/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_5/role_1/config link_target: untrusted/project_1/review.rdoproject.org/config role_path: ansible/pre_playbook_5/role_1/config/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_5/role_2/zuul-jobs link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs role_path: ansible/pre_playbook_5/role_2/zuul-jobs/roles - checkout: master checkout_description: project default branch link_name: ansible/pre_playbook_5/role_3/rdo-jobs link_target: untrusted/project_3/review.rdoproject.org/rdo-jobs role_path: ansible/pre_playbook_5/role_3/rdo-jobs/roles post_review: false post_timeout: 5400 pre_timeout: null project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/openstack-operator name: openstack-k8s-operators/openstack-operator short_name: openstack-operator src_dir: src/github.com/openstack-k8s-operators/openstack-operator projects: 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: 6a75aee74e08e6c2bda7f5469718a0fb86ae8b64 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: d5eae620a08b412f076b112b4c3d8e0d69cbb047 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: d6e7a2257c1aa266e49ae603eb3f159d5e4d5ae6 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: 28010890899b365d9b163f6cd2faeb71bf37d54f 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: 3b55e32a2c0b3ee02c529fe938efd2dbca6957ae 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: c368cbf84357cebd70fe8ec9c2c849e2aa7905e4 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: d4dd4e753b60aa0268df8a17f5238358408dcb48 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: 85321f7e0af502d7f06f845886058daf09da34f6 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: 82e3e8b1292a25e38235bb92b157992d326531d1 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: cc12b2db64a7550315a68c3732885f33869e6222 name: config required: true short_name: config src_dir: src/review.rdoproject.org/config ref: refs/pull/1938/head resources: {} tenant: rdoproject.org timeout: 10800 topic: null voting: true zuul_log_collection: true