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.204.45.49
      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: 6ff4a362-4eca-4d39-96c9-6cb88005e8dd
        host_id: a1dbe10ed74b13a05675ad3767474cd2ce77af856f337973ad195bac
        interface_ip: 199.204.45.49
        label: ubuntu-jammy
        node_properties: {}
        private_ipv4: 199.204.45.49
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.204.45.49
        public_ipv6: 2604:e100:1:0:f816:3eff:fef5:7c0a
        region: ca-ymq-1
        slot: null
      percona_xtradb_cluster_spec:
        allowUnsafeConfigurations: true
        haproxy:
          size: 1
        pxc:
          size: 1
      zuul_node:
        az: nova
        cloud: public
        external_id: 6ff4a362-4eca-4d39-96c9-6cb88005e8dd
        host_id: a1dbe10ed74b13a05675ad3767474cd2ce77af856f337973ad195bac
        interface_ip: 199.204.45.49
        label: ubuntu-jammy
        node_properties: {}
        private_ipv4: 199.204.45.49
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.204.45.49
        public_ipv6: 2604:e100:1:0:f816:3eff:fef5:7c0a
        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
    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#295>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: e98f4effdfcd4905b75c443ab32ab1a6
      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: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
        patchset: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
        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: dd366e0487a84715a3990c7bec843e8e
      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: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
        patchset: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
        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: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
      event_id: 0f84b940-2e6f-11f1-9219-30e4be0bde13
      executor:
        hostname: 0a8996d2b663
        inventory_file: /var/lib/zuul/builds/e98f4effdfcd4905b75c443ab32ab1a6/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/e98f4effdfcd4905b75c443ab32ab1a6/work/logs
        result_data_file: /var/lib/zuul/builds/e98f4effdfcd4905b75c443ab32ab1a6/work/results.json
        src_root: /var/lib/zuul/builds/e98f4effdfcd4905b75c443ab32ab1a6/work/src
        work_root: /var/lib/zuul/builds/e98f4effdfcd4905b75c443ab32ab1a6/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: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
        patchset: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
        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: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 298983cd1253e6833abdb49d87d912527e0e6597
          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: 298983cd1253e6833abdb49d87d912527e0e6597
          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: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
          untrusted/project_4/opendev.org/openstack/openstack-helm:
            canonical_name: opendev.org/openstack/openstack-helm
            checkout: master
            commit: 876569bbc82f5e36ad53a4280499e4a91169a37b
        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: 6476ca387352d756c2d0f8d0fbaf2b99998b4480
          name: vexxhost/atmosphere
          required: false
          short_name: atmosphere
          src_dir: src/github.com/vexxhost/atmosphere
      ref: refs/pull/3784/head
      resources: {}
      tenant: oss
      timeout: 1800
      topic: null
      voting: true
