all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fec4:95e7
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 40bb7a19-ac73-4d53-a2a7-0ea271b15e5e
        host_id: 7f2607eceb24f4583c6f9496c53c64b51afe50de5eacda4379b21c42
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fec4:95e7
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.227
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.150
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fec4:95e7
        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/ansible-collection-services/.zuul.yaml@main#498>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: aa332bf1e0fe46338e0200e07ef7e59c
      build_refs:
      - branch: main
        change: '2137'
        change_message: "manager: default ARA DB CONN_MAX_AGE to 0\n\n## Problem\n\n`roles/manager/templates/env/ara-server.env.j2`
          hardcoded\n`ARA_DATABASE_CONN_MAX_AGE=120`. Combined with the manager default\n`ara_worker_class:
          gevent`, this leaks manager MariaDB connections: Django keeps\nDB connections
          in per-request greenlet-local storage and only closes an expired\none at
          a request boundary in the *same* greenlet \u2014 but gunicorn's gevent worker\nspawns
          a fresh greenlet per request, so a connection opened by one request is\nnever
          revisited and `CONN_MAX_AGE` never closes it. Each request leaks one\npersistent
          connection over time until MariaDB `max_connections` (151) is\nexhausted,
          after which `ara-server` returns HTTP 500 on **every** request \u2014\nsurfacing
          as ARA callback `Failure using method` warnings on every `osism apply`\nand
          an unhealthy `ara-server` container.\n\nThe `120` value was introduced following
          upstream ARA perf advice that assumed\nthe sync/threaded worker model (where
          persistent connections are safe and\nnaturally bounded by worker count):\n\n-
          #801\n\n## Fix\n\nMake the value a role variable `ara_database_conn_max_age`
          defaulting to `0`.\nWith `0`, Django closes the connection at request-end,
          so no connection outlives\nits request-greenlet and concurrent connections
          stay bounded by in-flight load.\nThe reuse optimization given up is negligible
          at ARA's light callback load;\noperators running the sync worker class can
          raise it again via the new variable.\n\n## Validation (live, `latest` full-profile
          deploy)\n\nFlipped `ARA_DATABASE_CONN_MAX_AGE` 120\u21920 in the deployed
          env and recreated\n`manager-ara-server-1`:\n\n| metric | before (`120`)
          | after (`0`) |\n|---|---|---|\n| idle `ara` DB connections | 151 (all `Sleep`)
          | 0 |\n| under 300-request / 30-concurrent burst | would pin at 151 | steady
          ~5, back to 0 after |\n| `GET /api/v1/plays` (authenticated) | 500 | 200
          |\n| container health | unhealthy | healthy |\n\n## Follow-up (not in this
          PR)\n\nDefense-in-depth: right-size `ara_worker_connections` (currently
          1000/worker \xD7 5\nworkers \u2248 a 5000 client-concurrency ceiling against
          a 151-connection DB) to a\nvalue sane relative to the DB budget, after measuring
          real callback concurrency.\nThis does not address the (time-based) leak
          \u2014 `CONN_MAX_AGE=0` does \u2014 but caps a\ngenuine concurrent burst.\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)\n"
        change_url: https://github.com/osism/ansible-collection-services/pull/2137
        commit_id: e0cdf1568ffd743ada2ac24ce0dd8595ee3051a5
        patchset: e0cdf1568ffd743ada2ac24ce0dd8595ee3051a5
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          name: osism/ansible-collection-services
          short_name: ansible-collection-services
        src_dir: src/github.com/osism/ansible-collection-services
        topic: null
      buildset: 9ad9521a1f4f45efa7dd9ff4138e38b7
      buildset_refs:
      - branch: main
        change: '2137'
        change_message: "manager: default ARA DB CONN_MAX_AGE to 0\n\n## Problem\n\n`roles/manager/templates/env/ara-server.env.j2`
          hardcoded\n`ARA_DATABASE_CONN_MAX_AGE=120`. Combined with the manager default\n`ara_worker_class:
          gevent`, this leaks manager MariaDB connections: Django keeps\nDB connections
          in per-request greenlet-local storage and only closes an expired\none at
          a request boundary in the *same* greenlet \u2014 but gunicorn's gevent worker\nspawns
          a fresh greenlet per request, so a connection opened by one request is\nnever
          revisited and `CONN_MAX_AGE` never closes it. Each request leaks one\npersistent
          connection over time until MariaDB `max_connections` (151) is\nexhausted,
          after which `ara-server` returns HTTP 500 on **every** request \u2014\nsurfacing
          as ARA callback `Failure using method` warnings on every `osism apply`\nand
          an unhealthy `ara-server` container.\n\nThe `120` value was introduced following
          upstream ARA perf advice that assumed\nthe sync/threaded worker model (where
          persistent connections are safe and\nnaturally bounded by worker count):\n\n-
          #801\n\n## Fix\n\nMake the value a role variable `ara_database_conn_max_age`
          defaulting to `0`.\nWith `0`, Django closes the connection at request-end,
          so no connection outlives\nits request-greenlet and concurrent connections
          stay bounded by in-flight load.\nThe reuse optimization given up is negligible
          at ARA's light callback load;\noperators running the sync worker class can
          raise it again via the new variable.\n\n## Validation (live, `latest` full-profile
          deploy)\n\nFlipped `ARA_DATABASE_CONN_MAX_AGE` 120\u21920 in the deployed
          env and recreated\n`manager-ara-server-1`:\n\n| metric | before (`120`)
          | after (`0`) |\n|---|---|---|\n| idle `ara` DB connections | 151 (all `Sleep`)
          | 0 |\n| under 300-request / 30-concurrent burst | would pin at 151 | steady
          ~5, back to 0 after |\n| `GET /api/v1/plays` (authenticated) | 500 | 200
          |\n| container health | unhealthy | healthy |\n\n## Follow-up (not in this
          PR)\n\nDefense-in-depth: right-size `ara_worker_connections` (currently
          1000/worker \xD7 5\nworkers \u2248 a 5000 client-concurrency ceiling against
          a 151-connection DB) to a\nvalue sane relative to the DB budget, after measuring
          real callback concurrency.\nThis does not address the (time-based) leak
          \u2014 `CONN_MAX_AGE=0` does \u2014 but caps a\ngenuine concurrent burst.\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)\n"
        change_url: https://github.com/osism/ansible-collection-services/pull/2137
        commit_id: e0cdf1568ffd743ada2ac24ce0dd8595ee3051a5
        patchset: e0cdf1568ffd743ada2ac24ce0dd8595ee3051a5
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          name: osism/ansible-collection-services
          short_name: ansible-collection-services
        src_dir: src/github.com/osism/ansible-collection-services
        topic: null
      change: '2137'
      change_message: "manager: default ARA DB CONN_MAX_AGE to 0\n\n## Problem\n\n`roles/manager/templates/env/ara-server.env.j2`
        hardcoded\n`ARA_DATABASE_CONN_MAX_AGE=120`. Combined with the manager default\n`ara_worker_class:
        gevent`, this leaks manager MariaDB connections: Django keeps\nDB connections
        in per-request greenlet-local storage and only closes an expired\none at a
        request boundary in the *same* greenlet \u2014 but gunicorn's gevent worker\nspawns
        a fresh greenlet per request, so a connection opened by one request is\nnever
        revisited and `CONN_MAX_AGE` never closes it. Each request leaks one\npersistent
        connection over time until MariaDB `max_connections` (151) is\nexhausted,
        after which `ara-server` returns HTTP 500 on **every** request \u2014\nsurfacing
        as ARA callback `Failure using method` warnings on every `osism apply`\nand
        an unhealthy `ara-server` container.\n\nThe `120` value was introduced following
        upstream ARA perf advice that assumed\nthe sync/threaded worker model (where
        persistent connections are safe and\nnaturally bounded by worker count):\n\n-
        #801\n\n## Fix\n\nMake the value a role variable `ara_database_conn_max_age`
        defaulting to `0`.\nWith `0`, Django closes the connection at request-end,
        so no connection outlives\nits request-greenlet and concurrent connections
        stay bounded by in-flight load.\nThe reuse optimization given up is negligible
        at ARA's light callback load;\noperators running the sync worker class can
        raise it again via the new variable.\n\n## Validation (live, `latest` full-profile
        deploy)\n\nFlipped `ARA_DATABASE_CONN_MAX_AGE` 120\u21920 in the deployed
        env and recreated\n`manager-ara-server-1`:\n\n| metric | before (`120`) |
        after (`0`) |\n|---|---|---|\n| idle `ara` DB connections | 151 (all `Sleep`)
        | 0 |\n| under 300-request / 30-concurrent burst | would pin at 151 | steady
        ~5, back to 0 after |\n| `GET /api/v1/plays` (authenticated) | 500 | 200 |\n|
        container health | unhealthy | healthy |\n\n## Follow-up (not in this PR)\n\nDefense-in-depth:
        right-size `ara_worker_connections` (currently 1000/worker \xD7 5\nworkers
        \u2248 a 5000 client-concurrency ceiling against a 151-connection DB) to a\nvalue
        sane relative to the DB budget, after measuring real callback concurrency.\nThis
        does not address the (time-based) leak \u2014 `CONN_MAX_AGE=0` does \u2014
        but caps a\ngenuine concurrent burst.\n\n\U0001F916 Generated with [Claude
        Code](https://claude.com/claude-code)\n"
      change_url: https://github.com/osism/ansible-collection-services/pull/2137
      child_jobs: []
      commit_id: e0cdf1568ffd743ada2ac24ce0dd8595ee3051a5
      event_id: 2267da60-7f87-11f1-8710-be755e738c00
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/aa332bf1e0fe46338e0200e07ef7e59c/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/aa332bf1e0fe46338e0200e07ef7e59c/work/logs
        result_data_file: /var/lib/zuul/builds/aa332bf1e0fe46338e0200e07ef7e59c/work/results.json
        src_root: /var/lib/zuul/builds/aa332bf1e0fe46338e0200e07ef7e59c/work/src
        work_root: /var/lib/zuul/builds/aa332bf1e0fe46338e0200e07ef7e59c/work
      include_vars: []
      items:
      - branch: main
        change: '2137'
        change_message: "manager: default ARA DB CONN_MAX_AGE to 0\n\n## Problem\n\n`roles/manager/templates/env/ara-server.env.j2`
          hardcoded\n`ARA_DATABASE_CONN_MAX_AGE=120`. Combined with the manager default\n`ara_worker_class:
          gevent`, this leaks manager MariaDB connections: Django keeps\nDB connections
          in per-request greenlet-local storage and only closes an expired\none at
          a request boundary in the *same* greenlet \u2014 but gunicorn's gevent worker\nspawns
          a fresh greenlet per request, so a connection opened by one request is\nnever
          revisited and `CONN_MAX_AGE` never closes it. Each request leaks one\npersistent
          connection over time until MariaDB `max_connections` (151) is\nexhausted,
          after which `ara-server` returns HTTP 500 on **every** request \u2014\nsurfacing
          as ARA callback `Failure using method` warnings on every `osism apply`\nand
          an unhealthy `ara-server` container.\n\nThe `120` value was introduced following
          upstream ARA perf advice that assumed\nthe sync/threaded worker model (where
          persistent connections are safe and\nnaturally bounded by worker count):\n\n-
          #801\n\n## Fix\n\nMake the value a role variable `ara_database_conn_max_age`
          defaulting to `0`.\nWith `0`, Django closes the connection at request-end,
          so no connection outlives\nits request-greenlet and concurrent connections
          stay bounded by in-flight load.\nThe reuse optimization given up is negligible
          at ARA's light callback load;\noperators running the sync worker class can
          raise it again via the new variable.\n\n## Validation (live, `latest` full-profile
          deploy)\n\nFlipped `ARA_DATABASE_CONN_MAX_AGE` 120\u21920 in the deployed
          env and recreated\n`manager-ara-server-1`:\n\n| metric | before (`120`)
          | after (`0`) |\n|---|---|---|\n| idle `ara` DB connections | 151 (all `Sleep`)
          | 0 |\n| under 300-request / 30-concurrent burst | would pin at 151 | steady
          ~5, back to 0 after |\n| `GET /api/v1/plays` (authenticated) | 500 | 200
          |\n| container health | unhealthy | healthy |\n\n## Follow-up (not in this
          PR)\n\nDefense-in-depth: right-size `ara_worker_connections` (currently
          1000/worker \xD7 5\nworkers \u2248 a 5000 client-concurrency ceiling against
          a 151-connection DB) to a\nvalue sane relative to the DB budget, after measuring
          real callback concurrency.\nThis does not address the (time-based) leak
          \u2014 `CONN_MAX_AGE=0` does \u2014 but caps a\ngenuine concurrent burst.\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)\n"
        change_url: https://github.com/osism/ansible-collection-services/pull/2137
        commit_id: e0cdf1568ffd743ada2ac24ce0dd8595ee3051a5
        patchset: e0cdf1568ffd743ada2ac24ce0dd8595ee3051a5
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          name: osism/ansible-collection-services
          short_name: ansible-collection-services
          src_dir: src/github.com/osism/ansible-collection-services
        topic: null
      job: ansible-lint
      jobtags: []
      max_attempts: 3
      message: bWFuYWdlcjogZGVmYXVsdCBBUkEgREIgQ09OTl9NQVhfQUdFIHRvIDAKCiMjIFByb2JsZW0KCmByb2xlcy9tYW5hZ2VyL3RlbXBsYXRlcy9lbnYvYXJhLXNlcnZlci5lbnYuajJgIGhhcmRjb2RlZApgQVJBX0RBVEFCQVNFX0NPTk5fTUFYX0FHRT0xMjBgLiBDb21iaW5lZCB3aXRoIHRoZSBtYW5hZ2VyIGRlZmF1bHQKYGFyYV93b3JrZXJfY2xhc3M6IGdldmVudGAsIHRoaXMgbGVha3MgbWFuYWdlciBNYXJpYURCIGNvbm5lY3Rpb25zOiBEamFuZ28ga2VlcHMKREIgY29ubmVjdGlvbnMgaW4gcGVyLXJlcXVlc3QgZ3JlZW5sZXQtbG9jYWwgc3RvcmFnZSBhbmQgb25seSBjbG9zZXMgYW4gZXhwaXJlZApvbmUgYXQgYSByZXF1ZXN0IGJvdW5kYXJ5IGluIHRoZSAqc2FtZSogZ3JlZW5sZXQg4oCUIGJ1dCBndW5pY29ybidzIGdldmVudCB3b3JrZXIKc3Bhd25zIGEgZnJlc2ggZ3JlZW5sZXQgcGVyIHJlcXVlc3QsIHNvIGEgY29ubmVjdGlvbiBvcGVuZWQgYnkgb25lIHJlcXVlc3QgaXMKbmV2ZXIgcmV2aXNpdGVkIGFuZCBgQ09OTl9NQVhfQUdFYCBuZXZlciBjbG9zZXMgaXQuIEVhY2ggcmVxdWVzdCBsZWFrcyBvbmUKcGVyc2lzdGVudCBjb25uZWN0aW9uIG92ZXIgdGltZSB1bnRpbCBNYXJpYURCIGBtYXhfY29ubmVjdGlvbnNgICgxNTEpIGlzCmV4aGF1c3RlZCwgYWZ0ZXIgd2hpY2ggYGFyYS1zZXJ2ZXJgIHJldHVybnMgSFRUUCA1MDAgb24gKipldmVyeSoqIHJlcXVlc3Qg4oCUCnN1cmZhY2luZyBhcyBBUkEgY2FsbGJhY2sgYEZhaWx1cmUgdXNpbmcgbWV0aG9kYCB3YXJuaW5ncyBvbiBldmVyeSBgb3Npc20gYXBwbHlgCmFuZCBhbiB1bmhlYWx0aHkgYGFyYS1zZXJ2ZXJgIGNvbnRhaW5lci4KClRoZSBgMTIwYCB2YWx1ZSB3YXMgaW50cm9kdWNlZCBmb2xsb3dpbmcgdXBzdHJlYW0gQVJBIHBlcmYgYWR2aWNlIHRoYXQgYXNzdW1lZAp0aGUgc3luYy90aHJlYWRlZCB3b3JrZXIgbW9kZWwgKHdoZXJlIHBlcnNpc3RlbnQgY29ubmVjdGlvbnMgYXJlIHNhZmUgYW5kCm5hdHVyYWxseSBib3VuZGVkIGJ5IHdvcmtlciBjb3VudCk6CgotICM4MDEKCiMjIEZpeAoKTWFrZSB0aGUgdmFsdWUgYSByb2xlIHZhcmlhYmxlIGBhcmFfZGF0YWJhc2VfY29ubl9tYXhfYWdlYCBkZWZhdWx0aW5nIHRvIGAwYC4KV2l0aCBgMGAsIERqYW5nbyBjbG9zZXMgdGhlIGNvbm5lY3Rpb24gYXQgcmVxdWVzdC1lbmQsIHNvIG5vIGNvbm5lY3Rpb24gb3V0bGl2ZXMKaXRzIHJlcXVlc3QtZ3JlZW5sZXQgYW5kIGNvbmN1cnJlbnQgY29ubmVjdGlvbnMgc3RheSBib3VuZGVkIGJ5IGluLWZsaWdodCBsb2FkLgpUaGUgcmV1c2Ugb3B0aW1pemF0aW9uIGdpdmVuIHVwIGlzIG5lZ2xpZ2libGUgYXQgQVJBJ3MgbGlnaHQgY2FsbGJhY2sgbG9hZDsKb3BlcmF0b3JzIHJ1bm5pbmcgdGhlIHN5bmMgd29ya2VyIGNsYXNzIGNhbiByYWlzZSBpdCBhZ2FpbiB2aWEgdGhlIG5ldyB2YXJpYWJsZS4KCiMjIFZhbGlkYXRpb24gKGxpdmUsIGBsYXRlc3RgIGZ1bGwtcHJvZmlsZSBkZXBsb3kpCgpGbGlwcGVkIGBBUkFfREFUQUJBU0VfQ09OTl9NQVhfQUdFYCAxMjDihpIwIGluIHRoZSBkZXBsb3llZCBlbnYgYW5kIHJlY3JlYXRlZApgbWFuYWdlci1hcmEtc2VydmVyLTFgOgoKfCBtZXRyaWMgfCBiZWZvcmUgKGAxMjBgKSB8IGFmdGVyIChgMGApIHwKfC0tLXwtLS18LS0tfAp8IGlkbGUgYGFyYWAgREIgY29ubmVjdGlvbnMgfCAxNTEgKGFsbCBgU2xlZXBgKSB8IDAgfAp8IHVuZGVyIDMwMC1yZXF1ZXN0IC8gMzAtY29uY3VycmVudCBidXJzdCB8IHdvdWxkIHBpbiBhdCAxNTEgfCBzdGVhZHkgfjUsIGJhY2sgdG8gMCBhZnRlciB8CnwgYEdFVCAvYXBpL3YxL3BsYXlzYCAoYXV0aGVudGljYXRlZCkgfCA1MDAgfCAyMDAgfAp8IGNvbnRhaW5lciBoZWFsdGggfCB1bmhlYWx0aHkgfCBoZWFsdGh5IHwKCiMjIEZvbGxvdy11cCAobm90IGluIHRoaXMgUFIpCgpEZWZlbnNlLWluLWRlcHRoOiByaWdodC1zaXplIGBhcmFfd29ya2VyX2Nvbm5lY3Rpb25zYCAoY3VycmVudGx5IDEwMDAvd29ya2VyIMOXIDUKd29ya2VycyDiiYggYSA1MDAwIGNsaWVudC1jb25jdXJyZW5jeSBjZWlsaW5nIGFnYWluc3QgYSAxNTEtY29ubmVjdGlvbiBEQikgdG8gYQp2YWx1ZSBzYW5lIHJlbGF0aXZlIHRvIHRoZSBEQiBidWRnZXQsIGFmdGVyIG1lYXN1cmluZyByZWFsIGNhbGxiYWNrIGNvbmN1cnJlbmN5LgpUaGlzIGRvZXMgbm90IGFkZHJlc3MgdGhlICh0aW1lLWJhc2VkKSBsZWFrIOKAlCBgQ09OTl9NQVhfQUdFPTBgIGRvZXMg4oCUIGJ1dCBjYXBzIGEKZ2VudWluZSBjb25jdXJyZW50IGJ1cnN0LgoK8J+kliBHZW5lcmF0ZWQgd2l0aCBbQ2xhdWRlIENvZGVdKGh0dHBzOi8vY2xhdWRlLmNvbS9jbGF1ZGUtY29kZSkK
      patchset: e0cdf1568ffd743ada2ac24ce0dd8595ee3051a5
      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/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 1d71e58c93442038e695a5d883d57a603182c7ae
          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/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: 1800
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/ansible-collection-services
        name: osism/ansible-collection-services
        short_name: ansible-collection-services
        src_dir: src/github.com/osism/ansible-collection-services
      projects:
        github.com/osism/ansible-collection-services:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          checkout: main
          checkout_description: zuul branch
          commit: e65295dd0221e5d6070865ed9ca7ee4dba60f588
          name: osism/ansible-collection-services
          required: false
          short_name: ansible-collection-services
          src_dir: src/github.com/osism/ansible-collection-services
      ref: refs/pull/2137/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
