all: children: zuul_unreachable: hosts: {} hosts: controller: ansible_connection: ssh ansible_host: 38.102.83.5 ansible_port: 22 ansible_python_interpreter: auto ansible_user: zuul ca_cert_approver: true cifmw_dlrn_report_result: false cifmw_is_nested_virt: true cifmw_manage_secrets_pullsecret_content: '{}' cifmw_operator_build_output: operators: infra-operator: git_commit_hash: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 git_src_dir: /home/zuul/src/github.com/openstack-k8s-operators/infra-operator image: 38.102.83.65:5001/openstack-k8s-operators/infra-operator:b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 image_bundle: 38.102.83.65:5001/openstack-k8s-operators/infra-operator-bundle:b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 image_catalog: 38.102.83.65:5001/openstack-k8s-operators/infra-operator-index:b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 openstack-operator: git_commit_hash: a34fdab1876627630e7a9a106360de38a6fb53cd git_src_dir: ~/src/github.com/openstack-k8s-operators/openstack-operator image: 38.102.83.65:5001/openstack-k8s-operators/openstack-operator:a34fdab1876627630e7a9a106360de38a6fb53cd image_bundle: 38.102.83.65:5001/openstack-k8s-operators/openstack-operator-bundle:a34fdab1876627630e7a9a106360de38a6fb53cd image_catalog: 38.102.83.65:5001/openstack-k8s-operators/openstack-operator-index:a34fdab1876627630e7a9a106360de38a6fb53cd cifmw_rhol_crc_binary_folder: /usr/local/bin content_provider_registry_available: true content_provider_registry_ip: 38.102.83.65 content_provider_registry_ip_port: 38.102.83.65:5001 crc_parameters: --memory 32000 --disk-size 240 --cpus 12 max_retries: 60 nodepool: az: nova cloud: vexxhost-nodepool-tripleo external_id: f1c1ebf6-4acf-4ae2-88b4-e978908b17bd host_id: ff62aecd09b85709a233d3330c1581c31f2fa23cd3c1cbc3ffcedd62 interface_ip: 38.102.83.5 label: centos-9-stream-crc-2-56-0-6xlarge node_properties: {} private_ipv4: 38.102.83.5 private_ipv6: null provider: vexxhost-nodepool-tripleo public_ipv4: 38.102.83.5 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: f1c1ebf6-4acf-4ae2-88b4-e978908b17bd host_id: ff62aecd09b85709a233d3330c1581c31f2fa23cd3c1cbc3ffcedd62 interface_ip: 38.102.83.5 label: centos-9-stream-crc-2-56-0-6xlarge node_properties: {} private_ipv4: 38.102.83.5 private_ipv6: null provider: vexxhost-nodepool-tripleo public_ipv4: 38.102.83.5 public_ipv6: '' region: RegionOne slot: null uuid: null crc: ansible_check_mode: false ansible_config_file: /var/lib/zuul/builds/15d499d511e94e8e9e0abbf492efa660/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/15d499d511e94e8e9e0abbf492efa660/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_is_nested_virt: true cifmw_manage_secrets_pullsecret_content: '{}' cifmw_operator_build_output: operators: infra-operator: git_commit_hash: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 git_src_dir: /home/zuul/src/github.com/openstack-k8s-operators/infra-operator image: 38.102.83.65:5001/openstack-k8s-operators/infra-operator:b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 image_bundle: 38.102.83.65:5001/openstack-k8s-operators/infra-operator-bundle:b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 image_catalog: 38.102.83.65:5001/openstack-k8s-operators/infra-operator-index:b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 openstack-operator: git_commit_hash: a34fdab1876627630e7a9a106360de38a6fb53cd git_src_dir: ~/src/github.com/openstack-k8s-operators/openstack-operator image: 38.102.83.65:5001/openstack-k8s-operators/openstack-operator:a34fdab1876627630e7a9a106360de38a6fb53cd image_bundle: 38.102.83.65:5001/openstack-k8s-operators/openstack-operator-bundle:a34fdab1876627630e7a9a106360de38a6fb53cd image_catalog: 38.102.83.65:5001/openstack-k8s-operators/openstack-operator-index:a34fdab1876627630e7a9a106360de38a6fb53cd cifmw_rhol_crc_binary_folder: /usr/local/bin content_provider_registry_available: true content_provider_registry_ip: 38.102.83.65 content_provider_registry_ip_port: 38.102.83.65: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__4262bbbee8364af64abde810fef78d81aede7df8 playbook_dir: /var/lib/zuul/builds/15d499d511e94e8e9e0abbf492efa660/untrusted/project_0/github.com/openstack-k8s-operators/ci-framework/ci/playbooks/edpm_baremetal_deployment 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_is_nested_virt: true cifmw_manage_secrets_pullsecret_content: '{}' cifmw_operator_build_output: operators: infra-operator: git_commit_hash: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 git_src_dir: /home/zuul/src/github.com/openstack-k8s-operators/infra-operator image: 38.102.83.65:5001/openstack-k8s-operators/infra-operator:b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 image_bundle: 38.102.83.65:5001/openstack-k8s-operators/infra-operator-bundle:b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 image_catalog: 38.102.83.65:5001/openstack-k8s-operators/infra-operator-index:b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 openstack-operator: git_commit_hash: a34fdab1876627630e7a9a106360de38a6fb53cd git_src_dir: ~/src/github.com/openstack-k8s-operators/openstack-operator image: 38.102.83.65:5001/openstack-k8s-operators/openstack-operator:a34fdab1876627630e7a9a106360de38a6fb53cd image_bundle: 38.102.83.65:5001/openstack-k8s-operators/openstack-operator-bundle:a34fdab1876627630e7a9a106360de38a6fb53cd image_catalog: 38.102.83.65:5001/openstack-k8s-operators/openstack-operator-index:a34fdab1876627630e7a9a106360de38a6fb53cd cifmw_rhol_crc_binary_folder: /usr/local/bin content_provider_registry_available: true content_provider_registry_ip: 38.102.83.65 content_provider_registry_ip_port: 38.102.83.65: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: 15d499d511e94e8e9e0abbf492efa660 build_refs: - branch: main change: '602' change_message: "InstanceHA cliff detection expiry, per-cycle fencing cap, shutdown cleanup, code simplification, doc dedup\n\n \ Production hardening:\r\n - Cliff detection expiry after N consecutive cycles (HEARTBEAT_CLIFF_MAX_CYCLES)\r\n \ - Per-cycle fencing cap (MAX_HOSTS_PER_CYCLE) to prevent cascading failures\r\n - Graceful shutdown cleanup with try/finally in _process_stale_services\r\n - AllServicesStale safety gate for Nova API issues\r\n \r\n Code simplification (no behavioral changes):\r\n - Remove dead CloudConnectionProvider ABC and _get_nova_connection wrapper\r\n - Move stdlib/keystoneauth1/novaclient imports to module level\r\n - Centralize credential sanitization in _emit_k8s_event (auto-sanitize)\r\n - Fix double-thread health check, redundant exception clause, stale guard\r\n \ - Consolidate 7 _cleanup_filtered_hosts calls into single try/finally\r\n - Merge identical KDUMP/HEARTBEAT_CLEANUP_THRESHOLD into UDP_CLEANUP_THRESHOLD\r\n \r\n Documentation:\r\n \ - Deduplicate Prometheus metrics tables (guide.md → summary + cross-ref)\r\n - Add 3 missing metrics to prometheus.md catalog\r\n - Add 3 missing events to architecture.md catalog\r\n \ - Remove stale CloudConnectionProvider docs\r\n - Add bidirectional cross-references across all 5 docs" change_url: https://github.com/openstack-k8s-operators/infra-operator/pull/602 commit_id: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 patchset: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/infra-operator name: openstack-k8s-operators/infra-operator short_name: infra-operator src_dir: src/github.com/openstack-k8s-operators/infra-operator src_dir: src/github.com/openstack-k8s-operators/infra-operator topic: null buildset: 5d3c328085204b62b0a70d3f08e4c518 buildset_refs: - branch: main change: '602' change_message: "InstanceHA cliff detection expiry, per-cycle fencing cap, shutdown cleanup, code simplification, doc dedup\n\n \ Production hardening:\r\n - Cliff detection expiry after N consecutive cycles (HEARTBEAT_CLIFF_MAX_CYCLES)\r\n \ - Per-cycle fencing cap (MAX_HOSTS_PER_CYCLE) to prevent cascading failures\r\n - Graceful shutdown cleanup with try/finally in _process_stale_services\r\n - AllServicesStale safety gate for Nova API issues\r\n \r\n Code simplification (no behavioral changes):\r\n - Remove dead CloudConnectionProvider ABC and _get_nova_connection wrapper\r\n - Move stdlib/keystoneauth1/novaclient imports to module level\r\n - Centralize credential sanitization in _emit_k8s_event (auto-sanitize)\r\n - Fix double-thread health check, redundant exception clause, stale guard\r\n \ - Consolidate 7 _cleanup_filtered_hosts calls into single try/finally\r\n - Merge identical KDUMP/HEARTBEAT_CLEANUP_THRESHOLD into UDP_CLEANUP_THRESHOLD\r\n \r\n Documentation:\r\n \ - Deduplicate Prometheus metrics tables (guide.md → summary + cross-ref)\r\n - Add 3 missing metrics to prometheus.md catalog\r\n - Add 3 missing events to architecture.md catalog\r\n \ - Remove stale CloudConnectionProvider docs\r\n - Add bidirectional cross-references across all 5 docs" change_url: https://github.com/openstack-k8s-operators/infra-operator/pull/602 commit_id: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 patchset: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/infra-operator name: openstack-k8s-operators/infra-operator short_name: infra-operator src_dir: src/github.com/openstack-k8s-operators/infra-operator src_dir: src/github.com/openstack-k8s-operators/infra-operator topic: null change: '602' change_message: "InstanceHA cliff detection expiry, per-cycle fencing cap, shutdown cleanup, code simplification, doc dedup\n\n Production hardening:\r\n - Cliff detection expiry after N consecutive cycles (HEARTBEAT_CLIFF_MAX_CYCLES)\r\n - Per-cycle fencing cap (MAX_HOSTS_PER_CYCLE) to prevent cascading failures\r\n - Graceful shutdown cleanup with try/finally in _process_stale_services\r\n \ - AllServicesStale safety gate for Nova API issues\r\n \r\n \ Code simplification (no behavioral changes):\r\n - Remove dead CloudConnectionProvider ABC and _get_nova_connection wrapper\r\n \ - Move stdlib/keystoneauth1/novaclient imports to module level\r\n \ - Centralize credential sanitization in _emit_k8s_event (auto-sanitize)\r\n \ - Fix double-thread health check, redundant exception clause, stale guard\r\n - Consolidate 7 _cleanup_filtered_hosts calls into single try/finally\r\n - Merge identical KDUMP/HEARTBEAT_CLEANUP_THRESHOLD into UDP_CLEANUP_THRESHOLD\r\n \r\n Documentation:\r\n - Deduplicate Prometheus metrics tables (guide.md → summary + cross-ref)\r\n \ - Add 3 missing metrics to prometheus.md catalog\r\n - Add 3 missing events to architecture.md catalog\r\n - Remove stale CloudConnectionProvider docs\r\n - Add bidirectional cross-references across all 5 docs" change_url: https://github.com/openstack-k8s-operators/infra-operator/pull/602 child_jobs: [] commit_id: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 event_id: 7de25ee0-672e-11f1-8a0f-bec55a77e134 executor: hostname: 38.102.83.51 inventory_file: /var/lib/zuul/builds/15d499d511e94e8e9e0abbf492efa660/ansible/inventory.yaml log_root: /var/lib/zuul/builds/15d499d511e94e8e9e0abbf492efa660/work/logs result_data_file: /var/lib/zuul/builds/15d499d511e94e8e9e0abbf492efa660/work/results.json src_root: /var/lib/zuul/builds/15d499d511e94e8e9e0abbf492efa660/work/src work_root: /var/lib/zuul/builds/15d499d511e94e8e9e0abbf492efa660/work include_vars: [] items: - branch: main change: '602' change_message: "InstanceHA cliff detection expiry, per-cycle fencing cap, shutdown cleanup, code simplification, doc dedup\n\n \ Production hardening:\r\n - Cliff detection expiry after N consecutive cycles (HEARTBEAT_CLIFF_MAX_CYCLES)\r\n \ - Per-cycle fencing cap (MAX_HOSTS_PER_CYCLE) to prevent cascading failures\r\n - Graceful shutdown cleanup with try/finally in _process_stale_services\r\n - AllServicesStale safety gate for Nova API issues\r\n \r\n Code simplification (no behavioral changes):\r\n - Remove dead CloudConnectionProvider ABC and _get_nova_connection wrapper\r\n - Move stdlib/keystoneauth1/novaclient imports to module level\r\n - Centralize credential sanitization in _emit_k8s_event (auto-sanitize)\r\n - Fix double-thread health check, redundant exception clause, stale guard\r\n \ - Consolidate 7 _cleanup_filtered_hosts calls into single try/finally\r\n - Merge identical KDUMP/HEARTBEAT_CLEANUP_THRESHOLD into UDP_CLEANUP_THRESHOLD\r\n \r\n Documentation:\r\n \ - Deduplicate Prometheus metrics tables (guide.md → summary + cross-ref)\r\n - Add 3 missing metrics to prometheus.md catalog\r\n - Add 3 missing events to architecture.md catalog\r\n \ - Remove stale CloudConnectionProvider docs\r\n - Add bidirectional cross-references across all 5 docs" change_url: https://github.com/openstack-k8s-operators/infra-operator/pull/602 commit_id: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 patchset: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/infra-operator name: openstack-k8s-operators/infra-operator short_name: infra-operator src_dir: src/github.com/openstack-k8s-operators/infra-operator topic: null job: cifmw-crc-podified-edpm-baremetal jobtags: [] max_attempts: 1 message: SW5zdGFuY2VIQSBjbGlmZiBkZXRlY3Rpb24gZXhwaXJ5LCBwZXItY3ljbGUgZmVuY2luZyBjYXAsIHNodXRkb3duIGNsZWFudXAsIGNvZGUgc2ltcGxpZmljYXRpb24sIGRvYyBkZWR1cAoKICAgIFByb2R1Y3Rpb24gaGFyZGVuaW5nOg0KICAgIC0gQ2xpZmYgZGV0ZWN0aW9uIGV4cGlyeSBhZnRlciBOIGNvbnNlY3V0aXZlIGN5Y2xlcyAoSEVBUlRCRUFUX0NMSUZGX01BWF9DWUNMRVMpDQogICAgLSBQZXItY3ljbGUgZmVuY2luZyBjYXAgKE1BWF9IT1NUU19QRVJfQ1lDTEUpIHRvIHByZXZlbnQgY2FzY2FkaW5nIGZhaWx1cmVzDQogICAgLSBHcmFjZWZ1bCBzaHV0ZG93biBjbGVhbnVwIHdpdGggdHJ5L2ZpbmFsbHkgaW4gX3Byb2Nlc3Nfc3RhbGVfc2VydmljZXMNCiAgICAtIEFsbFNlcnZpY2VzU3RhbGUgc2FmZXR5IGdhdGUgZm9yIE5vdmEgQVBJIGlzc3Vlcw0KICAgIA0KICAgIENvZGUgc2ltcGxpZmljYXRpb24gKG5vIGJlaGF2aW9yYWwgY2hhbmdlcyk6DQogICAgLSBSZW1vdmUgZGVhZCBDbG91ZENvbm5lY3Rpb25Qcm92aWRlciBBQkMgYW5kIF9nZXRfbm92YV9jb25uZWN0aW9uIHdyYXBwZXINCiAgICAtIE1vdmUgc3RkbGliL2tleXN0b25lYXV0aDEvbm92YWNsaWVudCBpbXBvcnRzIHRvIG1vZHVsZSBsZXZlbA0KICAgIC0gQ2VudHJhbGl6ZSBjcmVkZW50aWFsIHNhbml0aXphdGlvbiBpbiBfZW1pdF9rOHNfZXZlbnQgKGF1dG8tc2FuaXRpemUpDQogICAgLSBGaXggZG91YmxlLXRocmVhZCBoZWFsdGggY2hlY2ssIHJlZHVuZGFudCBleGNlcHRpb24gY2xhdXNlLCBzdGFsZSBndWFyZA0KICAgIC0gQ29uc29saWRhdGUgNyBfY2xlYW51cF9maWx0ZXJlZF9ob3N0cyBjYWxscyBpbnRvIHNpbmdsZSB0cnkvZmluYWxseQ0KICAgIC0gTWVyZ2UgaWRlbnRpY2FsIEtEVU1QL0hFQVJUQkVBVF9DTEVBTlVQX1RIUkVTSE9MRCBpbnRvIFVEUF9DTEVBTlVQX1RIUkVTSE9MRA0KICAgIA0KICAgIERvY3VtZW50YXRpb246DQogICAgLSBEZWR1cGxpY2F0ZSBQcm9tZXRoZXVzIG1ldHJpY3MgdGFibGVzIChndWlkZS5tZCDihpIgc3VtbWFyeSArIGNyb3NzLXJlZikNCiAgICAtIEFkZCAzIG1pc3NpbmcgbWV0cmljcyB0byBwcm9tZXRoZXVzLm1kIGNhdGFsb2cNCiAgICAtIEFkZCAzIG1pc3NpbmcgZXZlbnRzIHRvIGFyY2hpdGVjdHVyZS5tZCBjYXRhbG9nDQogICAgLSBSZW1vdmUgc3RhbGUgQ2xvdWRDb25uZWN0aW9uUHJvdmlkZXIgZG9jcw0KICAgIC0gQWRkIGJpZGlyZWN0aW9uYWwgY3Jvc3MtcmVmZXJlbmNlcyBhY3Jvc3MgYWxsIDUgZG9jcw== patchset: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 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_deployment/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 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/infra-operator name: openstack-k8s-operators/infra-operator short_name: infra-operator src_dir: src/github.com/openstack-k8s-operators/infra-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: 32aba2be6cc0708aa194c379b7113fd1b1127184 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: a34fdab1876627630e7a9a106360de38a6fb53cd 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/602/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_deployment/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_is_nested_virt: true cifmw_manage_secrets_pullsecret_content: '{}' cifmw_operator_build_output: operators: infra-operator: git_commit_hash: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 git_src_dir: /home/zuul/src/github.com/openstack-k8s-operators/infra-operator image: 38.102.83.65:5001/openstack-k8s-operators/infra-operator:b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 image_bundle: 38.102.83.65:5001/openstack-k8s-operators/infra-operator-bundle:b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 image_catalog: 38.102.83.65:5001/openstack-k8s-operators/infra-operator-index:b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 openstack-operator: git_commit_hash: a34fdab1876627630e7a9a106360de38a6fb53cd git_src_dir: ~/src/github.com/openstack-k8s-operators/openstack-operator image: 38.102.83.65:5001/openstack-k8s-operators/openstack-operator:a34fdab1876627630e7a9a106360de38a6fb53cd image_bundle: 38.102.83.65:5001/openstack-k8s-operators/openstack-operator-bundle:a34fdab1876627630e7a9a106360de38a6fb53cd image_catalog: 38.102.83.65:5001/openstack-k8s-operators/openstack-operator-index:a34fdab1876627630e7a9a106360de38a6fb53cd cifmw_rhol_crc_binary_folder: /usr/local/bin content_provider_registry_available: true content_provider_registry_ip: 38.102.83.65 content_provider_registry_ip_port: 38.102.83.65: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: 15d499d511e94e8e9e0abbf492efa660 build_refs: - branch: main change: '602' change_message: "InstanceHA cliff detection expiry, per-cycle fencing cap, shutdown cleanup, code simplification, doc dedup\n\n Production hardening:\r\n - Cliff detection expiry after N consecutive cycles (HEARTBEAT_CLIFF_MAX_CYCLES)\r\n - Per-cycle fencing cap (MAX_HOSTS_PER_CYCLE) to prevent cascading failures\r\n - Graceful shutdown cleanup with try/finally in _process_stale_services\r\n \ - AllServicesStale safety gate for Nova API issues\r\n \r\n \ Code simplification (no behavioral changes):\r\n - Remove dead CloudConnectionProvider ABC and _get_nova_connection wrapper\r\n \ - Move stdlib/keystoneauth1/novaclient imports to module level\r\n \ - Centralize credential sanitization in _emit_k8s_event (auto-sanitize)\r\n \ - Fix double-thread health check, redundant exception clause, stale guard\r\n - Consolidate 7 _cleanup_filtered_hosts calls into single try/finally\r\n - Merge identical KDUMP/HEARTBEAT_CLEANUP_THRESHOLD into UDP_CLEANUP_THRESHOLD\r\n \r\n Documentation:\r\n - Deduplicate Prometheus metrics tables (guide.md → summary + cross-ref)\r\n \ - Add 3 missing metrics to prometheus.md catalog\r\n - Add 3 missing events to architecture.md catalog\r\n - Remove stale CloudConnectionProvider docs\r\n - Add bidirectional cross-references across all 5 docs" change_url: https://github.com/openstack-k8s-operators/infra-operator/pull/602 commit_id: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 patchset: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/infra-operator name: openstack-k8s-operators/infra-operator short_name: infra-operator src_dir: src/github.com/openstack-k8s-operators/infra-operator src_dir: src/github.com/openstack-k8s-operators/infra-operator topic: null buildset: 5d3c328085204b62b0a70d3f08e4c518 buildset_refs: - branch: main change: '602' change_message: "InstanceHA cliff detection expiry, per-cycle fencing cap, shutdown cleanup, code simplification, doc dedup\n\n Production hardening:\r\n - Cliff detection expiry after N consecutive cycles (HEARTBEAT_CLIFF_MAX_CYCLES)\r\n - Per-cycle fencing cap (MAX_HOSTS_PER_CYCLE) to prevent cascading failures\r\n - Graceful shutdown cleanup with try/finally in _process_stale_services\r\n \ - AllServicesStale safety gate for Nova API issues\r\n \r\n \ Code simplification (no behavioral changes):\r\n - Remove dead CloudConnectionProvider ABC and _get_nova_connection wrapper\r\n \ - Move stdlib/keystoneauth1/novaclient imports to module level\r\n \ - Centralize credential sanitization in _emit_k8s_event (auto-sanitize)\r\n \ - Fix double-thread health check, redundant exception clause, stale guard\r\n - Consolidate 7 _cleanup_filtered_hosts calls into single try/finally\r\n - Merge identical KDUMP/HEARTBEAT_CLEANUP_THRESHOLD into UDP_CLEANUP_THRESHOLD\r\n \r\n Documentation:\r\n - Deduplicate Prometheus metrics tables (guide.md → summary + cross-ref)\r\n \ - Add 3 missing metrics to prometheus.md catalog\r\n - Add 3 missing events to architecture.md catalog\r\n - Remove stale CloudConnectionProvider docs\r\n - Add bidirectional cross-references across all 5 docs" change_url: https://github.com/openstack-k8s-operators/infra-operator/pull/602 commit_id: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 patchset: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/infra-operator name: openstack-k8s-operators/infra-operator short_name: infra-operator src_dir: src/github.com/openstack-k8s-operators/infra-operator src_dir: src/github.com/openstack-k8s-operators/infra-operator topic: null change: '602' change_message: "InstanceHA cliff detection expiry, per-cycle fencing cap, shutdown cleanup, code simplification, doc dedup\n\n Production hardening:\r\n - Cliff detection expiry after N consecutive cycles (HEARTBEAT_CLIFF_MAX_CYCLES)\r\n - Per-cycle fencing cap (MAX_HOSTS_PER_CYCLE) to prevent cascading failures\r\n - Graceful shutdown cleanup with try/finally in _process_stale_services\r\n - AllServicesStale safety gate for Nova API issues\r\n \r\n Code simplification (no behavioral changes):\r\n - Remove dead CloudConnectionProvider ABC and _get_nova_connection wrapper\r\n - Move stdlib/keystoneauth1/novaclient imports to module level\r\n - Centralize credential sanitization in _emit_k8s_event (auto-sanitize)\r\n - Fix double-thread health check, redundant exception clause, stale guard\r\n - Consolidate 7 _cleanup_filtered_hosts calls into single try/finally\r\n - Merge identical KDUMP/HEARTBEAT_CLEANUP_THRESHOLD into UDP_CLEANUP_THRESHOLD\r\n \r\n Documentation:\r\n - Deduplicate Prometheus metrics tables (guide.md → summary + cross-ref)\r\n \ - Add 3 missing metrics to prometheus.md catalog\r\n - Add 3 missing events to architecture.md catalog\r\n - Remove stale CloudConnectionProvider docs\r\n - Add bidirectional cross-references across all 5 docs" change_url: https://github.com/openstack-k8s-operators/infra-operator/pull/602 child_jobs: [] commit_id: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 event_id: 7de25ee0-672e-11f1-8a0f-bec55a77e134 executor: hostname: 38.102.83.51 inventory_file: /var/lib/zuul/builds/15d499d511e94e8e9e0abbf492efa660/ansible/inventory.yaml log_root: /var/lib/zuul/builds/15d499d511e94e8e9e0abbf492efa660/work/logs result_data_file: /var/lib/zuul/builds/15d499d511e94e8e9e0abbf492efa660/work/results.json src_root: /var/lib/zuul/builds/15d499d511e94e8e9e0abbf492efa660/work/src work_root: /var/lib/zuul/builds/15d499d511e94e8e9e0abbf492efa660/work include_vars: [] items: - branch: main change: '602' change_message: "InstanceHA cliff detection expiry, per-cycle fencing cap, shutdown cleanup, code simplification, doc dedup\n\n Production hardening:\r\n - Cliff detection expiry after N consecutive cycles (HEARTBEAT_CLIFF_MAX_CYCLES)\r\n - Per-cycle fencing cap (MAX_HOSTS_PER_CYCLE) to prevent cascading failures\r\n - Graceful shutdown cleanup with try/finally in _process_stale_services\r\n \ - AllServicesStale safety gate for Nova API issues\r\n \r\n \ Code simplification (no behavioral changes):\r\n - Remove dead CloudConnectionProvider ABC and _get_nova_connection wrapper\r\n \ - Move stdlib/keystoneauth1/novaclient imports to module level\r\n \ - Centralize credential sanitization in _emit_k8s_event (auto-sanitize)\r\n \ - Fix double-thread health check, redundant exception clause, stale guard\r\n - Consolidate 7 _cleanup_filtered_hosts calls into single try/finally\r\n - Merge identical KDUMP/HEARTBEAT_CLEANUP_THRESHOLD into UDP_CLEANUP_THRESHOLD\r\n \r\n Documentation:\r\n - Deduplicate Prometheus metrics tables (guide.md → summary + cross-ref)\r\n \ - Add 3 missing metrics to prometheus.md catalog\r\n - Add 3 missing events to architecture.md catalog\r\n - Remove stale CloudConnectionProvider docs\r\n - Add bidirectional cross-references across all 5 docs" change_url: https://github.com/openstack-k8s-operators/infra-operator/pull/602 commit_id: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 patchset: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 project: canonical_hostname: github.com canonical_name: github.com/openstack-k8s-operators/infra-operator name: openstack-k8s-operators/infra-operator short_name: infra-operator src_dir: src/github.com/openstack-k8s-operators/infra-operator topic: null job: cifmw-crc-podified-edpm-baremetal jobtags: [] max_attempts: 1 message: SW5zdGFuY2VIQSBjbGlmZiBkZXRlY3Rpb24gZXhwaXJ5LCBwZXItY3ljbGUgZmVuY2luZyBjYXAsIHNodXRkb3duIGNsZWFudXAsIGNvZGUgc2ltcGxpZmljYXRpb24sIGRvYyBkZWR1cAoKICAgIFByb2R1Y3Rpb24gaGFyZGVuaW5nOg0KICAgIC0gQ2xpZmYgZGV0ZWN0aW9uIGV4cGlyeSBhZnRlciBOIGNvbnNlY3V0aXZlIGN5Y2xlcyAoSEVBUlRCRUFUX0NMSUZGX01BWF9DWUNMRVMpDQogICAgLSBQZXItY3ljbGUgZmVuY2luZyBjYXAgKE1BWF9IT1NUU19QRVJfQ1lDTEUpIHRvIHByZXZlbnQgY2FzY2FkaW5nIGZhaWx1cmVzDQogICAgLSBHcmFjZWZ1bCBzaHV0ZG93biBjbGVhbnVwIHdpdGggdHJ5L2ZpbmFsbHkgaW4gX3Byb2Nlc3Nfc3RhbGVfc2VydmljZXMNCiAgICAtIEFsbFNlcnZpY2VzU3RhbGUgc2FmZXR5IGdhdGUgZm9yIE5vdmEgQVBJIGlzc3Vlcw0KICAgIA0KICAgIENvZGUgc2ltcGxpZmljYXRpb24gKG5vIGJlaGF2aW9yYWwgY2hhbmdlcyk6DQogICAgLSBSZW1vdmUgZGVhZCBDbG91ZENvbm5lY3Rpb25Qcm92aWRlciBBQkMgYW5kIF9nZXRfbm92YV9jb25uZWN0aW9uIHdyYXBwZXINCiAgICAtIE1vdmUgc3RkbGliL2tleXN0b25lYXV0aDEvbm92YWNsaWVudCBpbXBvcnRzIHRvIG1vZHVsZSBsZXZlbA0KICAgIC0gQ2VudHJhbGl6ZSBjcmVkZW50aWFsIHNhbml0aXphdGlvbiBpbiBfZW1pdF9rOHNfZXZlbnQgKGF1dG8tc2FuaXRpemUpDQogICAgLSBGaXggZG91YmxlLXRocmVhZCBoZWFsdGggY2hlY2ssIHJlZHVuZGFudCBleGNlcHRpb24gY2xhdXNlLCBzdGFsZSBndWFyZA0KICAgIC0gQ29uc29saWRhdGUgNyBfY2xlYW51cF9maWx0ZXJlZF9ob3N0cyBjYWxscyBpbnRvIHNpbmdsZSB0cnkvZmluYWxseQ0KICAgIC0gTWVyZ2UgaWRlbnRpY2FsIEtEVU1QL0hFQVJUQkVBVF9DTEVBTlVQX1RIUkVTSE9MRCBpbnRvIFVEUF9DTEVBTlVQX1RIUkVTSE9MRA0KICAgIA0KICAgIERvY3VtZW50YXRpb246DQogICAgLSBEZWR1cGxpY2F0ZSBQcm9tZXRoZXVzIG1ldHJpY3MgdGFibGVzIChndWlkZS5tZCDihpIgc3VtbWFyeSArIGNyb3NzLXJlZikNCiAgICAtIEFkZCAzIG1pc3NpbmcgbWV0cmljcyB0byBwcm9tZXRoZXVzLm1kIGNhdGFsb2cNCiAgICAtIEFkZCAzIG1pc3NpbmcgZXZlbnRzIHRvIGFyY2hpdGVjdHVyZS5tZCBjYXRhbG9nDQogICAgLSBSZW1vdmUgc3RhbGUgQ2xvdWRDb25uZWN0aW9uUHJvdmlkZXIgZG9jcw0KICAgIC0gQWRkIGJpZGlyZWN0aW9uYWwgY3Jvc3MtcmVmZXJlbmNlcyBhY3Jvc3MgYWxsIDUgZG9jcw== patchset: b3244ac560ed3e3b1f4790d7a7a229f5b4698df1 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_deployment/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 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/infra-operator name: openstack-k8s-operators/infra-operator short_name: infra-operator src_dir: src/github.com/openstack-k8s-operators/infra-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: 32aba2be6cc0708aa194c379b7113fd1b1127184 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: a34fdab1876627630e7a9a106360de38a6fb53cd 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/602/head resources: {} tenant: rdoproject.org timeout: 10800 topic: null voting: true zuul_log_collection: true