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.10
      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
      csi_driver: local-path-provisioner
      kube_vip_address: 172.17.0.100
      kube_vip_interface: '{{ ansible_facts[''default_ipv4''].interface }}'
      kubernetes_hostname: '{{ ansible_facts[''default_ipv4''].address }}'
      molecule_scenario: csi
      nodepool:
        az: nova
        cloud: public
        external_id: 6da1915c-dedf-49a5-9963-40264037601e
        host_id: f5d41c99f3f50a7a02e8c9e081443c73166af207792dcb8ee7f694ca
        interface_ip: 199.19.213.10
        label: ubuntu-jammy
        node_properties: {}
        private_ipv4: 199.19.213.10
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.19.213.10
        public_ipv6: 2604:e100:1:0:f816:3eff:fe0c:c53e
        region: ca-ymq-1
        slot: null
      zuul_node:
        az: nova
        cloud: public
        external_id: 6da1915c-dedf-49a5-9963-40264037601e
        host_id: f5d41c99f3f50a7a02e8c9e081443c73166af207792dcb8ee7f694ca
        interface_ip: 199.19.213.10
        label: ubuntu-jammy
        node_properties: {}
        private_ipv4: 199.19.213.10
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.19.213.10
        public_ipv6: 2604:e100:1:0:f816:3eff:fe0c:c53e
        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
    csi_driver: local-path-provisioner
    kube_vip_address: 172.17.0.100
    kube_vip_interface: '{{ ansible_facts[''default_ipv4''].interface }}'
    kubernetes_hostname: '{{ ansible_facts[''default_ipv4''].address }}'
    molecule_scenario: csi
    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-csi explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/atmosphere/.zuul.yaml@main#60>'
      - '<Job atmosphere-molecule-csi-local-path-provisioner explicit: None implied:
        {MatchAny:{ImpliedBranchMatcher:main}} source: vexxhost/atmosphere/.zuul.yaml@main#67>'
      - '<Job atmosphere-molecule-csi-local-path-provisioner explicit: None implied:
        None source: vexxhost/atmosphere/.zuul.yaml@main#295>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 09512d4b88484ebab059312099365ee4
      build_refs:
      - branch: main
        change: '3836'
        change_message: "fix(monitoring): deduplicate active neutron l3 agents\n\nWe
          are getting a false alert NeutronRouterMultipleActiveL3Agents, and upon
          discovery, it appears we are getting metrics from two sources, `openstack-exporter`
          and `monitoring/openstack-database-exporter`:\r\n```\r\nopenstack_neutron_l3_agent_of_router{agent_admin_up=\"true\",
          agent_alive=\"true\", agent_host=\"use1-prod1-os-comp-b-4\", container=\"openstack-exporter\",
          endpoint=\"metrics\", ha_state=\"active\", instance=\"default\", job=\"openstack-exporter\",
          l3_agent_id=\"ad147141-bfc7-4ac6-999d-d34c0fbf4425\", namespace=\"openstack\",
          pod=\"openstack-exporter-789fdfc64c-vgdk8\", router_id=\"18df5243-397c-426d-a11a-64eafe960575\",
          service=\"openstack-exporter\"}\r\n```\r\n```\r\nopenstack_neutron_l3_agent_of_router{agent_admin_up=\"true\",
          agent_alive=\"true\", agent_host=\"use1-prod1-os-comp-b-4\", ha_state=\"active\",
          instance=\"openstack-database-exporter-7b94cc5bd5-hlthk\", job=\"monitoring/openstack-database-exporter\",
          l3_agent_id=\"ad147141-bfc7-4ac6-999d-d34c0fbf4425\", router_id=\"18df5243-397c-426d-a11a-64eafe960575\"}\r\n```\r\n\r\nwhich
          gives us `2 > 1` and fires the alert.\r\n\r\nThe previous expression summed
          all openstack_neutron_l3_agent_of_router{ha_state=\"active\"} series by
          router_id, which could overcount duplicate samples for the same l3_agent_id
          and trigger false positives. This change deduplicates per (router_id, l3_agent_id)
          first, then counts active agents per router."
        change_url: https://github.com/vexxhost/atmosphere/pull/3836
        commit_id: 9898b1c2e16cbed9b6fb3c6ff5dd5b114d393e96
        patchset: 9898b1c2e16cbed9b6fb3c6ff5dd5b114d393e96
        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: 28e5d7af4782469d8e591d0c3ccafd6c
      buildset_refs:
      - branch: main
        change: '3836'
        change_message: "fix(monitoring): deduplicate active neutron l3 agents\n\nWe
          are getting a false alert NeutronRouterMultipleActiveL3Agents, and upon
          discovery, it appears we are getting metrics from two sources, `openstack-exporter`
          and `monitoring/openstack-database-exporter`:\r\n```\r\nopenstack_neutron_l3_agent_of_router{agent_admin_up=\"true\",
          agent_alive=\"true\", agent_host=\"use1-prod1-os-comp-b-4\", container=\"openstack-exporter\",
          endpoint=\"metrics\", ha_state=\"active\", instance=\"default\", job=\"openstack-exporter\",
          l3_agent_id=\"ad147141-bfc7-4ac6-999d-d34c0fbf4425\", namespace=\"openstack\",
          pod=\"openstack-exporter-789fdfc64c-vgdk8\", router_id=\"18df5243-397c-426d-a11a-64eafe960575\",
          service=\"openstack-exporter\"}\r\n```\r\n```\r\nopenstack_neutron_l3_agent_of_router{agent_admin_up=\"true\",
          agent_alive=\"true\", agent_host=\"use1-prod1-os-comp-b-4\", ha_state=\"active\",
          instance=\"openstack-database-exporter-7b94cc5bd5-hlthk\", job=\"monitoring/openstack-database-exporter\",
          l3_agent_id=\"ad147141-bfc7-4ac6-999d-d34c0fbf4425\", router_id=\"18df5243-397c-426d-a11a-64eafe960575\"}\r\n```\r\n\r\nwhich
          gives us `2 > 1` and fires the alert.\r\n\r\nThe previous expression summed
          all openstack_neutron_l3_agent_of_router{ha_state=\"active\"} series by
          router_id, which could overcount duplicate samples for the same l3_agent_id
          and trigger false positives. This change deduplicates per (router_id, l3_agent_id)
          first, then counts active agents per router."
        change_url: https://github.com/vexxhost/atmosphere/pull/3836
        commit_id: 9898b1c2e16cbed9b6fb3c6ff5dd5b114d393e96
        patchset: 9898b1c2e16cbed9b6fb3c6ff5dd5b114d393e96
        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: '3836'
      change_message: "fix(monitoring): deduplicate active neutron l3 agents\n\nWe
        are getting a false alert NeutronRouterMultipleActiveL3Agents, and upon discovery,
        it appears we are getting metrics from two sources, `openstack-exporter` and
        `monitoring/openstack-database-exporter`:\r\n```\r\nopenstack_neutron_l3_agent_of_router{agent_admin_up=\"true\",
        agent_alive=\"true\", agent_host=\"use1-prod1-os-comp-b-4\", container=\"openstack-exporter\",
        endpoint=\"metrics\", ha_state=\"active\", instance=\"default\", job=\"openstack-exporter\",
        l3_agent_id=\"ad147141-bfc7-4ac6-999d-d34c0fbf4425\", namespace=\"openstack\",
        pod=\"openstack-exporter-789fdfc64c-vgdk8\", router_id=\"18df5243-397c-426d-a11a-64eafe960575\",
        service=\"openstack-exporter\"}\r\n```\r\n```\r\nopenstack_neutron_l3_agent_of_router{agent_admin_up=\"true\",
        agent_alive=\"true\", agent_host=\"use1-prod1-os-comp-b-4\", ha_state=\"active\",
        instance=\"openstack-database-exporter-7b94cc5bd5-hlthk\", job=\"monitoring/openstack-database-exporter\",
        l3_agent_id=\"ad147141-bfc7-4ac6-999d-d34c0fbf4425\", router_id=\"18df5243-397c-426d-a11a-64eafe960575\"}\r\n```\r\n\r\nwhich
        gives us `2 > 1` and fires the alert.\r\n\r\nThe previous expression summed
        all openstack_neutron_l3_agent_of_router{ha_state=\"active\"} series by router_id,
        which could overcount duplicate samples for the same l3_agent_id and trigger
        false positives. This change deduplicates per (router_id, l3_agent_id) first,
        then counts active agents per router."
      change_url: https://github.com/vexxhost/atmosphere/pull/3836
      child_jobs: []
      commit_id: 9898b1c2e16cbed9b6fb3c6ff5dd5b114d393e96
      event_id: 31fde740-38dc-11f1-8682-3db270097017
      executor:
        hostname: 0a8996d2b663
        inventory_file: /var/lib/zuul/builds/09512d4b88484ebab059312099365ee4/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/09512d4b88484ebab059312099365ee4/work/logs
        result_data_file: /var/lib/zuul/builds/09512d4b88484ebab059312099365ee4/work/results.json
        src_root: /var/lib/zuul/builds/09512d4b88484ebab059312099365ee4/work/src
        work_root: /var/lib/zuul/builds/09512d4b88484ebab059312099365ee4/work
      include_vars: []
      items:
      - branch: main
        change: '3836'
        change_message: "fix(monitoring): deduplicate active neutron l3 agents\n\nWe
          are getting a false alert NeutronRouterMultipleActiveL3Agents, and upon
          discovery, it appears we are getting metrics from two sources, `openstack-exporter`
          and `monitoring/openstack-database-exporter`:\r\n```\r\nopenstack_neutron_l3_agent_of_router{agent_admin_up=\"true\",
          agent_alive=\"true\", agent_host=\"use1-prod1-os-comp-b-4\", container=\"openstack-exporter\",
          endpoint=\"metrics\", ha_state=\"active\", instance=\"default\", job=\"openstack-exporter\",
          l3_agent_id=\"ad147141-bfc7-4ac6-999d-d34c0fbf4425\", namespace=\"openstack\",
          pod=\"openstack-exporter-789fdfc64c-vgdk8\", router_id=\"18df5243-397c-426d-a11a-64eafe960575\",
          service=\"openstack-exporter\"}\r\n```\r\n```\r\nopenstack_neutron_l3_agent_of_router{agent_admin_up=\"true\",
          agent_alive=\"true\", agent_host=\"use1-prod1-os-comp-b-4\", ha_state=\"active\",
          instance=\"openstack-database-exporter-7b94cc5bd5-hlthk\", job=\"monitoring/openstack-database-exporter\",
          l3_agent_id=\"ad147141-bfc7-4ac6-999d-d34c0fbf4425\", router_id=\"18df5243-397c-426d-a11a-64eafe960575\"}\r\n```\r\n\r\nwhich
          gives us `2 > 1` and fires the alert.\r\n\r\nThe previous expression summed
          all openstack_neutron_l3_agent_of_router{ha_state=\"active\"} series by
          router_id, which could overcount duplicate samples for the same l3_agent_id
          and trigger false positives. This change deduplicates per (router_id, l3_agent_id)
          first, then counts active agents per router."
        change_url: https://github.com/vexxhost/atmosphere/pull/3836
        commit_id: 9898b1c2e16cbed9b6fb3c6ff5dd5b114d393e96
        patchset: 9898b1c2e16cbed9b6fb3c6ff5dd5b114d393e96
        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-csi-local-path-provisioner
      jobtags: []
      max_attempts: 3
      message: Zml4KG1vbml0b3JpbmcpOiBkZWR1cGxpY2F0ZSBhY3RpdmUgbmV1dHJvbiBsMyBhZ2VudHMKCldlIGFyZSBnZXR0aW5nIGEgZmFsc2UgYWxlcnQgTmV1dHJvblJvdXRlck11bHRpcGxlQWN0aXZlTDNBZ2VudHMsIGFuZCB1cG9uIGRpc2NvdmVyeSwgaXQgYXBwZWFycyB3ZSBhcmUgZ2V0dGluZyBtZXRyaWNzIGZyb20gdHdvIHNvdXJjZXMsIGBvcGVuc3RhY2stZXhwb3J0ZXJgIGFuZCBgbW9uaXRvcmluZy9vcGVuc3RhY2stZGF0YWJhc2UtZXhwb3J0ZXJgOg0KYGBgDQpvcGVuc3RhY2tfbmV1dHJvbl9sM19hZ2VudF9vZl9yb3V0ZXJ7YWdlbnRfYWRtaW5fdXA9InRydWUiLCBhZ2VudF9hbGl2ZT0idHJ1ZSIsIGFnZW50X2hvc3Q9InVzZTEtcHJvZDEtb3MtY29tcC1iLTQiLCBjb250YWluZXI9Im9wZW5zdGFjay1leHBvcnRlciIsIGVuZHBvaW50PSJtZXRyaWNzIiwgaGFfc3RhdGU9ImFjdGl2ZSIsIGluc3RhbmNlPSJkZWZhdWx0Iiwgam9iPSJvcGVuc3RhY2stZXhwb3J0ZXIiLCBsM19hZ2VudF9pZD0iYWQxNDcxNDEtYmZjNy00YWM2LTk5OWQtZDM0YzBmYmY0NDI1IiwgbmFtZXNwYWNlPSJvcGVuc3RhY2siLCBwb2Q9Im9wZW5zdGFjay1leHBvcnRlci03ODlmZGZjNjRjLXZnZGs4Iiwgcm91dGVyX2lkPSIxOGRmNTI0My0zOTdjLTQyNmQtYTExYS02NGVhZmU5NjA1NzUiLCBzZXJ2aWNlPSJvcGVuc3RhY2stZXhwb3J0ZXIifQ0KYGBgDQpgYGANCm9wZW5zdGFja19uZXV0cm9uX2wzX2FnZW50X29mX3JvdXRlcnthZ2VudF9hZG1pbl91cD0idHJ1ZSIsIGFnZW50X2FsaXZlPSJ0cnVlIiwgYWdlbnRfaG9zdD0idXNlMS1wcm9kMS1vcy1jb21wLWItNCIsIGhhX3N0YXRlPSJhY3RpdmUiLCBpbnN0YW5jZT0ib3BlbnN0YWNrLWRhdGFiYXNlLWV4cG9ydGVyLTdiOTRjYzViZDUtaGx0aGsiLCBqb2I9Im1vbml0b3Jpbmcvb3BlbnN0YWNrLWRhdGFiYXNlLWV4cG9ydGVyIiwgbDNfYWdlbnRfaWQ9ImFkMTQ3MTQxLWJmYzctNGFjNi05OTlkLWQzNGMwZmJmNDQyNSIsIHJvdXRlcl9pZD0iMThkZjUyNDMtMzk3Yy00MjZkLWExMWEtNjRlYWZlOTYwNTc1In0NCmBgYA0KDQp3aGljaCBnaXZlcyB1cyBgMiA+IDFgIGFuZCBmaXJlcyB0aGUgYWxlcnQuDQoNClRoZSBwcmV2aW91cyBleHByZXNzaW9uIHN1bW1lZCBhbGwgb3BlbnN0YWNrX25ldXRyb25fbDNfYWdlbnRfb2Zfcm91dGVye2hhX3N0YXRlPSJhY3RpdmUifSBzZXJpZXMgYnkgcm91dGVyX2lkLCB3aGljaCBjb3VsZCBvdmVyY291bnQgZHVwbGljYXRlIHNhbXBsZXMgZm9yIHRoZSBzYW1lIGwzX2FnZW50X2lkIGFuZCB0cmlnZ2VyIGZhbHNlIHBvc2l0aXZlcy4gVGhpcyBjaGFuZ2UgZGVkdXBsaWNhdGVzIHBlciAocm91dGVyX2lkLCBsM19hZ2VudF9pZCkgZmlyc3QsIHRoZW4gY291bnRzIGFjdGl2ZSBhZ2VudHMgcGVyIHJvdXRlci4=
      patchset: 9898b1c2e16cbed9b6fb3c6ff5dd5b114d393e96
      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: fc4af6d44718d2e648cf6396f3e96bb46a55117a
          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: fc4af6d44718d2e648cf6396f3e96bb46a55117a
          untrusted/project_3/github.com/vexxhost/atmosphere:
            canonical_name: github.com/vexxhost/atmosphere
            checkout: main
            commit: 9898b1c2e16cbed9b6fb3c6ff5dd5b114d393e96
          untrusted/project_4/opendev.org/openstack/openstack-helm:
            canonical_name: opendev.org/openstack/openstack-helm
            checkout: master
            commit: 1ad73cc3ea68948edf2574a6e0f71ff3c90096ef
        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: 9898b1c2e16cbed9b6fb3c6ff5dd5b114d393e96
          name: vexxhost/atmosphere
          required: false
          short_name: atmosphere
          src_dir: src/github.com/vexxhost/atmosphere
      ref: refs/pull/3836/head
      resources: {}
      tenant: oss
      timeout: 1800
      topic: null
      voting: true
