all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:feb3:e83c
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: b308957d-31c1-495d-b184-c00ad205c833
        host_id: 82101243836454d7401d5893feae9e2c5df7cc291646d8a99b33b53b
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:feb3:e83c
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.76
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.191
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:feb3:e83c
        region: null
        slot: null
  vars:
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job yamllint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#59>'
      - '<Job yamllint explicit: None implied: None source: osism/defaults/.zuul.yaml@main#2>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 137dcb098b424bc2bb5857f90cb172fb
      build_refs:
      - branch: main
        change: '299'
        change_message: "Default cilium_bgp to false\n\nChange the default of `cilium_bgp`
          from `true` to `false` in `all/099-k3s.yml`.\n\n### The problem\n\nWith
          `cilium_bgp: true` the MetalLB pool is **never deployed**. Both places that
          deploy it in\n`osism/osism-kubernetes` gate it on the same condition:\n\n-
          `roles/k3s_server/tasks/main.yml`\n- `roles/k3s_server_post/tasks/main.yml`\n\n```yaml\nwhen:
          kube_vip_lb_ip_range is not defined and (not cilium_bgp or cilium_iface
          is not defined)\n```\n\n`all/099-interfaces.yml` always defines `cilium_iface`:\n\n```yaml\ncilium_iface:
          \"{{ k3s_interface }}\"\n```\n\nSo with the shipped defaults `cilium_bgp`
          is true and `cilium_iface` is defined, the condition\nis always false, and
          MetalLB is skipped. LoadBalancer addresses are instead announced over\nCilium
          BGP to `cilium_bgp_peer_address`, which defaults to:\n\n```yaml\ncilium_bgp_peer_address:
          \"{{ frr_loopback_v4 | default('127.0.0.1') }}\"\n```\n\n### The consequence\n\nOn
          any deployment without an FRR peer \u2014 which is every deployment that
          has not deliberately\nset one up \u2014 the result is a cluster where **every
          `type=LoadBalancer` service sits in\n`<pending>` indefinitely**, `metal_lb_ip_range`
          is silently ignored, and nothing is logged as\nan error. The cluster otherwise
          looks completely healthy, which makes this expensive to\ndiagnose: the natural
          assumption is a MetalLB problem, but MetalLB was never installed.\n\n###
          Evidence\n\nVerified on a k3s 1.36.3 deployment with no BGP infrastructure.
          With the shipped defaults, no\nMetalLB resources were created. Setting `cilium_bgp:
          false` produced a working MetalLB layer2\nsetup on the next run: the `first-pool`
          IPAddressPool and L2Advertisement appeared, a test\n`type=LoadBalancer`
          service was assigned an address from the configured range, and it answered\nfrom
          on-link and from another subnet.\n\n### Why this default\n\nBGP is an opt-in
          topology that requires infrastructure outside the cluster. Defaulting it
          off\nmeans the shipped configuration works standalone, and turning it on
          becomes an explicit\nchoice that makes the FRR dependency visible. Nothing
          is lost for BGP users beyond setting\none variable.\n\nAn alternative would
          be to keep the default and fail fast in `k3s_server_post` when\n`cilium_bgp`
          is true and no reachable peer is configured. That would also solve the silent\nfailure,
          and is worth considering if the current default is preferred for other reasons
          \u2014\nthe important part is that \"no working LoadBalancer\" should not
          be a silent outcome."
        change_url: https://github.com/osism/defaults/pull/299
        commit_id: 83fe3512b1d491c54832f993ab381073fe21e76f
        patchset: 83fe3512b1d491c54832f993ab381073fe21e76f
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/defaults
          name: osism/defaults
          short_name: defaults
        src_dir: src/github.com/osism/defaults
        topic: null
      buildset: 2a50eae6698d40a2b3597c407cfb707b
      buildset_refs:
      - branch: main
        change: '299'
        change_message: "Default cilium_bgp to false\n\nChange the default of `cilium_bgp`
          from `true` to `false` in `all/099-k3s.yml`.\n\n### The problem\n\nWith
          `cilium_bgp: true` the MetalLB pool is **never deployed**. Both places that
          deploy it in\n`osism/osism-kubernetes` gate it on the same condition:\n\n-
          `roles/k3s_server/tasks/main.yml`\n- `roles/k3s_server_post/tasks/main.yml`\n\n```yaml\nwhen:
          kube_vip_lb_ip_range is not defined and (not cilium_bgp or cilium_iface
          is not defined)\n```\n\n`all/099-interfaces.yml` always defines `cilium_iface`:\n\n```yaml\ncilium_iface:
          \"{{ k3s_interface }}\"\n```\n\nSo with the shipped defaults `cilium_bgp`
          is true and `cilium_iface` is defined, the condition\nis always false, and
          MetalLB is skipped. LoadBalancer addresses are instead announced over\nCilium
          BGP to `cilium_bgp_peer_address`, which defaults to:\n\n```yaml\ncilium_bgp_peer_address:
          \"{{ frr_loopback_v4 | default('127.0.0.1') }}\"\n```\n\n### The consequence\n\nOn
          any deployment without an FRR peer \u2014 which is every deployment that
          has not deliberately\nset one up \u2014 the result is a cluster where **every
          `type=LoadBalancer` service sits in\n`<pending>` indefinitely**, `metal_lb_ip_range`
          is silently ignored, and nothing is logged as\nan error. The cluster otherwise
          looks completely healthy, which makes this expensive to\ndiagnose: the natural
          assumption is a MetalLB problem, but MetalLB was never installed.\n\n###
          Evidence\n\nVerified on a k3s 1.36.3 deployment with no BGP infrastructure.
          With the shipped defaults, no\nMetalLB resources were created. Setting `cilium_bgp:
          false` produced a working MetalLB layer2\nsetup on the next run: the `first-pool`
          IPAddressPool and L2Advertisement appeared, a test\n`type=LoadBalancer`
          service was assigned an address from the configured range, and it answered\nfrom
          on-link and from another subnet.\n\n### Why this default\n\nBGP is an opt-in
          topology that requires infrastructure outside the cluster. Defaulting it
          off\nmeans the shipped configuration works standalone, and turning it on
          becomes an explicit\nchoice that makes the FRR dependency visible. Nothing
          is lost for BGP users beyond setting\none variable.\n\nAn alternative would
          be to keep the default and fail fast in `k3s_server_post` when\n`cilium_bgp`
          is true and no reachable peer is configured. That would also solve the silent\nfailure,
          and is worth considering if the current default is preferred for other reasons
          \u2014\nthe important part is that \"no working LoadBalancer\" should not
          be a silent outcome."
        change_url: https://github.com/osism/defaults/pull/299
        commit_id: 83fe3512b1d491c54832f993ab381073fe21e76f
        patchset: 83fe3512b1d491c54832f993ab381073fe21e76f
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/defaults
          name: osism/defaults
          short_name: defaults
        src_dir: src/github.com/osism/defaults
        topic: null
      change: '299'
      change_message: "Default cilium_bgp to false\n\nChange the default of `cilium_bgp`
        from `true` to `false` in `all/099-k3s.yml`.\n\n### The problem\n\nWith `cilium_bgp:
        true` the MetalLB pool is **never deployed**. Both places that deploy it in\n`osism/osism-kubernetes`
        gate it on the same condition:\n\n- `roles/k3s_server/tasks/main.yml`\n- `roles/k3s_server_post/tasks/main.yml`\n\n```yaml\nwhen:
        kube_vip_lb_ip_range is not defined and (not cilium_bgp or cilium_iface is
        not defined)\n```\n\n`all/099-interfaces.yml` always defines `cilium_iface`:\n\n```yaml\ncilium_iface:
        \"{{ k3s_interface }}\"\n```\n\nSo with the shipped defaults `cilium_bgp`
        is true and `cilium_iface` is defined, the condition\nis always false, and
        MetalLB is skipped. LoadBalancer addresses are instead announced over\nCilium
        BGP to `cilium_bgp_peer_address`, which defaults to:\n\n```yaml\ncilium_bgp_peer_address:
        \"{{ frr_loopback_v4 | default('127.0.0.1') }}\"\n```\n\n### The consequence\n\nOn
        any deployment without an FRR peer \u2014 which is every deployment that has
        not deliberately\nset one up \u2014 the result is a cluster where **every
        `type=LoadBalancer` service sits in\n`<pending>` indefinitely**, `metal_lb_ip_range`
        is silently ignored, and nothing is logged as\nan error. The cluster otherwise
        looks completely healthy, which makes this expensive to\ndiagnose: the natural
        assumption is a MetalLB problem, but MetalLB was never installed.\n\n### Evidence\n\nVerified
        on a k3s 1.36.3 deployment with no BGP infrastructure. With the shipped defaults,
        no\nMetalLB resources were created. Setting `cilium_bgp: false` produced a
        working MetalLB layer2\nsetup on the next run: the `first-pool` IPAddressPool
        and L2Advertisement appeared, a test\n`type=LoadBalancer` service was assigned
        an address from the configured range, and it answered\nfrom on-link and from
        another subnet.\n\n### Why this default\n\nBGP is an opt-in topology that
        requires infrastructure outside the cluster. Defaulting it off\nmeans the
        shipped configuration works standalone, and turning it on becomes an explicit\nchoice
        that makes the FRR dependency visible. Nothing is lost for BGP users beyond
        setting\none variable.\n\nAn alternative would be to keep the default and
        fail fast in `k3s_server_post` when\n`cilium_bgp` is true and no reachable
        peer is configured. That would also solve the silent\nfailure, and is worth
        considering if the current default is preferred for other reasons \u2014\nthe
        important part is that \"no working LoadBalancer\" should not be a silent
        outcome."
      change_url: https://github.com/osism/defaults/pull/299
      child_jobs: []
      commit_id: 83fe3512b1d491c54832f993ab381073fe21e76f
      event_id: cf1f9550-954d-11f1-89e7-62f54075bf64
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/137dcb098b424bc2bb5857f90cb172fb/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/137dcb098b424bc2bb5857f90cb172fb/work/logs
        result_data_file: /var/lib/zuul/builds/137dcb098b424bc2bb5857f90cb172fb/work/results.json
        src_root: /var/lib/zuul/builds/137dcb098b424bc2bb5857f90cb172fb/work/src
        work_root: /var/lib/zuul/builds/137dcb098b424bc2bb5857f90cb172fb/work
      include_vars: []
      items:
      - branch: main
        change: '299'
        change_message: "Default cilium_bgp to false\n\nChange the default of `cilium_bgp`
          from `true` to `false` in `all/099-k3s.yml`.\n\n### The problem\n\nWith
          `cilium_bgp: true` the MetalLB pool is **never deployed**. Both places that
          deploy it in\n`osism/osism-kubernetes` gate it on the same condition:\n\n-
          `roles/k3s_server/tasks/main.yml`\n- `roles/k3s_server_post/tasks/main.yml`\n\n```yaml\nwhen:
          kube_vip_lb_ip_range is not defined and (not cilium_bgp or cilium_iface
          is not defined)\n```\n\n`all/099-interfaces.yml` always defines `cilium_iface`:\n\n```yaml\ncilium_iface:
          \"{{ k3s_interface }}\"\n```\n\nSo with the shipped defaults `cilium_bgp`
          is true and `cilium_iface` is defined, the condition\nis always false, and
          MetalLB is skipped. LoadBalancer addresses are instead announced over\nCilium
          BGP to `cilium_bgp_peer_address`, which defaults to:\n\n```yaml\ncilium_bgp_peer_address:
          \"{{ frr_loopback_v4 | default('127.0.0.1') }}\"\n```\n\n### The consequence\n\nOn
          any deployment without an FRR peer \u2014 which is every deployment that
          has not deliberately\nset one up \u2014 the result is a cluster where **every
          `type=LoadBalancer` service sits in\n`<pending>` indefinitely**, `metal_lb_ip_range`
          is silently ignored, and nothing is logged as\nan error. The cluster otherwise
          looks completely healthy, which makes this expensive to\ndiagnose: the natural
          assumption is a MetalLB problem, but MetalLB was never installed.\n\n###
          Evidence\n\nVerified on a k3s 1.36.3 deployment with no BGP infrastructure.
          With the shipped defaults, no\nMetalLB resources were created. Setting `cilium_bgp:
          false` produced a working MetalLB layer2\nsetup on the next run: the `first-pool`
          IPAddressPool and L2Advertisement appeared, a test\n`type=LoadBalancer`
          service was assigned an address from the configured range, and it answered\nfrom
          on-link and from another subnet.\n\n### Why this default\n\nBGP is an opt-in
          topology that requires infrastructure outside the cluster. Defaulting it
          off\nmeans the shipped configuration works standalone, and turning it on
          becomes an explicit\nchoice that makes the FRR dependency visible. Nothing
          is lost for BGP users beyond setting\none variable.\n\nAn alternative would
          be to keep the default and fail fast in `k3s_server_post` when\n`cilium_bgp`
          is true and no reachable peer is configured. That would also solve the silent\nfailure,
          and is worth considering if the current default is preferred for other reasons
          \u2014\nthe important part is that \"no working LoadBalancer\" should not
          be a silent outcome."
        change_url: https://github.com/osism/defaults/pull/299
        commit_id: 83fe3512b1d491c54832f993ab381073fe21e76f
        patchset: 83fe3512b1d491c54832f993ab381073fe21e76f
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/defaults
          name: osism/defaults
          short_name: defaults
          src_dir: src/github.com/osism/defaults
        topic: null
      job: yamllint
      jobtags: []
      max_attempts: 3
      message: RGVmYXVsdCBjaWxpdW1fYmdwIHRvIGZhbHNlCgpDaGFuZ2UgdGhlIGRlZmF1bHQgb2YgYGNpbGl1bV9iZ3BgIGZyb20gYHRydWVgIHRvIGBmYWxzZWAgaW4gYGFsbC8wOTktazNzLnltbGAuCgojIyMgVGhlIHByb2JsZW0KCldpdGggYGNpbGl1bV9iZ3A6IHRydWVgIHRoZSBNZXRhbExCIHBvb2wgaXMgKipuZXZlciBkZXBsb3llZCoqLiBCb3RoIHBsYWNlcyB0aGF0IGRlcGxveSBpdCBpbgpgb3Npc20vb3Npc20ta3ViZXJuZXRlc2AgZ2F0ZSBpdCBvbiB0aGUgc2FtZSBjb25kaXRpb246CgotIGByb2xlcy9rM3Nfc2VydmVyL3Rhc2tzL21haW4ueW1sYAotIGByb2xlcy9rM3Nfc2VydmVyX3Bvc3QvdGFza3MvbWFpbi55bWxgCgpgYGB5YW1sCndoZW46IGt1YmVfdmlwX2xiX2lwX3JhbmdlIGlzIG5vdCBkZWZpbmVkIGFuZCAobm90IGNpbGl1bV9iZ3Agb3IgY2lsaXVtX2lmYWNlIGlzIG5vdCBkZWZpbmVkKQpgYGAKCmBhbGwvMDk5LWludGVyZmFjZXMueW1sYCBhbHdheXMgZGVmaW5lcyBgY2lsaXVtX2lmYWNlYDoKCmBgYHlhbWwKY2lsaXVtX2lmYWNlOiAie3sgazNzX2ludGVyZmFjZSB9fSIKYGBgCgpTbyB3aXRoIHRoZSBzaGlwcGVkIGRlZmF1bHRzIGBjaWxpdW1fYmdwYCBpcyB0cnVlIGFuZCBgY2lsaXVtX2lmYWNlYCBpcyBkZWZpbmVkLCB0aGUgY29uZGl0aW9uCmlzIGFsd2F5cyBmYWxzZSwgYW5kIE1ldGFsTEIgaXMgc2tpcHBlZC4gTG9hZEJhbGFuY2VyIGFkZHJlc3NlcyBhcmUgaW5zdGVhZCBhbm5vdW5jZWQgb3ZlcgpDaWxpdW0gQkdQIHRvIGBjaWxpdW1fYmdwX3BlZXJfYWRkcmVzc2AsIHdoaWNoIGRlZmF1bHRzIHRvOgoKYGBgeWFtbApjaWxpdW1fYmdwX3BlZXJfYWRkcmVzczogInt7IGZycl9sb29wYmFja192NCB8IGRlZmF1bHQoJzEyNy4wLjAuMScpIH19IgpgYGAKCiMjIyBUaGUgY29uc2VxdWVuY2UKCk9uIGFueSBkZXBsb3ltZW50IHdpdGhvdXQgYW4gRlJSIHBlZXIg4oCUIHdoaWNoIGlzIGV2ZXJ5IGRlcGxveW1lbnQgdGhhdCBoYXMgbm90IGRlbGliZXJhdGVseQpzZXQgb25lIHVwIOKAlCB0aGUgcmVzdWx0IGlzIGEgY2x1c3RlciB3aGVyZSAqKmV2ZXJ5IGB0eXBlPUxvYWRCYWxhbmNlcmAgc2VydmljZSBzaXRzIGluCmA8cGVuZGluZz5gIGluZGVmaW5pdGVseSoqLCBgbWV0YWxfbGJfaXBfcmFuZ2VgIGlzIHNpbGVudGx5IGlnbm9yZWQsIGFuZCBub3RoaW5nIGlzIGxvZ2dlZCBhcwphbiBlcnJvci4gVGhlIGNsdXN0ZXIgb3RoZXJ3aXNlIGxvb2tzIGNvbXBsZXRlbHkgaGVhbHRoeSwgd2hpY2ggbWFrZXMgdGhpcyBleHBlbnNpdmUgdG8KZGlhZ25vc2U6IHRoZSBuYXR1cmFsIGFzc3VtcHRpb24gaXMgYSBNZXRhbExCIHByb2JsZW0sIGJ1dCBNZXRhbExCIHdhcyBuZXZlciBpbnN0YWxsZWQuCgojIyMgRXZpZGVuY2UKClZlcmlmaWVkIG9uIGEgazNzIDEuMzYuMyBkZXBsb3ltZW50IHdpdGggbm8gQkdQIGluZnJhc3RydWN0dXJlLiBXaXRoIHRoZSBzaGlwcGVkIGRlZmF1bHRzLCBubwpNZXRhbExCIHJlc291cmNlcyB3ZXJlIGNyZWF0ZWQuIFNldHRpbmcgYGNpbGl1bV9iZ3A6IGZhbHNlYCBwcm9kdWNlZCBhIHdvcmtpbmcgTWV0YWxMQiBsYXllcjIKc2V0dXAgb24gdGhlIG5leHQgcnVuOiB0aGUgYGZpcnN0LXBvb2xgIElQQWRkcmVzc1Bvb2wgYW5kIEwyQWR2ZXJ0aXNlbWVudCBhcHBlYXJlZCwgYSB0ZXN0CmB0eXBlPUxvYWRCYWxhbmNlcmAgc2VydmljZSB3YXMgYXNzaWduZWQgYW4gYWRkcmVzcyBmcm9tIHRoZSBjb25maWd1cmVkIHJhbmdlLCBhbmQgaXQgYW5zd2VyZWQKZnJvbSBvbi1saW5rIGFuZCBmcm9tIGFub3RoZXIgc3VibmV0LgoKIyMjIFdoeSB0aGlzIGRlZmF1bHQKCkJHUCBpcyBhbiBvcHQtaW4gdG9wb2xvZ3kgdGhhdCByZXF1aXJlcyBpbmZyYXN0cnVjdHVyZSBvdXRzaWRlIHRoZSBjbHVzdGVyLiBEZWZhdWx0aW5nIGl0IG9mZgptZWFucyB0aGUgc2hpcHBlZCBjb25maWd1cmF0aW9uIHdvcmtzIHN0YW5kYWxvbmUsIGFuZCB0dXJuaW5nIGl0IG9uIGJlY29tZXMgYW4gZXhwbGljaXQKY2hvaWNlIHRoYXQgbWFrZXMgdGhlIEZSUiBkZXBlbmRlbmN5IHZpc2libGUuIE5vdGhpbmcgaXMgbG9zdCBmb3IgQkdQIHVzZXJzIGJleW9uZCBzZXR0aW5nCm9uZSB2YXJpYWJsZS4KCkFuIGFsdGVybmF0aXZlIHdvdWxkIGJlIHRvIGtlZXAgdGhlIGRlZmF1bHQgYW5kIGZhaWwgZmFzdCBpbiBgazNzX3NlcnZlcl9wb3N0YCB3aGVuCmBjaWxpdW1fYmdwYCBpcyB0cnVlIGFuZCBubyByZWFjaGFibGUgcGVlciBpcyBjb25maWd1cmVkLiBUaGF0IHdvdWxkIGFsc28gc29sdmUgdGhlIHNpbGVudApmYWlsdXJlLCBhbmQgaXMgd29ydGggY29uc2lkZXJpbmcgaWYgdGhlIGN1cnJlbnQgZGVmYXVsdCBpcyBwcmVmZXJyZWQgZm9yIG90aGVyIHJlYXNvbnMg4oCUCnRoZSBpbXBvcnRhbnQgcGFydCBpcyB0aGF0ICJubyB3b3JraW5nIExvYWRCYWxhbmNlciIgc2hvdWxkIG5vdCBiZSBhIHNpbGVudCBvdXRjb21lLg==
      patchset: 83fe3512b1d491c54832f993ab381073fe21e76f
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 71b711c422c10c242a8f785dc6d41ed9d12e9cd3
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 242732586e2cba04d04867d3e302888c766bc231
          trusted/project_2/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: b7c70f39598a39998dbbc6f833779355630f3a39
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: b7c70f39598a39998dbbc6f833779355630f3a39
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 71b711c422c10c242a8f785dc6d41ed9d12e9cd3
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 242732586e2cba04d04867d3e302888c766bc231
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/yamllint/run.yaml
          roles:
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_0/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_0/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_1/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_1/openinfra-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/osism/zuul-jobs
            role_path: ansible/playbook_0/role_2/zuul-jobs/roles
      post_review: false
      post_timeout: 1800
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/defaults
        name: osism/defaults
        short_name: defaults
        src_dir: src/github.com/osism/defaults
      projects:
        github.com/osism/defaults:
          canonical_hostname: github.com
          canonical_name: github.com/osism/defaults
          checkout: main
          checkout_description: zuul branch
          commit: a269e689c54cfc785f150b9ac7895c55e8ac84ec
          name: osism/defaults
          required: false
          short_name: defaults
          src_dir: src/github.com/osism/defaults
      ref: refs/pull/299/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
