all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe73:f993
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 503f6fd5-ba1a-49f1-a71d-a8ea3316a99f
        host_id: 5afd8fc909abddfe2ce3a956a91bbe56629648b7209fd0acfa541862
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe73:f993
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.129
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.96
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe73:f993
        region: null
        slot: null
      tox_environment:
        NOSE_HTML_OUT_FILE: nose_results.html
        NOSE_WITH_HTML_OUTPUT: 1
        NOSE_WITH_XUNIT: 1
        OPENSTACK_VERSION: '2024.1'
      tox_envlist: cookiecutter
  vars:
    tox_environment:
      NOSE_HTML_OUT_FILE: nose_results.html
      NOSE_WITH_HTML_OUTPUT: 1
      NOSE_WITH_XUNIT: 1
      OPENSTACK_VERSION: '2024.1'
    tox_envlist: cookiecutter
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job unittests explicit: None implied: {MatchAny:{ImpliedBranchMatcher:master}}
        source: osism/openinfra-zuul-jobs/zuul.d/general-jobs.yaml@master#9>'
      - '<Job tox explicit: None implied: {MatchAny:{ImpliedBranchMatcher:master}}
        source: osism/openinfra-zuul-jobs/zuul.d/python-jobs.yaml@master#1>'
      - '<Job cfg-cookiecutter-tox explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/cfg-cookiecutter/.zuul.yaml@main#55>'
      - '<Job cfg-cookiecutter-tox-2024.1 explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/cfg-cookiecutter/.zuul.yaml@main#61>'
      - '<Job cfg-cookiecutter-tox-2024.1 explicit: None implied: None source: osism/cfg-cookiecutter/.zuul.yaml@main#82>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: c0c4e29d2af142dca1d3fe6425c5e16a
      build_refs:
      - branch: main
        change: '861'
        change_message: "octavia: use soft anti-affinity for amphorae\n\n## What\n\nChange
          the default octavia amphora anti-affinity policy from hard `anti-affinity`
          to `soft-anti-affinity` in the generated Kolla octavia overlay.\n\n```diff\n
          [nova]\n enable_anti_affinity = true\n-anti_affinity_policy = anti-affinity\n+anti_affinity_policy
          = soft-anti-affinity\n```\n\n`enable_anti_affinity = true` and `octavia_loadbalancer_topology:
          ACTIVE_STANDBY` are left unchanged.\n\n## Why\n\nOSISM deploys octavia as
          ACTIVE_STANDBY, so each load balancer boots two amphorae (MASTER + BACKUP)
          into a per-LB nova server group. With **hard** anti-affinity the two members
          must land on distinct compute hosts or the build fails.\n\nOn small compute
          pools \u2014 the **production-minimum** OSISM topology is 3 compute hosts
          converged onto the control nodes \u2014 a burst of concurrent LB creates
          races nova's scheduler: two members can be placed on the same host before
          either is recorded, and nova's late `_validate_instance_group_policy` re-check
          then raises `GroupAffinityViolation`, sending the amphora to ERROR and the
          LB to ERROR. This happens **before** the amphora image is cloned, so it
          is a scheduler-concurrency + host-count issue, not a storage/IO or timeout
          one. A realistic production trigger is Kubernetes bringing up several `Service
          type=LoadBalancer` at once.\n\n`soft-anti-affinity` makes nova still prefer
          distinct hosts but not fail the build when it cannot \u2014 preserving HA-placement
          intent while removing the hard-failure race.\n\n## Validation\n\nLive on
          a fresh 3-compute-host OSISM 10.1.0 cluster, A/B with only the policy changed,
          8 concurrent LB creates:\n\n- `anti-affinity` (hard): **6 ACTIVE / 2 ERROR**\n-
          `soft-anti-affinity`: **8 ACTIVE / 0 ERROR**\n\n**Bounded downside:** under
          scheduling pressure an LB's MASTER + BACKUP may co-locate (no HA for that
          LB until rescheduled) \u2014 strictly better than a hard build failure,
          and only under pressure.\n\n## Follow-up\n\n- tbng's `config.src/environments/kolla/files/overlays/octavia.conf`
          is byte-identical to this overlay and will pick this up on the next `genconfig`.\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/cfg-cookiecutter/pull/861
        commit_id: 4d2556c408e9c77a216e9eb9afb95748067bfccb
        patchset: 4d2556c408e9c77a216e9eb9afb95748067bfccb
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/cfg-cookiecutter
          name: osism/cfg-cookiecutter
          short_name: cfg-cookiecutter
        src_dir: src/github.com/osism/cfg-cookiecutter
        topic: null
      buildset: 0df5fa4ef42447dba59bde3483e0c255
      buildset_refs:
      - branch: main
        change: '861'
        change_message: "octavia: use soft anti-affinity for amphorae\n\n## What\n\nChange
          the default octavia amphora anti-affinity policy from hard `anti-affinity`
          to `soft-anti-affinity` in the generated Kolla octavia overlay.\n\n```diff\n
          [nova]\n enable_anti_affinity = true\n-anti_affinity_policy = anti-affinity\n+anti_affinity_policy
          = soft-anti-affinity\n```\n\n`enable_anti_affinity = true` and `octavia_loadbalancer_topology:
          ACTIVE_STANDBY` are left unchanged.\n\n## Why\n\nOSISM deploys octavia as
          ACTIVE_STANDBY, so each load balancer boots two amphorae (MASTER + BACKUP)
          into a per-LB nova server group. With **hard** anti-affinity the two members
          must land on distinct compute hosts or the build fails.\n\nOn small compute
          pools \u2014 the **production-minimum** OSISM topology is 3 compute hosts
          converged onto the control nodes \u2014 a burst of concurrent LB creates
          races nova's scheduler: two members can be placed on the same host before
          either is recorded, and nova's late `_validate_instance_group_policy` re-check
          then raises `GroupAffinityViolation`, sending the amphora to ERROR and the
          LB to ERROR. This happens **before** the amphora image is cloned, so it
          is a scheduler-concurrency + host-count issue, not a storage/IO or timeout
          one. A realistic production trigger is Kubernetes bringing up several `Service
          type=LoadBalancer` at once.\n\n`soft-anti-affinity` makes nova still prefer
          distinct hosts but not fail the build when it cannot \u2014 preserving HA-placement
          intent while removing the hard-failure race.\n\n## Validation\n\nLive on
          a fresh 3-compute-host OSISM 10.1.0 cluster, A/B with only the policy changed,
          8 concurrent LB creates:\n\n- `anti-affinity` (hard): **6 ACTIVE / 2 ERROR**\n-
          `soft-anti-affinity`: **8 ACTIVE / 0 ERROR**\n\n**Bounded downside:** under
          scheduling pressure an LB's MASTER + BACKUP may co-locate (no HA for that
          LB until rescheduled) \u2014 strictly better than a hard build failure,
          and only under pressure.\n\n## Follow-up\n\n- tbng's `config.src/environments/kolla/files/overlays/octavia.conf`
          is byte-identical to this overlay and will pick this up on the next `genconfig`.\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/cfg-cookiecutter/pull/861
        commit_id: 4d2556c408e9c77a216e9eb9afb95748067bfccb
        patchset: 4d2556c408e9c77a216e9eb9afb95748067bfccb
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/cfg-cookiecutter
          name: osism/cfg-cookiecutter
          short_name: cfg-cookiecutter
        src_dir: src/github.com/osism/cfg-cookiecutter
        topic: null
      change: '861'
      change_message: "octavia: use soft anti-affinity for amphorae\n\n## What\n\nChange
        the default octavia amphora anti-affinity policy from hard `anti-affinity`
        to `soft-anti-affinity` in the generated Kolla octavia overlay.\n\n```diff\n
        [nova]\n enable_anti_affinity = true\n-anti_affinity_policy = anti-affinity\n+anti_affinity_policy
        = soft-anti-affinity\n```\n\n`enable_anti_affinity = true` and `octavia_loadbalancer_topology:
        ACTIVE_STANDBY` are left unchanged.\n\n## Why\n\nOSISM deploys octavia as
        ACTIVE_STANDBY, so each load balancer boots two amphorae (MASTER + BACKUP)
        into a per-LB nova server group. With **hard** anti-affinity the two members
        must land on distinct compute hosts or the build fails.\n\nOn small compute
        pools \u2014 the **production-minimum** OSISM topology is 3 compute hosts
        converged onto the control nodes \u2014 a burst of concurrent LB creates races
        nova's scheduler: two members can be placed on the same host before either
        is recorded, and nova's late `_validate_instance_group_policy` re-check then
        raises `GroupAffinityViolation`, sending the amphora to ERROR and the LB to
        ERROR. This happens **before** the amphora image is cloned, so it is a scheduler-concurrency
        + host-count issue, not a storage/IO or timeout one. A realistic production
        trigger is Kubernetes bringing up several `Service type=LoadBalancer` at once.\n\n`soft-anti-affinity`
        makes nova still prefer distinct hosts but not fail the build when it cannot
        \u2014 preserving HA-placement intent while removing the hard-failure race.\n\n##
        Validation\n\nLive on a fresh 3-compute-host OSISM 10.1.0 cluster, A/B with
        only the policy changed, 8 concurrent LB creates:\n\n- `anti-affinity` (hard):
        **6 ACTIVE / 2 ERROR**\n- `soft-anti-affinity`: **8 ACTIVE / 0 ERROR**\n\n**Bounded
        downside:** under scheduling pressure an LB's MASTER + BACKUP may co-locate
        (no HA for that LB until rescheduled) \u2014 strictly better than a hard build
        failure, and only under pressure.\n\n## Follow-up\n\n- tbng's `config.src/environments/kolla/files/overlays/octavia.conf`
        is byte-identical to this overlay and will pick this up on the next `genconfig`.\n\n\U0001F916
        Generated with [Claude Code](https://claude.com/claude-code)"
      change_url: https://github.com/osism/cfg-cookiecutter/pull/861
      child_jobs: []
      commit_id: 4d2556c408e9c77a216e9eb9afb95748067bfccb
      event_id: 4d43ad00-8017-11f1-9cab-34c0fd0ea4d1
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/c0c4e29d2af142dca1d3fe6425c5e16a/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/c0c4e29d2af142dca1d3fe6425c5e16a/work/logs
        result_data_file: /var/lib/zuul/builds/c0c4e29d2af142dca1d3fe6425c5e16a/work/results.json
        src_root: /var/lib/zuul/builds/c0c4e29d2af142dca1d3fe6425c5e16a/work/src
        work_root: /var/lib/zuul/builds/c0c4e29d2af142dca1d3fe6425c5e16a/work
      include_vars: []
      items:
      - branch: main
        change: '861'
        change_message: "octavia: use soft anti-affinity for amphorae\n\n## What\n\nChange
          the default octavia amphora anti-affinity policy from hard `anti-affinity`
          to `soft-anti-affinity` in the generated Kolla octavia overlay.\n\n```diff\n
          [nova]\n enable_anti_affinity = true\n-anti_affinity_policy = anti-affinity\n+anti_affinity_policy
          = soft-anti-affinity\n```\n\n`enable_anti_affinity = true` and `octavia_loadbalancer_topology:
          ACTIVE_STANDBY` are left unchanged.\n\n## Why\n\nOSISM deploys octavia as
          ACTIVE_STANDBY, so each load balancer boots two amphorae (MASTER + BACKUP)
          into a per-LB nova server group. With **hard** anti-affinity the two members
          must land on distinct compute hosts or the build fails.\n\nOn small compute
          pools \u2014 the **production-minimum** OSISM topology is 3 compute hosts
          converged onto the control nodes \u2014 a burst of concurrent LB creates
          races nova's scheduler: two members can be placed on the same host before
          either is recorded, and nova's late `_validate_instance_group_policy` re-check
          then raises `GroupAffinityViolation`, sending the amphora to ERROR and the
          LB to ERROR. This happens **before** the amphora image is cloned, so it
          is a scheduler-concurrency + host-count issue, not a storage/IO or timeout
          one. A realistic production trigger is Kubernetes bringing up several `Service
          type=LoadBalancer` at once.\n\n`soft-anti-affinity` makes nova still prefer
          distinct hosts but not fail the build when it cannot \u2014 preserving HA-placement
          intent while removing the hard-failure race.\n\n## Validation\n\nLive on
          a fresh 3-compute-host OSISM 10.1.0 cluster, A/B with only the policy changed,
          8 concurrent LB creates:\n\n- `anti-affinity` (hard): **6 ACTIVE / 2 ERROR**\n-
          `soft-anti-affinity`: **8 ACTIVE / 0 ERROR**\n\n**Bounded downside:** under
          scheduling pressure an LB's MASTER + BACKUP may co-locate (no HA for that
          LB until rescheduled) \u2014 strictly better than a hard build failure,
          and only under pressure.\n\n## Follow-up\n\n- tbng's `config.src/environments/kolla/files/overlays/octavia.conf`
          is byte-identical to this overlay and will pick this up on the next `genconfig`.\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/cfg-cookiecutter/pull/861
        commit_id: 4d2556c408e9c77a216e9eb9afb95748067bfccb
        patchset: 4d2556c408e9c77a216e9eb9afb95748067bfccb
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/cfg-cookiecutter
          name: osism/cfg-cookiecutter
          short_name: cfg-cookiecutter
          src_dir: src/github.com/osism/cfg-cookiecutter
        topic: null
      job: cfg-cookiecutter-tox-2024.1
      jobtags: []
      max_attempts: 3
      message: b2N0YXZpYTogdXNlIHNvZnQgYW50aS1hZmZpbml0eSBmb3IgYW1waG9yYWUKCiMjIFdoYXQKCkNoYW5nZSB0aGUgZGVmYXVsdCBvY3RhdmlhIGFtcGhvcmEgYW50aS1hZmZpbml0eSBwb2xpY3kgZnJvbSBoYXJkIGBhbnRpLWFmZmluaXR5YCB0byBgc29mdC1hbnRpLWFmZmluaXR5YCBpbiB0aGUgZ2VuZXJhdGVkIEtvbGxhIG9jdGF2aWEgb3ZlcmxheS4KCmBgYGRpZmYKIFtub3ZhXQogZW5hYmxlX2FudGlfYWZmaW5pdHkgPSB0cnVlCi1hbnRpX2FmZmluaXR5X3BvbGljeSA9IGFudGktYWZmaW5pdHkKK2FudGlfYWZmaW5pdHlfcG9saWN5ID0gc29mdC1hbnRpLWFmZmluaXR5CmBgYAoKYGVuYWJsZV9hbnRpX2FmZmluaXR5ID0gdHJ1ZWAgYW5kIGBvY3RhdmlhX2xvYWRiYWxhbmNlcl90b3BvbG9neTogQUNUSVZFX1NUQU5EQllgIGFyZSBsZWZ0IHVuY2hhbmdlZC4KCiMjIFdoeQoKT1NJU00gZGVwbG95cyBvY3RhdmlhIGFzIEFDVElWRV9TVEFOREJZLCBzbyBlYWNoIGxvYWQgYmFsYW5jZXIgYm9vdHMgdHdvIGFtcGhvcmFlIChNQVNURVIgKyBCQUNLVVApIGludG8gYSBwZXItTEIgbm92YSBzZXJ2ZXIgZ3JvdXAuIFdpdGggKipoYXJkKiogYW50aS1hZmZpbml0eSB0aGUgdHdvIG1lbWJlcnMgbXVzdCBsYW5kIG9uIGRpc3RpbmN0IGNvbXB1dGUgaG9zdHMgb3IgdGhlIGJ1aWxkIGZhaWxzLgoKT24gc21hbGwgY29tcHV0ZSBwb29scyDigJQgdGhlICoqcHJvZHVjdGlvbi1taW5pbXVtKiogT1NJU00gdG9wb2xvZ3kgaXMgMyBjb21wdXRlIGhvc3RzIGNvbnZlcmdlZCBvbnRvIHRoZSBjb250cm9sIG5vZGVzIOKAlCBhIGJ1cnN0IG9mIGNvbmN1cnJlbnQgTEIgY3JlYXRlcyByYWNlcyBub3ZhJ3Mgc2NoZWR1bGVyOiB0d28gbWVtYmVycyBjYW4gYmUgcGxhY2VkIG9uIHRoZSBzYW1lIGhvc3QgYmVmb3JlIGVpdGhlciBpcyByZWNvcmRlZCwgYW5kIG5vdmEncyBsYXRlIGBfdmFsaWRhdGVfaW5zdGFuY2VfZ3JvdXBfcG9saWN5YCByZS1jaGVjayB0aGVuIHJhaXNlcyBgR3JvdXBBZmZpbml0eVZpb2xhdGlvbmAsIHNlbmRpbmcgdGhlIGFtcGhvcmEgdG8gRVJST1IgYW5kIHRoZSBMQiB0byBFUlJPUi4gVGhpcyBoYXBwZW5zICoqYmVmb3JlKiogdGhlIGFtcGhvcmEgaW1hZ2UgaXMgY2xvbmVkLCBzbyBpdCBpcyBhIHNjaGVkdWxlci1jb25jdXJyZW5jeSArIGhvc3QtY291bnQgaXNzdWUsIG5vdCBhIHN0b3JhZ2UvSU8gb3IgdGltZW91dCBvbmUuIEEgcmVhbGlzdGljIHByb2R1Y3Rpb24gdHJpZ2dlciBpcyBLdWJlcm5ldGVzIGJyaW5naW5nIHVwIHNldmVyYWwgYFNlcnZpY2UgdHlwZT1Mb2FkQmFsYW5jZXJgIGF0IG9uY2UuCgpgc29mdC1hbnRpLWFmZmluaXR5YCBtYWtlcyBub3ZhIHN0aWxsIHByZWZlciBkaXN0aW5jdCBob3N0cyBidXQgbm90IGZhaWwgdGhlIGJ1aWxkIHdoZW4gaXQgY2Fubm90IOKAlCBwcmVzZXJ2aW5nIEhBLXBsYWNlbWVudCBpbnRlbnQgd2hpbGUgcmVtb3ZpbmcgdGhlIGhhcmQtZmFpbHVyZSByYWNlLgoKIyMgVmFsaWRhdGlvbgoKTGl2ZSBvbiBhIGZyZXNoIDMtY29tcHV0ZS1ob3N0IE9TSVNNIDEwLjEuMCBjbHVzdGVyLCBBL0Igd2l0aCBvbmx5IHRoZSBwb2xpY3kgY2hhbmdlZCwgOCBjb25jdXJyZW50IExCIGNyZWF0ZXM6CgotIGBhbnRpLWFmZmluaXR5YCAoaGFyZCk6ICoqNiBBQ1RJVkUgLyAyIEVSUk9SKioKLSBgc29mdC1hbnRpLWFmZmluaXR5YDogKio4IEFDVElWRSAvIDAgRVJST1IqKgoKKipCb3VuZGVkIGRvd25zaWRlOioqIHVuZGVyIHNjaGVkdWxpbmcgcHJlc3N1cmUgYW4gTEIncyBNQVNURVIgKyBCQUNLVVAgbWF5IGNvLWxvY2F0ZSAobm8gSEEgZm9yIHRoYXQgTEIgdW50aWwgcmVzY2hlZHVsZWQpIOKAlCBzdHJpY3RseSBiZXR0ZXIgdGhhbiBhIGhhcmQgYnVpbGQgZmFpbHVyZSwgYW5kIG9ubHkgdW5kZXIgcHJlc3N1cmUuCgojIyBGb2xsb3ctdXAKCi0gdGJuZydzIGBjb25maWcuc3JjL2Vudmlyb25tZW50cy9rb2xsYS9maWxlcy9vdmVybGF5cy9vY3RhdmlhLmNvbmZgIGlzIGJ5dGUtaWRlbnRpY2FsIHRvIHRoaXMgb3ZlcmxheSBhbmQgd2lsbCBwaWNrIHRoaXMgdXAgb24gdGhlIG5leHQgYGdlbmNvbmZpZ2AuCgrwn6SWIEdlbmVyYXRlZCB3aXRoIFtDbGF1ZGUgQ29kZV0oaHR0cHM6Ly9jbGF1ZGUuY29tL2NsYXVkZS1jb2RlKQ==
      patchset: 4d2556c408e9c77a216e9eb9afb95748067bfccb
      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: 1d71e58c93442038e695a5d883d57a603182c7ae
          untrusted/project_0/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 242732586e2cba04d04867d3e302888c766bc231
          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/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 1d71e58c93442038e695a5d883d57a603182c7ae
        playbooks:
        - path: untrusted/project_0/github.com/osism/openinfra-zuul-jobs/playbooks/tox/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: playbook branch
            link_name: ansible/playbook_0/role_1/openinfra-zuul-jobs
            link_target: untrusted/project_0/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_1/openinfra-zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_2/zuul-jobs
            link_target: untrusted/project_2/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/cfg-cookiecutter
        name: osism/cfg-cookiecutter
        short_name: cfg-cookiecutter
        src_dir: src/github.com/osism/cfg-cookiecutter
      projects:
        github.com/osism/cfg-cookiecutter:
          canonical_hostname: github.com
          canonical_name: github.com/osism/cfg-cookiecutter
          checkout: main
          checkout_description: zuul branch
          commit: d5f0493e8010e7859710fb5f4e1c98d296026173
          name: osism/cfg-cookiecutter
          required: false
          short_name: cfg-cookiecutter
          src_dir: src/github.com/osism/cfg-cookiecutter
      ref: refs/pull/861/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
