all:
  children:
    cephs:
      hosts:
        instance: null
    computes:
      hosts:
        instance: null
    controllers:
      hosts:
        instance: null
    zuul_unreachable:
      hosts: {}
  hosts:
    instance:
      ansible_connection: ssh
      ansible_host: 199.19.213.216
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      atmosphere_image_prefix: harbor.atmosphere.dev/
      ceph_conf_overrides:
      - option: mon allow pool size one
        section: global
        value: true
      - option: osd crush chooseleaf type
        section: global
        value: 0
      - option: auth allow insecure global id reclaim
        section: mon
        value: false
      ceph_csi_rbd_helm_values:
        provisioner:
          replicaCount: 1
      ceph_fsid: 4837cbf8-4f90-4300-b3f6-726c9b9f89b4
      ceph_osd_devices:
      - /dev/ceph-{{ inventory_hostname_short }}-osd0/data
      - /dev/ceph-{{ inventory_hostname_short }}-osd1/data
      - /dev/ceph-{{ inventory_hostname_short }}-osd2/data
      cilium_helm_values:
        operator:
          replicas: 1
      cluster_issuer_type: self-signed
      csi_driver: local-path-provisioner
      ingress_nginx_helm_values:
        controller:
          config:
            worker-processes: 2
      keystone_helm_values:
        pod:
          replicas:
            api: 1
      kube_vip_address: 172.17.0.100
      kube_vip_interface: '{{ ansible_facts[''default_ipv4''].interface }}'
      kubernetes_hostname: '{{ ansible_facts[''default_ipv4''].address }}'
      molecule_scenario: keycloak
      nodepool:
        az: nova
        cloud: public
        external_id: dd7c6251-6ee3-471d-a2a2-03923f570e05
        host_id: f373a28d302a4990c6af48a982661c254feecb826df4c059c9d84662
        interface_ip: 199.19.213.216
        label: ubuntu-jammy-16
        node_properties: {}
        private_ipv4: 199.19.213.216
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.19.213.216
        public_ipv6: 2604:e100:1:0:f816:3eff:fe59:bd68
        region: ca-ymq-1
        slot: null
      percona_xtradb_cluster_spec:
        allowUnsafeConfigurations: true
        haproxy:
          size: 1
        pxc:
          size: 1
      valkey_helm_values:
        replica:
          replicaCount: 1
      zuul_node:
        az: nova
        cloud: public
        external_id: dd7c6251-6ee3-471d-a2a2-03923f570e05
        host_id: f373a28d302a4990c6af48a982661c254feecb826df4c059c9d84662
        interface_ip: 199.19.213.216
        label: ubuntu-jammy-16
        node_properties: {}
        private_ipv4: 199.19.213.216
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.19.213.216
        public_ipv6: 2604:e100:1:0:f816:3eff:fe59:bd68
        region: ca-ymq-1
        slot: null
        uuid: null
  vars:
    atmosphere_image_prefix: harbor.atmosphere.dev/
    ceph_conf_overrides:
    - option: mon allow pool size one
      section: global
      value: true
    - option: osd crush chooseleaf type
      section: global
      value: 0
    - option: auth allow insecure global id reclaim
      section: mon
      value: false
    ceph_csi_rbd_helm_values:
      provisioner:
        replicaCount: 1
    ceph_fsid: 4837cbf8-4f90-4300-b3f6-726c9b9f89b4
    ceph_osd_devices:
    - /dev/ceph-{{ inventory_hostname_short }}-osd0/data
    - /dev/ceph-{{ inventory_hostname_short }}-osd1/data
    - /dev/ceph-{{ inventory_hostname_short }}-osd2/data
    cilium_helm_values:
      operator:
        replicas: 1
    cluster_issuer_type: self-signed
    csi_driver: local-path-provisioner
    ingress_nginx_helm_values:
      controller:
        config:
          worker-processes: 2
    keystone_helm_values:
      pod:
        replicas:
          api: 1
    kube_vip_address: 172.17.0.100
    kube_vip_interface: '{{ ansible_facts[''default_ipv4''].interface }}'
    kubernetes_hostname: '{{ ansible_facts[''default_ipv4''].address }}'
    molecule_scenario: keycloak
    percona_xtradb_cluster_spec:
      allowUnsafeConfigurations: true
      haproxy:
        size: 1
      pxc:
        size: 1
    valkey_helm_values:
      replica:
        replicaCount: 1
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/zuul-config/zuul.d/jobs.yaml@main#1>'
      - '<Job molecule explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/zuul-jobs/zuul.d/ansible-jobs.yaml@main#1>'
      - '<Job atmosphere-molecule explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/atmosphere/.zuul.yaml@main#24>'
      - '<Job atmosphere-molecule-keycloak explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/atmosphere/.zuul.yaml@main#273>'
      - '<Job atmosphere-molecule-keycloak explicit: None implied: None source: vexxhost/atmosphere/.zuul.yaml@main#300>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 2ca3dfd59751487aa36bfdd438b68cc3
      build_refs:
      - branch: main
        change: '3784'
        change_message: 'ci(keycloak): migrate keycloak molecule job to Zuul


          ## Summary


          The keycloak molecule job was running on a self-hosted GitHub Actions runner
          (`vexxhost-ubuntu-22.04-4`) that has been unavailable, causing all CI runs
          to be stuck in ''queued'' state indefinitely since March 17, 2026.


          This migrates the keycloak molecule job to Zuul, following the same pattern
          used for AIO and CSI molecule jobs (PR #3671).


          ## Changes


          - **Removed** the `keycloak` job from `.github/workflows/ci.yaml` (no longer
          depends on the unavailable self-hosted runner)

          - **Added** `atmosphere-molecule-keycloak` job to `.zuul.yaml` with appropriate
          single-node resource reduction vars

          - **Added** the new job to both `check` and `gate` pipelines


          ## Impact


          This will unblock all GitHub Actions CI runs that were previously stuck
          waiting for the self-hosted runner. The keycloak molecule test will continue
          to run, but now via Zuul infrastructure.'
        change_url: https://github.com/vexxhost/atmosphere/pull/3784
        commit_id: 8a2ad67f5e9dfe794d1a7398307d86e6aa6897f4
        patchset: 8a2ad67f5e9dfe794d1a7398307d86e6aa6897f4
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/atmosphere
          name: vexxhost/atmosphere
          short_name: atmosphere
          src_dir: src/github.com/vexxhost/atmosphere
        src_dir: src/github.com/vexxhost/atmosphere
        topic: null
      buildset: ccd9291eb8be44d8ae3ea4cb6a42b2f6
      buildset_refs:
      - branch: main
        change: '3784'
        change_message: 'ci(keycloak): migrate keycloak molecule job to Zuul


          ## Summary


          The keycloak molecule job was running on a self-hosted GitHub Actions runner
          (`vexxhost-ubuntu-22.04-4`) that has been unavailable, causing all CI runs
          to be stuck in ''queued'' state indefinitely since March 17, 2026.


          This migrates the keycloak molecule job to Zuul, following the same pattern
          used for AIO and CSI molecule jobs (PR #3671).


          ## Changes


          - **Removed** the `keycloak` job from `.github/workflows/ci.yaml` (no longer
          depends on the unavailable self-hosted runner)

          - **Added** `atmosphere-molecule-keycloak` job to `.zuul.yaml` with appropriate
          single-node resource reduction vars

          - **Added** the new job to both `check` and `gate` pipelines


          ## Impact


          This will unblock all GitHub Actions CI runs that were previously stuck
          waiting for the self-hosted runner. The keycloak molecule test will continue
          to run, but now via Zuul infrastructure.'
        change_url: https://github.com/vexxhost/atmosphere/pull/3784
        commit_id: 8a2ad67f5e9dfe794d1a7398307d86e6aa6897f4
        patchset: 8a2ad67f5e9dfe794d1a7398307d86e6aa6897f4
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/atmosphere
          name: vexxhost/atmosphere
          short_name: atmosphere
          src_dir: src/github.com/vexxhost/atmosphere
        src_dir: src/github.com/vexxhost/atmosphere
        topic: null
      change: '3784'
      change_message: 'ci(keycloak): migrate keycloak molecule job to Zuul


        ## Summary


        The keycloak molecule job was running on a self-hosted GitHub Actions runner
        (`vexxhost-ubuntu-22.04-4`) that has been unavailable, causing all CI runs
        to be stuck in ''queued'' state indefinitely since March 17, 2026.


        This migrates the keycloak molecule job to Zuul, following the same pattern
        used for AIO and CSI molecule jobs (PR #3671).


        ## Changes


        - **Removed** the `keycloak` job from `.github/workflows/ci.yaml` (no longer
        depends on the unavailable self-hosted runner)

        - **Added** `atmosphere-molecule-keycloak` job to `.zuul.yaml` with appropriate
        single-node resource reduction vars

        - **Added** the new job to both `check` and `gate` pipelines


        ## Impact


        This will unblock all GitHub Actions CI runs that were previously stuck waiting
        for the self-hosted runner. The keycloak molecule test will continue to run,
        but now via Zuul infrastructure.'
      change_url: https://github.com/vexxhost/atmosphere/pull/3784
      child_jobs: []
      commit_id: 8a2ad67f5e9dfe794d1a7398307d86e6aa6897f4
      event_id: f974deb0-2de6-11f1-8a12-d5a0911107c8
      executor:
        hostname: 0a8996d2b663
        inventory_file: /var/lib/zuul/builds/2ca3dfd59751487aa36bfdd438b68cc3/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/2ca3dfd59751487aa36bfdd438b68cc3/work/logs
        result_data_file: /var/lib/zuul/builds/2ca3dfd59751487aa36bfdd438b68cc3/work/results.json
        src_root: /var/lib/zuul/builds/2ca3dfd59751487aa36bfdd438b68cc3/work/src
        work_root: /var/lib/zuul/builds/2ca3dfd59751487aa36bfdd438b68cc3/work
      include_vars: []
      items:
      - branch: main
        change: '3784'
        change_message: 'ci(keycloak): migrate keycloak molecule job to Zuul


          ## Summary


          The keycloak molecule job was running on a self-hosted GitHub Actions runner
          (`vexxhost-ubuntu-22.04-4`) that has been unavailable, causing all CI runs
          to be stuck in ''queued'' state indefinitely since March 17, 2026.


          This migrates the keycloak molecule job to Zuul, following the same pattern
          used for AIO and CSI molecule jobs (PR #3671).


          ## Changes


          - **Removed** the `keycloak` job from `.github/workflows/ci.yaml` (no longer
          depends on the unavailable self-hosted runner)

          - **Added** `atmosphere-molecule-keycloak` job to `.zuul.yaml` with appropriate
          single-node resource reduction vars

          - **Added** the new job to both `check` and `gate` pipelines


          ## Impact


          This will unblock all GitHub Actions CI runs that were previously stuck
          waiting for the self-hosted runner. The keycloak molecule test will continue
          to run, but now via Zuul infrastructure.'
        change_url: https://github.com/vexxhost/atmosphere/pull/3784
        commit_id: 8a2ad67f5e9dfe794d1a7398307d86e6aa6897f4
        patchset: 8a2ad67f5e9dfe794d1a7398307d86e6aa6897f4
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/atmosphere
          name: vexxhost/atmosphere
          short_name: atmosphere
          src_dir: src/github.com/vexxhost/atmosphere
        topic: null
      job: atmosphere-molecule-keycloak
      jobtags: []
      max_attempts: 3
      message: Y2koa2V5Y2xvYWspOiBtaWdyYXRlIGtleWNsb2FrIG1vbGVjdWxlIGpvYiB0byBadXVsCgojIyBTdW1tYXJ5CgpUaGUga2V5Y2xvYWsgbW9sZWN1bGUgam9iIHdhcyBydW5uaW5nIG9uIGEgc2VsZi1ob3N0ZWQgR2l0SHViIEFjdGlvbnMgcnVubmVyIChgdmV4eGhvc3QtdWJ1bnR1LTIyLjA0LTRgKSB0aGF0IGhhcyBiZWVuIHVuYXZhaWxhYmxlLCBjYXVzaW5nIGFsbCBDSSBydW5zIHRvIGJlIHN0dWNrIGluICdxdWV1ZWQnIHN0YXRlIGluZGVmaW5pdGVseSBzaW5jZSBNYXJjaCAxNywgMjAyNi4KClRoaXMgbWlncmF0ZXMgdGhlIGtleWNsb2FrIG1vbGVjdWxlIGpvYiB0byBadXVsLCBmb2xsb3dpbmcgdGhlIHNhbWUgcGF0dGVybiB1c2VkIGZvciBBSU8gYW5kIENTSSBtb2xlY3VsZSBqb2JzIChQUiAjMzY3MSkuCgojIyBDaGFuZ2VzCgotICoqUmVtb3ZlZCoqIHRoZSBga2V5Y2xvYWtgIGpvYiBmcm9tIGAuZ2l0aHViL3dvcmtmbG93cy9jaS55YW1sYCAobm8gbG9uZ2VyIGRlcGVuZHMgb24gdGhlIHVuYXZhaWxhYmxlIHNlbGYtaG9zdGVkIHJ1bm5lcikKLSAqKkFkZGVkKiogYGF0bW9zcGhlcmUtbW9sZWN1bGUta2V5Y2xvYWtgIGpvYiB0byBgLnp1dWwueWFtbGAgd2l0aCBhcHByb3ByaWF0ZSBzaW5nbGUtbm9kZSByZXNvdXJjZSByZWR1Y3Rpb24gdmFycwotICoqQWRkZWQqKiB0aGUgbmV3IGpvYiB0byBib3RoIGBjaGVja2AgYW5kIGBnYXRlYCBwaXBlbGluZXMKCiMjIEltcGFjdAoKVGhpcyB3aWxsIHVuYmxvY2sgYWxsIEdpdEh1YiBBY3Rpb25zIENJIHJ1bnMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgc3R1Y2sgd2FpdGluZyBmb3IgdGhlIHNlbGYtaG9zdGVkIHJ1bm5lci4gVGhlIGtleWNsb2FrIG1vbGVjdWxlIHRlc3Qgd2lsbCBjb250aW51ZSB0byBydW4sIGJ1dCBub3cgdmlhIFp1dWwgaW5mcmFzdHJ1Y3R1cmUu
      patchset: 8a2ad67f5e9dfe794d1a7398307d86e6aa6897f4
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 9052b5a7781b3346e4cffd452a54448cbff54d8b
          trusted/project_1/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: c75fe6ef19c05b98349573c971950c51bbf24758
          trusted/project_2/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: a6e68243e02ef030ce5e75f8b67630880c475f33
          untrusted/project_0/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: a6e68243e02ef030ce5e75f8b67630880c475f33
          untrusted/project_1/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 9052b5a7781b3346e4cffd452a54448cbff54d8b
          untrusted/project_2/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: c75fe6ef19c05b98349573c971950c51bbf24758
          untrusted/project_3/github.com/vexxhost/atmosphere:
            canonical_name: github.com/vexxhost/atmosphere
            checkout: main
            commit: 8a2ad67f5e9dfe794d1a7398307d86e6aa6897f4
          untrusted/project_4/opendev.org/openstack/openstack-helm:
            canonical_name: opendev.org/openstack/openstack-helm
            checkout: master
            commit: 8fa7e4be34f224fc3a9e780f803195a2b7a22e39
        playbooks:
        - path: untrusted/project_0/github.com/vexxhost/zuul-jobs/playbooks/molecule/run.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_1/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/playbook_0/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_2/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/playbook_0/role_2/zuul-jobs/roles
        post_playbooks:
        - path: untrusted/project_3/github.com/vexxhost/atmosphere/test-playbooks/molecule/post.yml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/post_playbook_0/role_0/atmosphere
            link_target: untrusted/project_3/github.com/vexxhost/atmosphere
            role_path: ansible/post_playbook_0/role_0/atmosphere/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_0/role_1/openstack-helm
            link_target: untrusted/project_4/opendev.org/openstack/openstack-helm
            role_path: ansible/post_playbook_0/role_1/openstack-helm/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_0/role_3/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_0/role_3/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_0/role_4/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_0/role_4/zuul-jobs/roles
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/post.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_1/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_1/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_1/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_1/role_2/zuul-jobs/roles
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/post-logs.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_2/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_2/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_2/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_2/role_2/zuul-jobs/roles
        pre_playbooks:
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/pre.yaml
          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: main
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_0/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_0/role_2/zuul-jobs/roles
        - path: untrusted/project_0/github.com/vexxhost/zuul-jobs/playbooks/molecule/pre.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_1/role_1/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_1/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_1/role_2/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_1/role_2/zuul-jobs/roles
        - path: untrusted/project_3/github.com/vexxhost/atmosphere/test-playbooks/molecule/pre.yml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_2/role_0/atmosphere
            link_target: untrusted/project_3/github.com/vexxhost/atmosphere
            role_path: ansible/pre_playbook_2/role_0/atmosphere/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_2/role_1/openstack-helm
            link_target: untrusted/project_4/opendev.org/openstack/openstack-helm
            role_path: ansible/pre_playbook_2/role_1/openstack-helm/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_2/role_3/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_2/role_3/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_2/role_4/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_2/role_4/zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/vexxhost/atmosphere
        name: vexxhost/atmosphere
        short_name: atmosphere
        src_dir: src/github.com/vexxhost/atmosphere
      projects:
        github.com/vexxhost/atmosphere:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/atmosphere
          checkout: main
          checkout_description: zuul branch
          commit: 8a2ad67f5e9dfe794d1a7398307d86e6aa6897f4
          name: vexxhost/atmosphere
          required: false
          short_name: atmosphere
          src_dir: src/github.com/vexxhost/atmosphere
      ref: refs/pull/3784/head
      resources: {}
      tenant: oss
      timeout: 7200
      topic: null
      voting: true
