all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe52:62e7
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: e8b7fdc2-1f48-4ac9-a045-0d04928ff11d
        host_id: dc6e70e9c8a632db314ad904d19835ae509ec2b306670431b28f35fc
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe52:62e7
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.103
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.130
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe52:62e7
        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 hadolint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#37>'
      - '<Job hadolint explicit: None implied: None source: osism/python-osism/.zuul.yaml@main#133>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 525fdcbb2e204069bdc4d23932f7ec76
      build_refs:
      - branch: main
        change: '1898'
        change_message: "Update dependency celery to v5.6.0\n\nThis PR contains the
          following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/)
          | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n|
          [celery](https://docs.celeryq.dev/) ([source](https://redirect.github.com/celery/celery),
          [changelog](https://docs.celeryq.dev/en/stable/changelog.html)) | `==5.5.3`
          -> `==5.6.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/celery/5.6.0?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/celery/5.5.3/5.6.0?slim=true)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>celery/celery (celery)</summary>\n\n###
          [`v5.6.0`](https://redirect.github.com/celery/celery/blob/HEAD/Changelog.rst#560)\n\n[Compare
          Source](https://redirect.github.com/celery/celery/compare/v5.5.3...v5.6.0)\n\n\\=====\n\n:release-date:
          2025-11-30\n:release-by: Tomer Nosrati\n\nCelery v5.6.0 is now available.\n\nKey
          Highlights\n\n```\n\nSee :ref:`whatsnew-5.6` for a complete overview or
          read the main highlights below.\n\nPython 3.9 Minimum Version\n--------------------------\n\nCelery
          5.6.0 drops support for Python 3.8 (EOL). The minimum required Python\nversion
          is now 3.9. Users still on Python 3.8 must upgrade their Python version\nbefore
          upgrading to Celery 5.6.0.\n\nAdditionally, this release includes initial
          support for Python 3.14.\n\nSQS: Reverted to ``pycurl`` from ``urllib3``\n--------------------------------------------\n\nThe
          switch from ``pycurl`` to ``urllib3`` for the SQS transport (introduced
          in\nCelery 5.5.0 via Kombu) has been reverted due to critical issues affecting
          SQS\nusers:\n\n- Processing throughput dropped from ~100 tasks/sec to ~3/sec
          in some environments\n- ``UnknownOperationException`` errors causing container
          crash loops\n- Silent message processing failures with no error logs\n\nUsers
          of the SQS transport must ensure ``pycurl`` is installed. If you removed\n``pycurl``
          after upgrading to Celery 5.5.0, you will need to reinstall it.\n\nContributed
          by `@auvipy <https://github.com/auvipy>`_ in\n`#&#8203;9620 <https://github.com/celery/celery/pull/9620>`_.\n\nSecurity
          Fix: Broker Credential Leak Prevention\n------------------------------------------------\n\nFixed
          a security issue where broker URLs containing passwords were being logged\nin
          plaintext by the delayed delivery mechanism. Broker credentials are now\nproperly
          sanitized in all log output.\n\nContributed by `@giancarloromeo <https://github.com/giancarloromeo>`_
          in\n`#&#8203;9997 <https://github.com/celery/celery/pull/9997>`_.\n\nMemory
          Leak Fixes\n-----------------\n\nTwo significant memory leaks have been
          fixed in this release:\n\n**Exception Handling Memory Leak**: Fixed a critical
          memory leak in task exception\nhandling that was particularly severe on
          Python 3.11+ due to enhanced traceback\ndata. The fix properly breaks reference
          cycles in tracebacks to allow garbage\ncollection.\n\nContributed by `@jaiganeshs21
          <https://github.com/jaiganeshs21>`_ in\n`#&#8203;9799 <https://github.com/celery/celery/pull/9799>`_.\n\n**Pending
          Result Memory Leak**: Fixed a memory leak where ``AsyncResult``\nsubscriptions
          were not being cleaned up when results were forgotten.\n\nContributed by
          `@tsoos99dev <https://github.com/tsoos99dev>`_ in\n`#&#8203;9806 <https://github.com/celery/celery/pull/9806>`_.\n\nETA
          Task Memory Limit\n---------------------\n\nNew configuration option :setting:`worker_eta_task_limit`
          to prevent out-of-memory\ncrashes when workers fetch large numbers of ETA
          or countdown tasks. Previously,\nworkers could exhaust available memory
          when the broker contained many scheduled tasks.\n\nExample usage:\n\n..
          code-block:: python\n\n    app.conf.worker_eta_task_limit = 1000\n\nContributed
          by `@sashu2310 <https://github.com/sashu2310>`_ in\n`#&#8203;9853 <https://github.com/celery/celery/pull/9853>`_.\n\nQueue
          Type Selection for Auto-created Queues\n--------------------------------------------\n\nNew
          configuration options allow specifying the queue type and exchange type
          when\nCelery auto-creates missing queues. This is particularly useful for
          RabbitMQ users\nwho want to use quorum queues with auto-created queues.\n\nConfiguration
          options:\n\n- :setting:`task_create_missing_queue_type`: Sets the queue
          type for auto-created\n  queues (e.g., ``quorum``, ``classic``)\n- :setting:`task_create_missing_queue_exchange_type`:
          Sets the exchange type for\n  auto-created queues\n\nExample usage:\n\n..
          code-block:: python\n\n    app.conf.task_create_missing_queue_type = 'quorum'\n\nContributed
          by `@ghirailghiro <https://github.com/ghirailghiro>`_ in\n`#&#8203;9815
          <https://github.com/celery/celery/pull/9815>`_.\n\nWhat's Changed\n```\n\n-
          Prepare for release: v5.6.0 ([#&#8203;10010](https://redirect.github.com/celery/celery/issues/10010))\n\n..
          \\_version-5.6.0rc2:\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5
          **Schedule**: Branch creation - At any time (no schedule defined), Automerge
          - At any time (no schedule defined).\n\n\U0001F6A6 **Automerge**: Disabled
          by config. Please merge this manually once you are satisfied.\n\n\u267B
          **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry
          checkbox.\n\n\U0001F515 **Ignore**: Close this PR and you won't be reminded
          about these updates again.\n\n---\n\n - [ ] <!-- rebase-check -->If you
          want to rebase/retry this PR, check this box\n\n---\n\nThis PR was generated
          by [Mend Renovate](https://mend.io/renovate/). View the [repository job
          log](https://developer.mend.io/github/osism/python-osism).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
        change_url: https://github.com/osism/python-osism/pull/1898
        commit_id: 106adec2d88a1887afb111c2cc9299c806c6a045
        patchset: 106adec2d88a1887afb111c2cc9299c806c6a045
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          name: osism/python-osism
          short_name: python-osism
        src_dir: src/github.com/osism/python-osism
        topic: null
      buildset: c750b524350145689df2f5db85a39bc5
      buildset_refs:
      - branch: main
        change: '1898'
        change_message: "Update dependency celery to v5.6.0\n\nThis PR contains the
          following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/)
          | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n|
          [celery](https://docs.celeryq.dev/) ([source](https://redirect.github.com/celery/celery),
          [changelog](https://docs.celeryq.dev/en/stable/changelog.html)) | `==5.5.3`
          -> `==5.6.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/celery/5.6.0?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/celery/5.5.3/5.6.0?slim=true)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>celery/celery (celery)</summary>\n\n###
          [`v5.6.0`](https://redirect.github.com/celery/celery/blob/HEAD/Changelog.rst#560)\n\n[Compare
          Source](https://redirect.github.com/celery/celery/compare/v5.5.3...v5.6.0)\n\n\\=====\n\n:release-date:
          2025-11-30\n:release-by: Tomer Nosrati\n\nCelery v5.6.0 is now available.\n\nKey
          Highlights\n\n```\n\nSee :ref:`whatsnew-5.6` for a complete overview or
          read the main highlights below.\n\nPython 3.9 Minimum Version\n--------------------------\n\nCelery
          5.6.0 drops support for Python 3.8 (EOL). The minimum required Python\nversion
          is now 3.9. Users still on Python 3.8 must upgrade their Python version\nbefore
          upgrading to Celery 5.6.0.\n\nAdditionally, this release includes initial
          support for Python 3.14.\n\nSQS: Reverted to ``pycurl`` from ``urllib3``\n--------------------------------------------\n\nThe
          switch from ``pycurl`` to ``urllib3`` for the SQS transport (introduced
          in\nCelery 5.5.0 via Kombu) has been reverted due to critical issues affecting
          SQS\nusers:\n\n- Processing throughput dropped from ~100 tasks/sec to ~3/sec
          in some environments\n- ``UnknownOperationException`` errors causing container
          crash loops\n- Silent message processing failures with no error logs\n\nUsers
          of the SQS transport must ensure ``pycurl`` is installed. If you removed\n``pycurl``
          after upgrading to Celery 5.5.0, you will need to reinstall it.\n\nContributed
          by `@auvipy <https://github.com/auvipy>`_ in\n`#&#8203;9620 <https://github.com/celery/celery/pull/9620>`_.\n\nSecurity
          Fix: Broker Credential Leak Prevention\n------------------------------------------------\n\nFixed
          a security issue where broker URLs containing passwords were being logged\nin
          plaintext by the delayed delivery mechanism. Broker credentials are now\nproperly
          sanitized in all log output.\n\nContributed by `@giancarloromeo <https://github.com/giancarloromeo>`_
          in\n`#&#8203;9997 <https://github.com/celery/celery/pull/9997>`_.\n\nMemory
          Leak Fixes\n-----------------\n\nTwo significant memory leaks have been
          fixed in this release:\n\n**Exception Handling Memory Leak**: Fixed a critical
          memory leak in task exception\nhandling that was particularly severe on
          Python 3.11+ due to enhanced traceback\ndata. The fix properly breaks reference
          cycles in tracebacks to allow garbage\ncollection.\n\nContributed by `@jaiganeshs21
          <https://github.com/jaiganeshs21>`_ in\n`#&#8203;9799 <https://github.com/celery/celery/pull/9799>`_.\n\n**Pending
          Result Memory Leak**: Fixed a memory leak where ``AsyncResult``\nsubscriptions
          were not being cleaned up when results were forgotten.\n\nContributed by
          `@tsoos99dev <https://github.com/tsoos99dev>`_ in\n`#&#8203;9806 <https://github.com/celery/celery/pull/9806>`_.\n\nETA
          Task Memory Limit\n---------------------\n\nNew configuration option :setting:`worker_eta_task_limit`
          to prevent out-of-memory\ncrashes when workers fetch large numbers of ETA
          or countdown tasks. Previously,\nworkers could exhaust available memory
          when the broker contained many scheduled tasks.\n\nExample usage:\n\n..
          code-block:: python\n\n    app.conf.worker_eta_task_limit = 1000\n\nContributed
          by `@sashu2310 <https://github.com/sashu2310>`_ in\n`#&#8203;9853 <https://github.com/celery/celery/pull/9853>`_.\n\nQueue
          Type Selection for Auto-created Queues\n--------------------------------------------\n\nNew
          configuration options allow specifying the queue type and exchange type
          when\nCelery auto-creates missing queues. This is particularly useful for
          RabbitMQ users\nwho want to use quorum queues with auto-created queues.\n\nConfiguration
          options:\n\n- :setting:`task_create_missing_queue_type`: Sets the queue
          type for auto-created\n  queues (e.g., ``quorum``, ``classic``)\n- :setting:`task_create_missing_queue_exchange_type`:
          Sets the exchange type for\n  auto-created queues\n\nExample usage:\n\n..
          code-block:: python\n\n    app.conf.task_create_missing_queue_type = 'quorum'\n\nContributed
          by `@ghirailghiro <https://github.com/ghirailghiro>`_ in\n`#&#8203;9815
          <https://github.com/celery/celery/pull/9815>`_.\n\nWhat's Changed\n```\n\n-
          Prepare for release: v5.6.0 ([#&#8203;10010](https://redirect.github.com/celery/celery/issues/10010))\n\n..
          \\_version-5.6.0rc2:\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5
          **Schedule**: Branch creation - At any time (no schedule defined), Automerge
          - At any time (no schedule defined).\n\n\U0001F6A6 **Automerge**: Disabled
          by config. Please merge this manually once you are satisfied.\n\n\u267B
          **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry
          checkbox.\n\n\U0001F515 **Ignore**: Close this PR and you won't be reminded
          about these updates again.\n\n---\n\n - [ ] <!-- rebase-check -->If you
          want to rebase/retry this PR, check this box\n\n---\n\nThis PR was generated
          by [Mend Renovate](https://mend.io/renovate/). View the [repository job
          log](https://developer.mend.io/github/osism/python-osism).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
        change_url: https://github.com/osism/python-osism/pull/1898
        commit_id: 106adec2d88a1887afb111c2cc9299c806c6a045
        patchset: 106adec2d88a1887afb111c2cc9299c806c6a045
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          name: osism/python-osism
          short_name: python-osism
        src_dir: src/github.com/osism/python-osism
        topic: null
      change: '1898'
      change_message: "Update dependency celery to v5.6.0\n\nThis PR contains the
        following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/)
        | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n|
        [celery](https://docs.celeryq.dev/) ([source](https://redirect.github.com/celery/celery),
        [changelog](https://docs.celeryq.dev/en/stable/changelog.html)) | `==5.5.3`
        -> `==5.6.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/celery/5.6.0?slim=true)
        | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/celery/5.5.3/5.6.0?slim=true)
        |\n\n---\n\n### Release Notes\n\n<details>\n<summary>celery/celery (celery)</summary>\n\n###
        [`v5.6.0`](https://redirect.github.com/celery/celery/blob/HEAD/Changelog.rst#560)\n\n[Compare
        Source](https://redirect.github.com/celery/celery/compare/v5.5.3...v5.6.0)\n\n\\=====\n\n:release-date:
        2025-11-30\n:release-by: Tomer Nosrati\n\nCelery v5.6.0 is now available.\n\nKey
        Highlights\n\n```\n\nSee :ref:`whatsnew-5.6` for a complete overview or read
        the main highlights below.\n\nPython 3.9 Minimum Version\n--------------------------\n\nCelery
        5.6.0 drops support for Python 3.8 (EOL). The minimum required Python\nversion
        is now 3.9. Users still on Python 3.8 must upgrade their Python version\nbefore
        upgrading to Celery 5.6.0.\n\nAdditionally, this release includes initial
        support for Python 3.14.\n\nSQS: Reverted to ``pycurl`` from ``urllib3``\n--------------------------------------------\n\nThe
        switch from ``pycurl`` to ``urllib3`` for the SQS transport (introduced in\nCelery
        5.5.0 via Kombu) has been reverted due to critical issues affecting SQS\nusers:\n\n-
        Processing throughput dropped from ~100 tasks/sec to ~3/sec in some environments\n-
        ``UnknownOperationException`` errors causing container crash loops\n- Silent
        message processing failures with no error logs\n\nUsers of the SQS transport
        must ensure ``pycurl`` is installed. If you removed\n``pycurl`` after upgrading
        to Celery 5.5.0, you will need to reinstall it.\n\nContributed by `@auvipy
        <https://github.com/auvipy>`_ in\n`#&#8203;9620 <https://github.com/celery/celery/pull/9620>`_.\n\nSecurity
        Fix: Broker Credential Leak Prevention\n------------------------------------------------\n\nFixed
        a security issue where broker URLs containing passwords were being logged\nin
        plaintext by the delayed delivery mechanism. Broker credentials are now\nproperly
        sanitized in all log output.\n\nContributed by `@giancarloromeo <https://github.com/giancarloromeo>`_
        in\n`#&#8203;9997 <https://github.com/celery/celery/pull/9997>`_.\n\nMemory
        Leak Fixes\n-----------------\n\nTwo significant memory leaks have been fixed
        in this release:\n\n**Exception Handling Memory Leak**: Fixed a critical memory
        leak in task exception\nhandling that was particularly severe on Python 3.11+
        due to enhanced traceback\ndata. The fix properly breaks reference cycles
        in tracebacks to allow garbage\ncollection.\n\nContributed by `@jaiganeshs21
        <https://github.com/jaiganeshs21>`_ in\n`#&#8203;9799 <https://github.com/celery/celery/pull/9799>`_.\n\n**Pending
        Result Memory Leak**: Fixed a memory leak where ``AsyncResult``\nsubscriptions
        were not being cleaned up when results were forgotten.\n\nContributed by `@tsoos99dev
        <https://github.com/tsoos99dev>`_ in\n`#&#8203;9806 <https://github.com/celery/celery/pull/9806>`_.\n\nETA
        Task Memory Limit\n---------------------\n\nNew configuration option :setting:`worker_eta_task_limit`
        to prevent out-of-memory\ncrashes when workers fetch large numbers of ETA
        or countdown tasks. Previously,\nworkers could exhaust available memory when
        the broker contained many scheduled tasks.\n\nExample usage:\n\n.. code-block::
        python\n\n    app.conf.worker_eta_task_limit = 1000\n\nContributed by `@sashu2310
        <https://github.com/sashu2310>`_ in\n`#&#8203;9853 <https://github.com/celery/celery/pull/9853>`_.\n\nQueue
        Type Selection for Auto-created Queues\n--------------------------------------------\n\nNew
        configuration options allow specifying the queue type and exchange type when\nCelery
        auto-creates missing queues. This is particularly useful for RabbitMQ users\nwho
        want to use quorum queues with auto-created queues.\n\nConfiguration options:\n\n-
        :setting:`task_create_missing_queue_type`: Sets the queue type for auto-created\n
        \ queues (e.g., ``quorum``, ``classic``)\n- :setting:`task_create_missing_queue_exchange_type`:
        Sets the exchange type for\n  auto-created queues\n\nExample usage:\n\n..
        code-block:: python\n\n    app.conf.task_create_missing_queue_type = 'quorum'\n\nContributed
        by `@ghirailghiro <https://github.com/ghirailghiro>`_ in\n`#&#8203;9815 <https://github.com/celery/celery/pull/9815>`_.\n\nWhat's
        Changed\n```\n\n- Prepare for release: v5.6.0 ([#&#8203;10010](https://redirect.github.com/celery/celery/issues/10010))\n\n..
        \\_version-5.6.0rc2:\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5
        **Schedule**: Branch creation - At any time (no schedule defined), Automerge
        - At any time (no schedule defined).\n\n\U0001F6A6 **Automerge**: Disabled
        by config. Please merge this manually once you are satisfied.\n\n\u267B **Rebasing**:
        Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n\U0001F515
        **Ignore**: Close this PR and you won't be reminded about these updates again.\n\n---\n\n
        - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this
        box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).
        View the [repository job log](https://developer.mend.io/github/osism/python-osism).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
      change_url: https://github.com/osism/python-osism/pull/1898
      child_jobs: []
      commit_id: 106adec2d88a1887afb111c2cc9299c806c6a045
      event_id: a1f0ebb0-d1b2-11f0-9a26-8a72fd1aa6a3
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/525fdcbb2e204069bdc4d23932f7ec76/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/525fdcbb2e204069bdc4d23932f7ec76/work/logs
        result_data_file: /var/lib/zuul/builds/525fdcbb2e204069bdc4d23932f7ec76/work/results.json
        src_root: /var/lib/zuul/builds/525fdcbb2e204069bdc4d23932f7ec76/work/src
        work_root: /var/lib/zuul/builds/525fdcbb2e204069bdc4d23932f7ec76/work
      include_vars: []
      items:
      - branch: main
        change: '1898'
        change_message: "Update dependency celery to v5.6.0\n\nThis PR contains the
          following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/)
          | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n|
          [celery](https://docs.celeryq.dev/) ([source](https://redirect.github.com/celery/celery),
          [changelog](https://docs.celeryq.dev/en/stable/changelog.html)) | `==5.5.3`
          -> `==5.6.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/celery/5.6.0?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/celery/5.5.3/5.6.0?slim=true)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>celery/celery (celery)</summary>\n\n###
          [`v5.6.0`](https://redirect.github.com/celery/celery/blob/HEAD/Changelog.rst#560)\n\n[Compare
          Source](https://redirect.github.com/celery/celery/compare/v5.5.3...v5.6.0)\n\n\\=====\n\n:release-date:
          2025-11-30\n:release-by: Tomer Nosrati\n\nCelery v5.6.0 is now available.\n\nKey
          Highlights\n\n```\n\nSee :ref:`whatsnew-5.6` for a complete overview or
          read the main highlights below.\n\nPython 3.9 Minimum Version\n--------------------------\n\nCelery
          5.6.0 drops support for Python 3.8 (EOL). The minimum required Python\nversion
          is now 3.9. Users still on Python 3.8 must upgrade their Python version\nbefore
          upgrading to Celery 5.6.0.\n\nAdditionally, this release includes initial
          support for Python 3.14.\n\nSQS: Reverted to ``pycurl`` from ``urllib3``\n--------------------------------------------\n\nThe
          switch from ``pycurl`` to ``urllib3`` for the SQS transport (introduced
          in\nCelery 5.5.0 via Kombu) has been reverted due to critical issues affecting
          SQS\nusers:\n\n- Processing throughput dropped from ~100 tasks/sec to ~3/sec
          in some environments\n- ``UnknownOperationException`` errors causing container
          crash loops\n- Silent message processing failures with no error logs\n\nUsers
          of the SQS transport must ensure ``pycurl`` is installed. If you removed\n``pycurl``
          after upgrading to Celery 5.5.0, you will need to reinstall it.\n\nContributed
          by `@auvipy <https://github.com/auvipy>`_ in\n`#&#8203;9620 <https://github.com/celery/celery/pull/9620>`_.\n\nSecurity
          Fix: Broker Credential Leak Prevention\n------------------------------------------------\n\nFixed
          a security issue where broker URLs containing passwords were being logged\nin
          plaintext by the delayed delivery mechanism. Broker credentials are now\nproperly
          sanitized in all log output.\n\nContributed by `@giancarloromeo <https://github.com/giancarloromeo>`_
          in\n`#&#8203;9997 <https://github.com/celery/celery/pull/9997>`_.\n\nMemory
          Leak Fixes\n-----------------\n\nTwo significant memory leaks have been
          fixed in this release:\n\n**Exception Handling Memory Leak**: Fixed a critical
          memory leak in task exception\nhandling that was particularly severe on
          Python 3.11+ due to enhanced traceback\ndata. The fix properly breaks reference
          cycles in tracebacks to allow garbage\ncollection.\n\nContributed by `@jaiganeshs21
          <https://github.com/jaiganeshs21>`_ in\n`#&#8203;9799 <https://github.com/celery/celery/pull/9799>`_.\n\n**Pending
          Result Memory Leak**: Fixed a memory leak where ``AsyncResult``\nsubscriptions
          were not being cleaned up when results were forgotten.\n\nContributed by
          `@tsoos99dev <https://github.com/tsoos99dev>`_ in\n`#&#8203;9806 <https://github.com/celery/celery/pull/9806>`_.\n\nETA
          Task Memory Limit\n---------------------\n\nNew configuration option :setting:`worker_eta_task_limit`
          to prevent out-of-memory\ncrashes when workers fetch large numbers of ETA
          or countdown tasks. Previously,\nworkers could exhaust available memory
          when the broker contained many scheduled tasks.\n\nExample usage:\n\n..
          code-block:: python\n\n    app.conf.worker_eta_task_limit = 1000\n\nContributed
          by `@sashu2310 <https://github.com/sashu2310>`_ in\n`#&#8203;9853 <https://github.com/celery/celery/pull/9853>`_.\n\nQueue
          Type Selection for Auto-created Queues\n--------------------------------------------\n\nNew
          configuration options allow specifying the queue type and exchange type
          when\nCelery auto-creates missing queues. This is particularly useful for
          RabbitMQ users\nwho want to use quorum queues with auto-created queues.\n\nConfiguration
          options:\n\n- :setting:`task_create_missing_queue_type`: Sets the queue
          type for auto-created\n  queues (e.g., ``quorum``, ``classic``)\n- :setting:`task_create_missing_queue_exchange_type`:
          Sets the exchange type for\n  auto-created queues\n\nExample usage:\n\n..
          code-block:: python\n\n    app.conf.task_create_missing_queue_type = 'quorum'\n\nContributed
          by `@ghirailghiro <https://github.com/ghirailghiro>`_ in\n`#&#8203;9815
          <https://github.com/celery/celery/pull/9815>`_.\n\nWhat's Changed\n```\n\n-
          Prepare for release: v5.6.0 ([#&#8203;10010](https://redirect.github.com/celery/celery/issues/10010))\n\n..
          \\_version-5.6.0rc2:\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5
          **Schedule**: Branch creation - At any time (no schedule defined), Automerge
          - At any time (no schedule defined).\n\n\U0001F6A6 **Automerge**: Disabled
          by config. Please merge this manually once you are satisfied.\n\n\u267B
          **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry
          checkbox.\n\n\U0001F515 **Ignore**: Close this PR and you won't be reminded
          about these updates again.\n\n---\n\n - [ ] <!-- rebase-check -->If you
          want to rebase/retry this PR, check this box\n\n---\n\nThis PR was generated
          by [Mend Renovate](https://mend.io/renovate/). View the [repository job
          log](https://developer.mend.io/github/osism/python-osism).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
        change_url: https://github.com/osism/python-osism/pull/1898
        commit_id: 106adec2d88a1887afb111c2cc9299c806c6a045
        patchset: 106adec2d88a1887afb111c2cc9299c806c6a045
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          name: osism/python-osism
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
        topic: null
      job: hadolint
      jobtags: []
      max_attempts: 3
      message: VXBkYXRlIGRlcGVuZGVuY3kgY2VsZXJ5IHRvIHY1LjYuMAoKVGhpcyBQUiBjb250YWlucyB0aGUgZm9sbG93aW5nIHVwZGF0ZXM6Cgp8IFBhY2thZ2UgfCBDaGFuZ2UgfCBbQWdlXShodHRwczovL2RvY3MucmVub3ZhdGVib3QuY29tL21lcmdlLWNvbmZpZGVuY2UvKSB8IFtDb25maWRlbmNlXShodHRwczovL2RvY3MucmVub3ZhdGVib3QuY29tL21lcmdlLWNvbmZpZGVuY2UvKSB8CnwtLS18LS0tfC0tLXwtLS18CnwgW2NlbGVyeV0oaHR0cHM6Ly9kb2NzLmNlbGVyeXEuZGV2LykgKFtzb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jZWxlcnkvY2VsZXJ5KSwgW2NoYW5nZWxvZ10oaHR0cHM6Ly9kb2NzLmNlbGVyeXEuZGV2L2VuL3N0YWJsZS9jaGFuZ2Vsb2cuaHRtbCkpIHwgYD09NS41LjNgIC0+IGA9PTUuNi4wYCB8ICFbYWdlXShodHRwczovL2RldmVsb3Blci5tZW5kLmlvL2FwaS9tYy9iYWRnZXMvYWdlL3B5cGkvY2VsZXJ5LzUuNi4wP3NsaW09dHJ1ZSkgfCAhW2NvbmZpZGVuY2VdKGh0dHBzOi8vZGV2ZWxvcGVyLm1lbmQuaW8vYXBpL21jL2JhZGdlcy9jb25maWRlbmNlL3B5cGkvY2VsZXJ5LzUuNS4zLzUuNi4wP3NsaW09dHJ1ZSkgfAoKLS0tCgojIyMgUmVsZWFzZSBOb3RlcwoKPGRldGFpbHM+CjxzdW1tYXJ5PmNlbGVyeS9jZWxlcnkgKGNlbGVyeSk8L3N1bW1hcnk+CgojIyMgW2B2NS42LjBgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY2VsZXJ5L2NlbGVyeS9ibG9iL0hFQUQvQ2hhbmdlbG9nLnJzdCM1NjApCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jZWxlcnkvY2VsZXJ5L2NvbXBhcmUvdjUuNS4zLi4udjUuNi4wKQoKXD09PT09Cgo6cmVsZWFzZS1kYXRlOiAyMDI1LTExLTMwCjpyZWxlYXNlLWJ5OiBUb21lciBOb3NyYXRpCgpDZWxlcnkgdjUuNi4wIGlzIG5vdyBhdmFpbGFibGUuCgpLZXkgSGlnaGxpZ2h0cwoKYGBgCgpTZWUgOnJlZjpgd2hhdHNuZXctNS42YCBmb3IgYSBjb21wbGV0ZSBvdmVydmlldyBvciByZWFkIHRoZSBtYWluIGhpZ2hsaWdodHMgYmVsb3cuCgpQeXRob24gMy45IE1pbmltdW0gVmVyc2lvbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKQ2VsZXJ5IDUuNi4wIGRyb3BzIHN1cHBvcnQgZm9yIFB5dGhvbiAzLjggKEVPTCkuIFRoZSBtaW5pbXVtIHJlcXVpcmVkIFB5dGhvbgp2ZXJzaW9uIGlzIG5vdyAzLjkuIFVzZXJzIHN0aWxsIG9uIFB5dGhvbiAzLjggbXVzdCB1cGdyYWRlIHRoZWlyIFB5dGhvbiB2ZXJzaW9uCmJlZm9yZSB1cGdyYWRpbmcgdG8gQ2VsZXJ5IDUuNi4wLgoKQWRkaXRpb25hbGx5LCB0aGlzIHJlbGVhc2UgaW5jbHVkZXMgaW5pdGlhbCBzdXBwb3J0IGZvciBQeXRob24gMy4xNC4KClNRUzogUmV2ZXJ0ZWQgdG8gYGBweWN1cmxgYCBmcm9tIGBgdXJsbGliM2BgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGUgc3dpdGNoIGZyb20gYGBweWN1cmxgYCB0byBgYHVybGxpYjNgYCBmb3IgdGhlIFNRUyB0cmFuc3BvcnQgKGludHJvZHVjZWQgaW4KQ2VsZXJ5IDUuNS4wIHZpYSBLb21idSkgaGFzIGJlZW4gcmV2ZXJ0ZWQgZHVlIHRvIGNyaXRpY2FsIGlzc3VlcyBhZmZlY3RpbmcgU1FTCnVzZXJzOgoKLSBQcm9jZXNzaW5nIHRocm91Z2hwdXQgZHJvcHBlZCBmcm9tIH4xMDAgdGFza3Mvc2VjIHRvIH4zL3NlYyBpbiBzb21lIGVudmlyb25tZW50cwotIGBgVW5rbm93bk9wZXJhdGlvbkV4Y2VwdGlvbmBgIGVycm9ycyBjYXVzaW5nIGNvbnRhaW5lciBjcmFzaCBsb29wcwotIFNpbGVudCBtZXNzYWdlIHByb2Nlc3NpbmcgZmFpbHVyZXMgd2l0aCBubyBlcnJvciBsb2dzCgpVc2VycyBvZiB0aGUgU1FTIHRyYW5zcG9ydCBtdXN0IGVuc3VyZSBgYHB5Y3VybGBgIGlzIGluc3RhbGxlZC4gSWYgeW91IHJlbW92ZWQKYGBweWN1cmxgYCBhZnRlciB1cGdyYWRpbmcgdG8gQ2VsZXJ5IDUuNS4wLCB5b3Ugd2lsbCBuZWVkIHRvIHJlaW5zdGFsbCBpdC4KCkNvbnRyaWJ1dGVkIGJ5IGBAYXV2aXB5IDxodHRwczovL2dpdGh1Yi5jb20vYXV2aXB5PmBfIGluCmAjJiM4MjAzOzk2MjAgPGh0dHBzOi8vZ2l0aHViLmNvbS9jZWxlcnkvY2VsZXJ5L3B1bGwvOTYyMD5gXy4KClNlY3VyaXR5IEZpeDogQnJva2VyIENyZWRlbnRpYWwgTGVhayBQcmV2ZW50aW9uCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKRml4ZWQgYSBzZWN1cml0eSBpc3N1ZSB3aGVyZSBicm9rZXIgVVJMcyBjb250YWluaW5nIHBhc3N3b3JkcyB3ZXJlIGJlaW5nIGxvZ2dlZAppbiBwbGFpbnRleHQgYnkgdGhlIGRlbGF5ZWQgZGVsaXZlcnkgbWVjaGFuaXNtLiBCcm9rZXIgY3JlZGVudGlhbHMgYXJlIG5vdwpwcm9wZXJseSBzYW5pdGl6ZWQgaW4gYWxsIGxvZyBvdXRwdXQuCgpDb250cmlidXRlZCBieSBgQGdpYW5jYXJsb3JvbWVvIDxodHRwczovL2dpdGh1Yi5jb20vZ2lhbmNhcmxvcm9tZW8+YF8gaW4KYCMmIzgyMDM7OTk5NyA8aHR0cHM6Ly9naXRodWIuY29tL2NlbGVyeS9jZWxlcnkvcHVsbC85OTk3PmBfLgoKTWVtb3J5IExlYWsgRml4ZXMKLS0tLS0tLS0tLS0tLS0tLS0KClR3byBzaWduaWZpY2FudCBtZW1vcnkgbGVha3MgaGF2ZSBiZWVuIGZpeGVkIGluIHRoaXMgcmVsZWFzZToKCioqRXhjZXB0aW9uIEhhbmRsaW5nIE1lbW9yeSBMZWFrKio6IEZpeGVkIGEgY3JpdGljYWwgbWVtb3J5IGxlYWsgaW4gdGFzayBleGNlcHRpb24KaGFuZGxpbmcgdGhhdCB3YXMgcGFydGljdWxhcmx5IHNldmVyZSBvbiBQeXRob24gMy4xMSsgZHVlIHRvIGVuaGFuY2VkIHRyYWNlYmFjawpkYXRhLiBUaGUgZml4IHByb3Blcmx5IGJyZWFrcyByZWZlcmVuY2UgY3ljbGVzIGluIHRyYWNlYmFja3MgdG8gYWxsb3cgZ2FyYmFnZQpjb2xsZWN0aW9uLgoKQ29udHJpYnV0ZWQgYnkgYEBqYWlnYW5lc2hzMjEgPGh0dHBzOi8vZ2l0aHViLmNvbS9qYWlnYW5lc2hzMjE+YF8gaW4KYCMmIzgyMDM7OTc5OSA8aHR0cHM6Ly9naXRodWIuY29tL2NlbGVyeS9jZWxlcnkvcHVsbC85Nzk5PmBfLgoKKipQZW5kaW5nIFJlc3VsdCBNZW1vcnkgTGVhayoqOiBGaXhlZCBhIG1lbW9yeSBsZWFrIHdoZXJlIGBgQXN5bmNSZXN1bHRgYApzdWJzY3JpcHRpb25zIHdlcmUgbm90IGJlaW5nIGNsZWFuZWQgdXAgd2hlbiByZXN1bHRzIHdlcmUgZm9yZ290dGVuLgoKQ29udHJpYnV0ZWQgYnkgYEB0c29vczk5ZGV2IDxodHRwczovL2dpdGh1Yi5jb20vdHNvb3M5OWRldj5gXyBpbgpgIyYjODIwMzs5ODA2IDxodHRwczovL2dpdGh1Yi5jb20vY2VsZXJ5L2NlbGVyeS9wdWxsLzk4MDY+YF8uCgpFVEEgVGFzayBNZW1vcnkgTGltaXQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpOZXcgY29uZmlndXJhdGlvbiBvcHRpb24gOnNldHRpbmc6YHdvcmtlcl9ldGFfdGFza19saW1pdGAgdG8gcHJldmVudCBvdXQtb2YtbWVtb3J5CmNyYXNoZXMgd2hlbiB3b3JrZXJzIGZldGNoIGxhcmdlIG51bWJlcnMgb2YgRVRBIG9yIGNvdW50ZG93biB0YXNrcy4gUHJldmlvdXNseSwKd29ya2VycyBjb3VsZCBleGhhdXN0IGF2YWlsYWJsZSBtZW1vcnkgd2hlbiB0aGUgYnJva2VyIGNvbnRhaW5lZCBtYW55IHNjaGVkdWxlZCB0YXNrcy4KCkV4YW1wbGUgdXNhZ2U6CgouLiBjb2RlLWJsb2NrOjogcHl0aG9uCgogICAgYXBwLmNvbmYud29ya2VyX2V0YV90YXNrX2xpbWl0ID0gMTAwMAoKQ29udHJpYnV0ZWQgYnkgYEBzYXNodTIzMTAgPGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNodTIzMTA+YF8gaW4KYCMmIzgyMDM7OTg1MyA8aHR0cHM6Ly9naXRodWIuY29tL2NlbGVyeS9jZWxlcnkvcHVsbC85ODUzPmBfLgoKUXVldWUgVHlwZSBTZWxlY3Rpb24gZm9yIEF1dG8tY3JlYXRlZCBRdWV1ZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk5ldyBjb25maWd1cmF0aW9uIG9wdGlvbnMgYWxsb3cgc3BlY2lmeWluZyB0aGUgcXVldWUgdHlwZSBhbmQgZXhjaGFuZ2UgdHlwZSB3aGVuCkNlbGVyeSBhdXRvLWNyZWF0ZXMgbWlzc2luZyBxdWV1ZXMuIFRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWZ1bCBmb3IgUmFiYml0TVEgdXNlcnMKd2hvIHdhbnQgdG8gdXNlIHF1b3J1bSBxdWV1ZXMgd2l0aCBhdXRvLWNyZWF0ZWQgcXVldWVzLgoKQ29uZmlndXJhdGlvbiBvcHRpb25zOgoKLSA6c2V0dGluZzpgdGFza19jcmVhdGVfbWlzc2luZ19xdWV1ZV90eXBlYDogU2V0cyB0aGUgcXVldWUgdHlwZSBmb3IgYXV0by1jcmVhdGVkCiAgcXVldWVzIChlLmcuLCBgYHF1b3J1bWBgLCBgYGNsYXNzaWNgYCkKLSA6c2V0dGluZzpgdGFza19jcmVhdGVfbWlzc2luZ19xdWV1ZV9leGNoYW5nZV90eXBlYDogU2V0cyB0aGUgZXhjaGFuZ2UgdHlwZSBmb3IKICBhdXRvLWNyZWF0ZWQgcXVldWVzCgpFeGFtcGxlIHVzYWdlOgoKLi4gY29kZS1ibG9jazo6IHB5dGhvbgoKICAgIGFwcC5jb25mLnRhc2tfY3JlYXRlX21pc3NpbmdfcXVldWVfdHlwZSA9ICdxdW9ydW0nCgpDb250cmlidXRlZCBieSBgQGdoaXJhaWxnaGlybyA8aHR0cHM6Ly9naXRodWIuY29tL2doaXJhaWxnaGlybz5gXyBpbgpgIyYjODIwMzs5ODE1IDxodHRwczovL2dpdGh1Yi5jb20vY2VsZXJ5L2NlbGVyeS9wdWxsLzk4MTU+YF8uCgpXaGF0J3MgQ2hhbmdlZApgYGAKCi0gUHJlcGFyZSBmb3IgcmVsZWFzZTogdjUuNi4wIChbIyYjODIwMzsxMDAxMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NlbGVyeS9jZWxlcnkvaXNzdWVzLzEwMDEwKSkKCi4uIFxfdmVyc2lvbi01LjYuMHJjMjoKCjwvZGV0YWlscz4KCi0tLQoKIyMjIENvbmZpZ3VyYXRpb24KCvCfk4UgKipTY2hlZHVsZSoqOiBCcmFuY2ggY3JlYXRpb24gLSBBdCBhbnkgdGltZSAobm8gc2NoZWR1bGUgZGVmaW5lZCksIEF1dG9tZXJnZSAtIEF0IGFueSB0aW1lIChubyBzY2hlZHVsZSBkZWZpbmVkKS4KCvCfmqYgKipBdXRvbWVyZ2UqKjogRGlzYWJsZWQgYnkgY29uZmlnLiBQbGVhc2UgbWVyZ2UgdGhpcyBtYW51YWxseSBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkLgoK4pm7ICoqUmViYXNpbmcqKjogV2hlbmV2ZXIgUFIgYmVjb21lcyBjb25mbGljdGVkLCBvciB5b3UgdGljayB0aGUgcmViYXNlL3JldHJ5IGNoZWNrYm94LgoK8J+UlSAqKklnbm9yZSoqOiBDbG9zZSB0aGlzIFBSIGFuZCB5b3Ugd29uJ3QgYmUgcmVtaW5kZWQgYWJvdXQgdGhlc2UgdXBkYXRlcyBhZ2Fpbi4KCi0tLQoKIC0gWyBdIDwhLS0gcmViYXNlLWNoZWNrIC0tPklmIHlvdSB3YW50IHRvIHJlYmFzZS9yZXRyeSB0aGlzIFBSLCBjaGVjayB0aGlzIGJveAoKLS0tCgpUaGlzIFBSIHdhcyBnZW5lcmF0ZWQgYnkgW01lbmQgUmVub3ZhdGVdKGh0dHBzOi8vbWVuZC5pby9yZW5vdmF0ZS8pLiBWaWV3IHRoZSBbcmVwb3NpdG9yeSBqb2IgbG9nXShodHRwczovL2RldmVsb3Blci5tZW5kLmlvL2dpdGh1Yi9vc2lzbS9weXRob24tb3Npc20pLgo8IS0tcmVub3ZhdGUtZGVidWc6ZXlKamNtVmhkR1ZrU1c1V1pYSWlPaUkwTWk0ek1pNHlJaXdpZFhCa1lYUmxaRWx1Vm1WeUlqb2lOREl1TXpJdU1pSXNJblJoY21kbGRFSnlZVzVqYUNJNkltMWhhVzRpTENKc1lXSmxiSE1pT2xzaWNtVnViM1poZEdVaVhYMD0tLT4K
      patchset: 106adec2d88a1887afb111c2cc9299c806c6a045
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: caa0df55ed55158f32903d317317ac95db4da6ce
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: e5288050a78336daaf343acfabbf2956e8f9bc42
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: caa0df55ed55158f32903d317317ac95db4da6ce
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/hadolint/run.yaml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_0/zuul-jobs
            link_target: untrusted/project_0/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_0/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_1/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_1/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_2/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_2/openinfra-zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/python-osism
        name: osism/python-osism
        short_name: python-osism
        src_dir: src/github.com/osism/python-osism
      projects:
        github.com/osism/python-osism:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          checkout: main
          checkout_description: zuul branch
          commit: fda085abca097683e1ee8dcc567ea1e705f15de8
          name: osism/python-osism
          required: false
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
      ref: refs/pull/1898/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
