all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:feb7:e669
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 7ae6b6f7-cebe-43f3-b6f5-c2662e082dd1
        host_id: 5afd8fc909abddfe2ce3a956a91bbe56629648b7209fd0acfa541862
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:feb7:e669
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.153
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.97
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:feb7:e669
        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 ansible-lint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#7>'
      - '<Job ansible-lint explicit: None implied: None source: osism/container-image-kolla-ansible/.zuul.yaml@main#139>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 12668b62913f4bd291f5b46782fcd200
      build_refs:
      - branch: main
        change: '907'
        change_message: "designate: reject empty TSIG secrets (LP#1933760)\n\n## Problem\n\nThe
          OSISM kolla-ansible Designate template does not set\n`allow_empty_secrets_for_tsig`
          in `[service:api]`. The upstream default\nis `True` (permissive), so Designate
          accepts empty TSIG secrets and\nreturns HTTP 201 on tsigkey creation. The\n`TestTsigkeyInvalidIdAdmin.test_create_tsigkey_for_zone_empty_secret`\ntempest
          test expects HTTP 400, so it now fails on every run.\n\nThe test was previously
          guarded by a `@skip_because(bug='1933760')`\ndecorator. designate-tempest-plugin
          0.28.0 (2026-03-18) removed that\nskip on the assumption that \"Fix Released\"
          means all deployments enforce\nthe validation \u2014 which is only true
          if the operator explicitly sets\n`allow_empty_secrets_for_tsig = False`.\n\nUpstream
          Designate bug and fix:\n- https://launchpad.net/bugs/1933760\n- https://opendev.org/openstack/designate/commit/e6e1487c\n\n##
          Fix\n\nAdd `allow_empty_secrets_for_tsig = false` to `[service:api]` via\npatches
          for 2024.2, 2025.1, and 2025.2. The option did not exist before\nDesignate
          2024.2, so no patch is needed for 2023.2 or 2024.1.\n\nThis is also a genuine
          security improvement: empty TSIG secrets provide\nno authentication value
          and are explicitly discouraged upstream.\n\n## Alternatives considered\n\n**Option
          1 \u2014 Exclude the test** from\n`environments/openstack/files/tempest/exclude.lst`.
          Stops the CI noise\nimmediately but leaves the Designate security gap in
          place and hides a\nreal misconfiguration indefinitely.\n\n**Option 2 \u2014
          Pin designate-tempest-plugin to 0.27.x** (last version\nwith the skip decorator).
          Prevents surprise regressions from future\nplugin updates but requires active
          maintenance on the pin and still\nleaves the security gap open.\n\nBoth
          alternatives silence the test rather than fix the root cause. This\nPR fixes
          the root cause.\n\n## Why kolla-ansible upstream is not affected\n\nkolla-ansible
          does not include Designate in its own CI gate \u2014 the\nservice does not
          appear in any Zuul job definition in the repo. The\ntemplate gap therefore
          goes undetected upstream. This patch is a\ncandidate for upstreaming to
          the corresponding kolla-ansible stable\nbranches (stable/2024.2, stable/2025.1,
          stable/2025.2).\n\n## Upgrade impact\n\nAfter `osism apply designate`, new
          tsigkey creation with an empty secret\nis rejected (HTTP 400). Existing
          tsigkeys with empty secrets remain\nfunctional \u2014 the validation only
          runs at API create/update time, not\nagainst stored data."
        change_url: https://github.com/osism/container-image-kolla-ansible/pull/907
        commit_id: f0ffc1fa89cb1cf5bb11d2185e6eb8c06408dfcd
        patchset: f0ffc1fa89cb1cf5bb11d2185e6eb8c06408dfcd
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-kolla-ansible
          name: osism/container-image-kolla-ansible
          short_name: container-image-kolla-ansible
        src_dir: src/github.com/osism/container-image-kolla-ansible
        topic: null
      buildset: afdf5df7d6c841bca453ffc0313a8849
      buildset_refs:
      - branch: main
        change: '907'
        change_message: "designate: reject empty TSIG secrets (LP#1933760)\n\n## Problem\n\nThe
          OSISM kolla-ansible Designate template does not set\n`allow_empty_secrets_for_tsig`
          in `[service:api]`. The upstream default\nis `True` (permissive), so Designate
          accepts empty TSIG secrets and\nreturns HTTP 201 on tsigkey creation. The\n`TestTsigkeyInvalidIdAdmin.test_create_tsigkey_for_zone_empty_secret`\ntempest
          test expects HTTP 400, so it now fails on every run.\n\nThe test was previously
          guarded by a `@skip_because(bug='1933760')`\ndecorator. designate-tempest-plugin
          0.28.0 (2026-03-18) removed that\nskip on the assumption that \"Fix Released\"
          means all deployments enforce\nthe validation \u2014 which is only true
          if the operator explicitly sets\n`allow_empty_secrets_for_tsig = False`.\n\nUpstream
          Designate bug and fix:\n- https://launchpad.net/bugs/1933760\n- https://opendev.org/openstack/designate/commit/e6e1487c\n\n##
          Fix\n\nAdd `allow_empty_secrets_for_tsig = false` to `[service:api]` via\npatches
          for 2024.2, 2025.1, and 2025.2. The option did not exist before\nDesignate
          2024.2, so no patch is needed for 2023.2 or 2024.1.\n\nThis is also a genuine
          security improvement: empty TSIG secrets provide\nno authentication value
          and are explicitly discouraged upstream.\n\n## Alternatives considered\n\n**Option
          1 \u2014 Exclude the test** from\n`environments/openstack/files/tempest/exclude.lst`.
          Stops the CI noise\nimmediately but leaves the Designate security gap in
          place and hides a\nreal misconfiguration indefinitely.\n\n**Option 2 \u2014
          Pin designate-tempest-plugin to 0.27.x** (last version\nwith the skip decorator).
          Prevents surprise regressions from future\nplugin updates but requires active
          maintenance on the pin and still\nleaves the security gap open.\n\nBoth
          alternatives silence the test rather than fix the root cause. This\nPR fixes
          the root cause.\n\n## Why kolla-ansible upstream is not affected\n\nkolla-ansible
          does not include Designate in its own CI gate \u2014 the\nservice does not
          appear in any Zuul job definition in the repo. The\ntemplate gap therefore
          goes undetected upstream. This patch is a\ncandidate for upstreaming to
          the corresponding kolla-ansible stable\nbranches (stable/2024.2, stable/2025.1,
          stable/2025.2).\n\n## Upgrade impact\n\nAfter `osism apply designate`, new
          tsigkey creation with an empty secret\nis rejected (HTTP 400). Existing
          tsigkeys with empty secrets remain\nfunctional \u2014 the validation only
          runs at API create/update time, not\nagainst stored data."
        change_url: https://github.com/osism/container-image-kolla-ansible/pull/907
        commit_id: f0ffc1fa89cb1cf5bb11d2185e6eb8c06408dfcd
        patchset: f0ffc1fa89cb1cf5bb11d2185e6eb8c06408dfcd
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-kolla-ansible
          name: osism/container-image-kolla-ansible
          short_name: container-image-kolla-ansible
        src_dir: src/github.com/osism/container-image-kolla-ansible
        topic: null
      change: '907'
      change_message: "designate: reject empty TSIG secrets (LP#1933760)\n\n## Problem\n\nThe
        OSISM kolla-ansible Designate template does not set\n`allow_empty_secrets_for_tsig`
        in `[service:api]`. The upstream default\nis `True` (permissive), so Designate
        accepts empty TSIG secrets and\nreturns HTTP 201 on tsigkey creation. The\n`TestTsigkeyInvalidIdAdmin.test_create_tsigkey_for_zone_empty_secret`\ntempest
        test expects HTTP 400, so it now fails on every run.\n\nThe test was previously
        guarded by a `@skip_because(bug='1933760')`\ndecorator. designate-tempest-plugin
        0.28.0 (2026-03-18) removed that\nskip on the assumption that \"Fix Released\"
        means all deployments enforce\nthe validation \u2014 which is only true if
        the operator explicitly sets\n`allow_empty_secrets_for_tsig = False`.\n\nUpstream
        Designate bug and fix:\n- https://launchpad.net/bugs/1933760\n- https://opendev.org/openstack/designate/commit/e6e1487c\n\n##
        Fix\n\nAdd `allow_empty_secrets_for_tsig = false` to `[service:api]` via\npatches
        for 2024.2, 2025.1, and 2025.2. The option did not exist before\nDesignate
        2024.2, so no patch is needed for 2023.2 or 2024.1.\n\nThis is also a genuine
        security improvement: empty TSIG secrets provide\nno authentication value
        and are explicitly discouraged upstream.\n\n## Alternatives considered\n\n**Option
        1 \u2014 Exclude the test** from\n`environments/openstack/files/tempest/exclude.lst`.
        Stops the CI noise\nimmediately but leaves the Designate security gap in place
        and hides a\nreal misconfiguration indefinitely.\n\n**Option 2 \u2014 Pin
        designate-tempest-plugin to 0.27.x** (last version\nwith the skip decorator).
        Prevents surprise regressions from future\nplugin updates but requires active
        maintenance on the pin and still\nleaves the security gap open.\n\nBoth alternatives
        silence the test rather than fix the root cause. This\nPR fixes the root cause.\n\n##
        Why kolla-ansible upstream is not affected\n\nkolla-ansible does not include
        Designate in its own CI gate \u2014 the\nservice does not appear in any Zuul
        job definition in the repo. The\ntemplate gap therefore goes undetected upstream.
        This patch is a\ncandidate for upstreaming to the corresponding kolla-ansible
        stable\nbranches (stable/2024.2, stable/2025.1, stable/2025.2).\n\n## Upgrade
        impact\n\nAfter `osism apply designate`, new tsigkey creation with an empty
        secret\nis rejected (HTTP 400). Existing tsigkeys with empty secrets remain\nfunctional
        \u2014 the validation only runs at API create/update time, not\nagainst stored
        data."
      change_url: https://github.com/osism/container-image-kolla-ansible/pull/907
      child_jobs: []
      commit_id: f0ffc1fa89cb1cf5bb11d2185e6eb8c06408dfcd
      event_id: cdac99d0-55d2-11f1-8d47-c4617e559067
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/12668b62913f4bd291f5b46782fcd200/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/12668b62913f4bd291f5b46782fcd200/work/logs
        result_data_file: /var/lib/zuul/builds/12668b62913f4bd291f5b46782fcd200/work/results.json
        src_root: /var/lib/zuul/builds/12668b62913f4bd291f5b46782fcd200/work/src
        work_root: /var/lib/zuul/builds/12668b62913f4bd291f5b46782fcd200/work
      include_vars: []
      items:
      - branch: main
        change: '907'
        change_message: "designate: reject empty TSIG secrets (LP#1933760)\n\n## Problem\n\nThe
          OSISM kolla-ansible Designate template does not set\n`allow_empty_secrets_for_tsig`
          in `[service:api]`. The upstream default\nis `True` (permissive), so Designate
          accepts empty TSIG secrets and\nreturns HTTP 201 on tsigkey creation. The\n`TestTsigkeyInvalidIdAdmin.test_create_tsigkey_for_zone_empty_secret`\ntempest
          test expects HTTP 400, so it now fails on every run.\n\nThe test was previously
          guarded by a `@skip_because(bug='1933760')`\ndecorator. designate-tempest-plugin
          0.28.0 (2026-03-18) removed that\nskip on the assumption that \"Fix Released\"
          means all deployments enforce\nthe validation \u2014 which is only true
          if the operator explicitly sets\n`allow_empty_secrets_for_tsig = False`.\n\nUpstream
          Designate bug and fix:\n- https://launchpad.net/bugs/1933760\n- https://opendev.org/openstack/designate/commit/e6e1487c\n\n##
          Fix\n\nAdd `allow_empty_secrets_for_tsig = false` to `[service:api]` via\npatches
          for 2024.2, 2025.1, and 2025.2. The option did not exist before\nDesignate
          2024.2, so no patch is needed for 2023.2 or 2024.1.\n\nThis is also a genuine
          security improvement: empty TSIG secrets provide\nno authentication value
          and are explicitly discouraged upstream.\n\n## Alternatives considered\n\n**Option
          1 \u2014 Exclude the test** from\n`environments/openstack/files/tempest/exclude.lst`.
          Stops the CI noise\nimmediately but leaves the Designate security gap in
          place and hides a\nreal misconfiguration indefinitely.\n\n**Option 2 \u2014
          Pin designate-tempest-plugin to 0.27.x** (last version\nwith the skip decorator).
          Prevents surprise regressions from future\nplugin updates but requires active
          maintenance on the pin and still\nleaves the security gap open.\n\nBoth
          alternatives silence the test rather than fix the root cause. This\nPR fixes
          the root cause.\n\n## Why kolla-ansible upstream is not affected\n\nkolla-ansible
          does not include Designate in its own CI gate \u2014 the\nservice does not
          appear in any Zuul job definition in the repo. The\ntemplate gap therefore
          goes undetected upstream. This patch is a\ncandidate for upstreaming to
          the corresponding kolla-ansible stable\nbranches (stable/2024.2, stable/2025.1,
          stable/2025.2).\n\n## Upgrade impact\n\nAfter `osism apply designate`, new
          tsigkey creation with an empty secret\nis rejected (HTTP 400). Existing
          tsigkeys with empty secrets remain\nfunctional \u2014 the validation only
          runs at API create/update time, not\nagainst stored data."
        change_url: https://github.com/osism/container-image-kolla-ansible/pull/907
        commit_id: f0ffc1fa89cb1cf5bb11d2185e6eb8c06408dfcd
        patchset: f0ffc1fa89cb1cf5bb11d2185e6eb8c06408dfcd
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-kolla-ansible
          name: osism/container-image-kolla-ansible
          short_name: container-image-kolla-ansible
          src_dir: src/github.com/osism/container-image-kolla-ansible
        topic: null
      job: ansible-lint
      jobtags: []
      max_attempts: 3
      message: ZGVzaWduYXRlOiByZWplY3QgZW1wdHkgVFNJRyBzZWNyZXRzIChMUCMxOTMzNzYwKQoKIyMgUHJvYmxlbQoKVGhlIE9TSVNNIGtvbGxhLWFuc2libGUgRGVzaWduYXRlIHRlbXBsYXRlIGRvZXMgbm90IHNldApgYWxsb3dfZW1wdHlfc2VjcmV0c19mb3JfdHNpZ2AgaW4gYFtzZXJ2aWNlOmFwaV1gLiBUaGUgdXBzdHJlYW0gZGVmYXVsdAppcyBgVHJ1ZWAgKHBlcm1pc3NpdmUpLCBzbyBEZXNpZ25hdGUgYWNjZXB0cyBlbXB0eSBUU0lHIHNlY3JldHMgYW5kCnJldHVybnMgSFRUUCAyMDEgb24gdHNpZ2tleSBjcmVhdGlvbi4gVGhlCmBUZXN0VHNpZ2tleUludmFsaWRJZEFkbWluLnRlc3RfY3JlYXRlX3RzaWdrZXlfZm9yX3pvbmVfZW1wdHlfc2VjcmV0YAp0ZW1wZXN0IHRlc3QgZXhwZWN0cyBIVFRQIDQwMCwgc28gaXQgbm93IGZhaWxzIG9uIGV2ZXJ5IHJ1bi4KClRoZSB0ZXN0IHdhcyBwcmV2aW91c2x5IGd1YXJkZWQgYnkgYSBgQHNraXBfYmVjYXVzZShidWc9JzE5MzM3NjAnKWAKZGVjb3JhdG9yLiBkZXNpZ25hdGUtdGVtcGVzdC1wbHVnaW4gMC4yOC4wICgyMDI2LTAzLTE4KSByZW1vdmVkIHRoYXQKc2tpcCBvbiB0aGUgYXNzdW1wdGlvbiB0aGF0ICJGaXggUmVsZWFzZWQiIG1lYW5zIGFsbCBkZXBsb3ltZW50cyBlbmZvcmNlCnRoZSB2YWxpZGF0aW9uIOKAlCB3aGljaCBpcyBvbmx5IHRydWUgaWYgdGhlIG9wZXJhdG9yIGV4cGxpY2l0bHkgc2V0cwpgYWxsb3dfZW1wdHlfc2VjcmV0c19mb3JfdHNpZyA9IEZhbHNlYC4KClVwc3RyZWFtIERlc2lnbmF0ZSBidWcgYW5kIGZpeDoKLSBodHRwczovL2xhdW5jaHBhZC5uZXQvYnVncy8xOTMzNzYwCi0gaHR0cHM6Ly9vcGVuZGV2Lm9yZy9vcGVuc3RhY2svZGVzaWduYXRlL2NvbW1pdC9lNmUxNDg3YwoKIyMgRml4CgpBZGQgYGFsbG93X2VtcHR5X3NlY3JldHNfZm9yX3RzaWcgPSBmYWxzZWAgdG8gYFtzZXJ2aWNlOmFwaV1gIHZpYQpwYXRjaGVzIGZvciAyMDI0LjIsIDIwMjUuMSwgYW5kIDIwMjUuMi4gVGhlIG9wdGlvbiBkaWQgbm90IGV4aXN0IGJlZm9yZQpEZXNpZ25hdGUgMjAyNC4yLCBzbyBubyBwYXRjaCBpcyBuZWVkZWQgZm9yIDIwMjMuMiBvciAyMDI0LjEuCgpUaGlzIGlzIGFsc28gYSBnZW51aW5lIHNlY3VyaXR5IGltcHJvdmVtZW50OiBlbXB0eSBUU0lHIHNlY3JldHMgcHJvdmlkZQpubyBhdXRoZW50aWNhdGlvbiB2YWx1ZSBhbmQgYXJlIGV4cGxpY2l0bHkgZGlzY291cmFnZWQgdXBzdHJlYW0uCgojIyBBbHRlcm5hdGl2ZXMgY29uc2lkZXJlZAoKKipPcHRpb24gMSDigJQgRXhjbHVkZSB0aGUgdGVzdCoqIGZyb20KYGVudmlyb25tZW50cy9vcGVuc3RhY2svZmlsZXMvdGVtcGVzdC9leGNsdWRlLmxzdGAuIFN0b3BzIHRoZSBDSSBub2lzZQppbW1lZGlhdGVseSBidXQgbGVhdmVzIHRoZSBEZXNpZ25hdGUgc2VjdXJpdHkgZ2FwIGluIHBsYWNlIGFuZCBoaWRlcyBhCnJlYWwgbWlzY29uZmlndXJhdGlvbiBpbmRlZmluaXRlbHkuCgoqKk9wdGlvbiAyIOKAlCBQaW4gZGVzaWduYXRlLXRlbXBlc3QtcGx1Z2luIHRvIDAuMjcueCoqIChsYXN0IHZlcnNpb24Kd2l0aCB0aGUgc2tpcCBkZWNvcmF0b3IpLiBQcmV2ZW50cyBzdXJwcmlzZSByZWdyZXNzaW9ucyBmcm9tIGZ1dHVyZQpwbHVnaW4gdXBkYXRlcyBidXQgcmVxdWlyZXMgYWN0aXZlIG1haW50ZW5hbmNlIG9uIHRoZSBwaW4gYW5kIHN0aWxsCmxlYXZlcyB0aGUgc2VjdXJpdHkgZ2FwIG9wZW4uCgpCb3RoIGFsdGVybmF0aXZlcyBzaWxlbmNlIHRoZSB0ZXN0IHJhdGhlciB0aGFuIGZpeCB0aGUgcm9vdCBjYXVzZS4gVGhpcwpQUiBmaXhlcyB0aGUgcm9vdCBjYXVzZS4KCiMjIFdoeSBrb2xsYS1hbnNpYmxlIHVwc3RyZWFtIGlzIG5vdCBhZmZlY3RlZAoKa29sbGEtYW5zaWJsZSBkb2VzIG5vdCBpbmNsdWRlIERlc2lnbmF0ZSBpbiBpdHMgb3duIENJIGdhdGUg4oCUIHRoZQpzZXJ2aWNlIGRvZXMgbm90IGFwcGVhciBpbiBhbnkgWnV1bCBqb2IgZGVmaW5pdGlvbiBpbiB0aGUgcmVwby4gVGhlCnRlbXBsYXRlIGdhcCB0aGVyZWZvcmUgZ29lcyB1bmRldGVjdGVkIHVwc3RyZWFtLiBUaGlzIHBhdGNoIGlzIGEKY2FuZGlkYXRlIGZvciB1cHN0cmVhbWluZyB0byB0aGUgY29ycmVzcG9uZGluZyBrb2xsYS1hbnNpYmxlIHN0YWJsZQpicmFuY2hlcyAoc3RhYmxlLzIwMjQuMiwgc3RhYmxlLzIwMjUuMSwgc3RhYmxlLzIwMjUuMikuCgojIyBVcGdyYWRlIGltcGFjdAoKQWZ0ZXIgYG9zaXNtIGFwcGx5IGRlc2lnbmF0ZWAsIG5ldyB0c2lna2V5IGNyZWF0aW9uIHdpdGggYW4gZW1wdHkgc2VjcmV0CmlzIHJlamVjdGVkIChIVFRQIDQwMCkuIEV4aXN0aW5nIHRzaWdrZXlzIHdpdGggZW1wdHkgc2VjcmV0cyByZW1haW4KZnVuY3Rpb25hbCDigJQgdGhlIHZhbGlkYXRpb24gb25seSBydW5zIGF0IEFQSSBjcmVhdGUvdXBkYXRlIHRpbWUsIG5vdAphZ2FpbnN0IHN0b3JlZCBkYXRhLg==
      patchset: f0ffc1fa89cb1cf5bb11d2185e6eb8c06408dfcd
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 019f0261a526db7d8989ff1abefc2299a8c0ffbc
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
          trusted/project_2/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 019f0261a526db7d8989ff1abefc2299a8c0ffbc
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/ansible-lint/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: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/container-image-kolla-ansible
        name: osism/container-image-kolla-ansible
        short_name: container-image-kolla-ansible
        src_dir: src/github.com/osism/container-image-kolla-ansible
      projects:
        github.com/osism/container-image-kolla-ansible:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-kolla-ansible
          checkout: main
          checkout_description: zuul branch
          commit: 3d3e536ec0cdde76794aa9a379021f2b8a2445f4
          name: osism/container-image-kolla-ansible
          required: false
          short_name: container-image-kolla-ansible
          src_dir: src/github.com/osism/container-image-kolla-ansible
      ref: refs/pull/907/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
