all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:feb2:c60e
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 4ced5fbe-3189-4596-a7e5-00155bda834f
        host_id: ec4f54fa666de9bc553bc59c41683f12345b665d0b1af00d715e7318
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:feb2:c60e
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.6
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.141
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:feb2:c60e
        region: null
        slot: null
  vars:
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job yamllint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#59>'
      - '<Job yamllint explicit: None implied: None source: osism/release/.zuul.yaml@main#2>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 6f90af4063fc48e1986c0c4a14091776
      build_refs:
      - branch: main
        change: '2346'
        change_message: "chore(deps): update osism to v0.20251205.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/) | Update
          |\n|---|---|---|---|---|\n| [osism](https://redirect.github.com/osism/python-osism)
          | `0.20251130.1` -> `0.20251205.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/osism/0.20251205.0?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/osism/0.20251130.1/0.20251205.0?slim=true)
          | minor |\n| [registry.osism.tech/osism/osism](https://quay.io/organization/osism)
          ([source](https://redirect.github.com/osism/python-osism)) | `0.20251130.1`
          -> `0.20251205.0` | ![age](https://developer.mend.io/api/mc/badges/age/docker/registry.osism.tech%2fosism%2fosism/0.20251205.0?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/registry.osism.tech%2fosism%2fosism/0.20251130.1/0.20251205.0?slim=true)
          | minor |\n\n---\n\n### Release Notes\n\n<details>\n<summary>osism/python-osism
          (osism)</summary>\n\n### [`v0.20251205.0`](https://redirect.github.com/osism/python-osism/blob/HEAD/CHANGELOG.md#v0202512050---2025-12-05)\n\n[Compare
          Source](https://redirect.github.com/osism/python-osism/compare/v0.20251202.0...v0.20251205.0)\n\n#####
          Added\n\n- `manage server clean` command for cleaning up problematic servers
          (stuck in BUILD status for more than 2 hours or in ERROR status)\n- `manage
          loadbalancer list` command to list loadbalancers with PENDING\\_CREATE,
          PENDING\\_UPDATE, ERROR provisioning status or ERROR operating status\n-
          `manage loadbalancer reset` command to reset loadbalancers stuck in PENDING\\_UPDATE
          or ERROR status and trigger failover\n- `manage loadbalancer delete` command
          to delete loadbalancers stuck in PENDING\\_CREATE status\n- `manage amphora
          restore` command to restore amphorae in ERROR state by triggering failover\n-
          `manage amphora rotate` command to rotate amphorae older than 30 days by
          triggering loadbalancer failover\n- `manage volume repair` command to repair
          volumes stuck in DETACHING, CREATING, ERROR\\_DELETING, or DELETING states\n-
          Magnum and Manila queue patterns to RabbitMQ 3 to 4 migration command (magnum-conductor,
          manila-data, manila-scheduler, manila-share)\n- `--cloud` parameter to `manage
          server list`, `manage server clean`, `manage server migrate`, and `manage
          volume list` commands for consistent OpenStack connection handling\n- Initial
          CHANGELOG.md with history of notable changes\n\n##### Changed\n\n- Manage
          commands now use `setup_cloud_environment()` and `cleanup_cloud_environment()`
          for OpenStack connections, ensuring proper cloud configuration with secure
          credential handling from vault\n- SONiC port speed override now distinguishes
          between explicitly set NetBox speeds (always takes precedence) and derived
          speeds from port type (only used if port config has no speed)\n- NetBox
          speed values are now properly converted from kbps to Mbps for SONiC configuration\n-
          Migration check command now dynamically discovers all vhosts from queue
          data instead of hardcoding \"/\" and \"/openstack\"\n\n##### Fixed\n\n-
          SONiC port speed override when explicitly set in NetBox was being ignored
          when port config file had a speed configured\n- Queue count display in migrate
          check showing incorrect counts when queues existed in vhosts other than
          \"/\" and \"/openstack\"\n\n##### Removed\n\n- Changelog generation script
          moved to osism/release repository\n\n##### Dependencies\n\n- celery 5.5.3
          \u2192 5.6.0\n- community.docker 5.0.2 \u2192 5.0.3\n- fastapi 0.122.0 \u2192
          0.123.8\n- ghcr.io/astral-sh/uv 0.9.13 \u2192 0.9.15\n- kombu 5.5.4 \u2192
          5.6.1\n- openstack-image-manager 0.20251128.0 \u2192 0.20251201.0\n\n###
          [`v0.20251202.0`](https://redirect.github.com/osism/python-osism/blob/HEAD/CHANGELOG.md#v0202512020---2025-12-02)\n\n[Compare
          Source](https://redirect.github.com/osism/python-osism/compare/v0.20251130.1...v0.20251202.0)\n\n#####
          Added\n\n- New `osism migrate rabbitmq3to4` command to assist with RabbitMQ
          3 to 4 migration, including subcommands for listing, deleting classic queues,
          checking migration status, and preparing the openstack vhost with quorum
          queue defaults\n- New `osism status database` command to check MariaDB Galera
          Cluster status with extended metrics including flow control, transaction
          statistics, cluster member info, and general MariaDB metrics\n- New `osism
          status messaging` command to check RabbitMQ Cluster status across all nodes
          with optional hostname filtering\n- Support for `event.sample` queue pattern
          in ceilometer for the migrate command\n\n##### Changed\n\n- Moved `validate
          database` and `validate messaging` commands to `status database` and `status
          messaging` respectively\n- Extended `status messaging` command to check
          all RabbitMQ nodes instead of only the first one\n- Listener queues now
          use RabbitMQ's configured default queue type instead of forcing classic
          queues, enabling compatibility with quorum queues in RabbitMQ 4\n- Renamed
          generic queue pattern key to \"notifications\" in migrate command for clarity\n-
          Refactored RabbitMQ connection code into shared `osism/utils/rabbitmq.py`
          module\n\n##### Fixed\n\n- Improved migration detection in `migrate rabbitmq3to4
          check` with vhost-specific queue counting for more accurate status reporting\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/release).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
        change_url: https://github.com/osism/release/pull/2346
        commit_id: 21b75a828177f62d91ef9d02e2c1657f596693c4
        patchset: 21b75a828177f62d91ef9d02e2c1657f596693c4
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/release
          name: osism/release
          short_name: release
        src_dir: src/github.com/osism/release
        topic: null
      buildset: 2b9f10a9877a4e61a43299d8fcda99b4
      buildset_refs:
      - branch: main
        change: '2346'
        change_message: "chore(deps): update osism to v0.20251205.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/) | Update
          |\n|---|---|---|---|---|\n| [osism](https://redirect.github.com/osism/python-osism)
          | `0.20251130.1` -> `0.20251205.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/osism/0.20251205.0?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/osism/0.20251130.1/0.20251205.0?slim=true)
          | minor |\n| [registry.osism.tech/osism/osism](https://quay.io/organization/osism)
          ([source](https://redirect.github.com/osism/python-osism)) | `0.20251130.1`
          -> `0.20251205.0` | ![age](https://developer.mend.io/api/mc/badges/age/docker/registry.osism.tech%2fosism%2fosism/0.20251205.0?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/registry.osism.tech%2fosism%2fosism/0.20251130.1/0.20251205.0?slim=true)
          | minor |\n\n---\n\n### Release Notes\n\n<details>\n<summary>osism/python-osism
          (osism)</summary>\n\n### [`v0.20251205.0`](https://redirect.github.com/osism/python-osism/blob/HEAD/CHANGELOG.md#v0202512050---2025-12-05)\n\n[Compare
          Source](https://redirect.github.com/osism/python-osism/compare/v0.20251202.0...v0.20251205.0)\n\n#####
          Added\n\n- `manage server clean` command for cleaning up problematic servers
          (stuck in BUILD status for more than 2 hours or in ERROR status)\n- `manage
          loadbalancer list` command to list loadbalancers with PENDING\\_CREATE,
          PENDING\\_UPDATE, ERROR provisioning status or ERROR operating status\n-
          `manage loadbalancer reset` command to reset loadbalancers stuck in PENDING\\_UPDATE
          or ERROR status and trigger failover\n- `manage loadbalancer delete` command
          to delete loadbalancers stuck in PENDING\\_CREATE status\n- `manage amphora
          restore` command to restore amphorae in ERROR state by triggering failover\n-
          `manage amphora rotate` command to rotate amphorae older than 30 days by
          triggering loadbalancer failover\n- `manage volume repair` command to repair
          volumes stuck in DETACHING, CREATING, ERROR\\_DELETING, or DELETING states\n-
          Magnum and Manila queue patterns to RabbitMQ 3 to 4 migration command (magnum-conductor,
          manila-data, manila-scheduler, manila-share)\n- `--cloud` parameter to `manage
          server list`, `manage server clean`, `manage server migrate`, and `manage
          volume list` commands for consistent OpenStack connection handling\n- Initial
          CHANGELOG.md with history of notable changes\n\n##### Changed\n\n- Manage
          commands now use `setup_cloud_environment()` and `cleanup_cloud_environment()`
          for OpenStack connections, ensuring proper cloud configuration with secure
          credential handling from vault\n- SONiC port speed override now distinguishes
          between explicitly set NetBox speeds (always takes precedence) and derived
          speeds from port type (only used if port config has no speed)\n- NetBox
          speed values are now properly converted from kbps to Mbps for SONiC configuration\n-
          Migration check command now dynamically discovers all vhosts from queue
          data instead of hardcoding \"/\" and \"/openstack\"\n\n##### Fixed\n\n-
          SONiC port speed override when explicitly set in NetBox was being ignored
          when port config file had a speed configured\n- Queue count display in migrate
          check showing incorrect counts when queues existed in vhosts other than
          \"/\" and \"/openstack\"\n\n##### Removed\n\n- Changelog generation script
          moved to osism/release repository\n\n##### Dependencies\n\n- celery 5.5.3
          \u2192 5.6.0\n- community.docker 5.0.2 \u2192 5.0.3\n- fastapi 0.122.0 \u2192
          0.123.8\n- ghcr.io/astral-sh/uv 0.9.13 \u2192 0.9.15\n- kombu 5.5.4 \u2192
          5.6.1\n- openstack-image-manager 0.20251128.0 \u2192 0.20251201.0\n\n###
          [`v0.20251202.0`](https://redirect.github.com/osism/python-osism/blob/HEAD/CHANGELOG.md#v0202512020---2025-12-02)\n\n[Compare
          Source](https://redirect.github.com/osism/python-osism/compare/v0.20251130.1...v0.20251202.0)\n\n#####
          Added\n\n- New `osism migrate rabbitmq3to4` command to assist with RabbitMQ
          3 to 4 migration, including subcommands for listing, deleting classic queues,
          checking migration status, and preparing the openstack vhost with quorum
          queue defaults\n- New `osism status database` command to check MariaDB Galera
          Cluster status with extended metrics including flow control, transaction
          statistics, cluster member info, and general MariaDB metrics\n- New `osism
          status messaging` command to check RabbitMQ Cluster status across all nodes
          with optional hostname filtering\n- Support for `event.sample` queue pattern
          in ceilometer for the migrate command\n\n##### Changed\n\n- Moved `validate
          database` and `validate messaging` commands to `status database` and `status
          messaging` respectively\n- Extended `status messaging` command to check
          all RabbitMQ nodes instead of only the first one\n- Listener queues now
          use RabbitMQ's configured default queue type instead of forcing classic
          queues, enabling compatibility with quorum queues in RabbitMQ 4\n- Renamed
          generic queue pattern key to \"notifications\" in migrate command for clarity\n-
          Refactored RabbitMQ connection code into shared `osism/utils/rabbitmq.py`
          module\n\n##### Fixed\n\n- Improved migration detection in `migrate rabbitmq3to4
          check` with vhost-specific queue counting for more accurate status reporting\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/release).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
        change_url: https://github.com/osism/release/pull/2346
        commit_id: 21b75a828177f62d91ef9d02e2c1657f596693c4
        patchset: 21b75a828177f62d91ef9d02e2c1657f596693c4
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/release
          name: osism/release
          short_name: release
        src_dir: src/github.com/osism/release
        topic: null
      change: '2346'
      change_message: "chore(deps): update osism to v0.20251205.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/) | Update |\n|---|---|---|---|---|\n|
        [osism](https://redirect.github.com/osism/python-osism) | `0.20251130.1` ->
        `0.20251205.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/osism/0.20251205.0?slim=true)
        | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/osism/0.20251130.1/0.20251205.0?slim=true)
        | minor |\n| [registry.osism.tech/osism/osism](https://quay.io/organization/osism)
        ([source](https://redirect.github.com/osism/python-osism)) | `0.20251130.1`
        -> `0.20251205.0` | ![age](https://developer.mend.io/api/mc/badges/age/docker/registry.osism.tech%2fosism%2fosism/0.20251205.0?slim=true)
        | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/registry.osism.tech%2fosism%2fosism/0.20251130.1/0.20251205.0?slim=true)
        | minor |\n\n---\n\n### Release Notes\n\n<details>\n<summary>osism/python-osism
        (osism)</summary>\n\n### [`v0.20251205.0`](https://redirect.github.com/osism/python-osism/blob/HEAD/CHANGELOG.md#v0202512050---2025-12-05)\n\n[Compare
        Source](https://redirect.github.com/osism/python-osism/compare/v0.20251202.0...v0.20251205.0)\n\n#####
        Added\n\n- `manage server clean` command for cleaning up problematic servers
        (stuck in BUILD status for more than 2 hours or in ERROR status)\n- `manage
        loadbalancer list` command to list loadbalancers with PENDING\\_CREATE, PENDING\\_UPDATE,
        ERROR provisioning status or ERROR operating status\n- `manage loadbalancer
        reset` command to reset loadbalancers stuck in PENDING\\_UPDATE or ERROR status
        and trigger failover\n- `manage loadbalancer delete` command to delete loadbalancers
        stuck in PENDING\\_CREATE status\n- `manage amphora restore` command to restore
        amphorae in ERROR state by triggering failover\n- `manage amphora rotate`
        command to rotate amphorae older than 30 days by triggering loadbalancer failover\n-
        `manage volume repair` command to repair volumes stuck in DETACHING, CREATING,
        ERROR\\_DELETING, or DELETING states\n- Magnum and Manila queue patterns to
        RabbitMQ 3 to 4 migration command (magnum-conductor, manila-data, manila-scheduler,
        manila-share)\n- `--cloud` parameter to `manage server list`, `manage server
        clean`, `manage server migrate`, and `manage volume list` commands for consistent
        OpenStack connection handling\n- Initial CHANGELOG.md with history of notable
        changes\n\n##### Changed\n\n- Manage commands now use `setup_cloud_environment()`
        and `cleanup_cloud_environment()` for OpenStack connections, ensuring proper
        cloud configuration with secure credential handling from vault\n- SONiC port
        speed override now distinguishes between explicitly set NetBox speeds (always
        takes precedence) and derived speeds from port type (only used if port config
        has no speed)\n- NetBox speed values are now properly converted from kbps
        to Mbps for SONiC configuration\n- Migration check command now dynamically
        discovers all vhosts from queue data instead of hardcoding \"/\" and \"/openstack\"\n\n#####
        Fixed\n\n- SONiC port speed override when explicitly set in NetBox was being
        ignored when port config file had a speed configured\n- Queue count display
        in migrate check showing incorrect counts when queues existed in vhosts other
        than \"/\" and \"/openstack\"\n\n##### Removed\n\n- Changelog generation script
        moved to osism/release repository\n\n##### Dependencies\n\n- celery 5.5.3
        \u2192 5.6.0\n- community.docker 5.0.2 \u2192 5.0.3\n- fastapi 0.122.0 \u2192
        0.123.8\n- ghcr.io/astral-sh/uv 0.9.13 \u2192 0.9.15\n- kombu 5.5.4 \u2192
        5.6.1\n- openstack-image-manager 0.20251128.0 \u2192 0.20251201.0\n\n### [`v0.20251202.0`](https://redirect.github.com/osism/python-osism/blob/HEAD/CHANGELOG.md#v0202512020---2025-12-02)\n\n[Compare
        Source](https://redirect.github.com/osism/python-osism/compare/v0.20251130.1...v0.20251202.0)\n\n#####
        Added\n\n- New `osism migrate rabbitmq3to4` command to assist with RabbitMQ
        3 to 4 migration, including subcommands for listing, deleting classic queues,
        checking migration status, and preparing the openstack vhost with quorum queue
        defaults\n- New `osism status database` command to check MariaDB Galera Cluster
        status with extended metrics including flow control, transaction statistics,
        cluster member info, and general MariaDB metrics\n- New `osism status messaging`
        command to check RabbitMQ Cluster status across all nodes with optional hostname
        filtering\n- Support for `event.sample` queue pattern in ceilometer for the
        migrate command\n\n##### Changed\n\n- Moved `validate database` and `validate
        messaging` commands to `status database` and `status messaging` respectively\n-
        Extended `status messaging` command to check all RabbitMQ nodes instead of
        only the first one\n- Listener queues now use RabbitMQ's configured default
        queue type instead of forcing classic queues, enabling compatibility with
        quorum queues in RabbitMQ 4\n- Renamed generic queue pattern key to \"notifications\"
        in migrate command for clarity\n- Refactored RabbitMQ connection code into
        shared `osism/utils/rabbitmq.py` module\n\n##### Fixed\n\n- Improved migration
        detection in `migrate rabbitmq3to4 check` with vhost-specific queue counting
        for more accurate status reporting\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/release).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
      change_url: https://github.com/osism/release/pull/2346
      child_jobs: []
      commit_id: 21b75a828177f62d91ef9d02e2c1657f596693c4
      event_id: 183f3d40-d211-11f0-9b05-c3756331e37f
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/6f90af4063fc48e1986c0c4a14091776/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/6f90af4063fc48e1986c0c4a14091776/work/logs
        result_data_file: /var/lib/zuul/builds/6f90af4063fc48e1986c0c4a14091776/work/results.json
        src_root: /var/lib/zuul/builds/6f90af4063fc48e1986c0c4a14091776/work/src
        work_root: /var/lib/zuul/builds/6f90af4063fc48e1986c0c4a14091776/work
      include_vars: []
      items:
      - branch: main
        change: '2346'
        change_message: "chore(deps): update osism to v0.20251205.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/) | Update
          |\n|---|---|---|---|---|\n| [osism](https://redirect.github.com/osism/python-osism)
          | `0.20251130.1` -> `0.20251205.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/osism/0.20251205.0?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/osism/0.20251130.1/0.20251205.0?slim=true)
          | minor |\n| [registry.osism.tech/osism/osism](https://quay.io/organization/osism)
          ([source](https://redirect.github.com/osism/python-osism)) | `0.20251130.1`
          -> `0.20251205.0` | ![age](https://developer.mend.io/api/mc/badges/age/docker/registry.osism.tech%2fosism%2fosism/0.20251205.0?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/registry.osism.tech%2fosism%2fosism/0.20251130.1/0.20251205.0?slim=true)
          | minor |\n\n---\n\n### Release Notes\n\n<details>\n<summary>osism/python-osism
          (osism)</summary>\n\n### [`v0.20251205.0`](https://redirect.github.com/osism/python-osism/blob/HEAD/CHANGELOG.md#v0202512050---2025-12-05)\n\n[Compare
          Source](https://redirect.github.com/osism/python-osism/compare/v0.20251202.0...v0.20251205.0)\n\n#####
          Added\n\n- `manage server clean` command for cleaning up problematic servers
          (stuck in BUILD status for more than 2 hours or in ERROR status)\n- `manage
          loadbalancer list` command to list loadbalancers with PENDING\\_CREATE,
          PENDING\\_UPDATE, ERROR provisioning status or ERROR operating status\n-
          `manage loadbalancer reset` command to reset loadbalancers stuck in PENDING\\_UPDATE
          or ERROR status and trigger failover\n- `manage loadbalancer delete` command
          to delete loadbalancers stuck in PENDING\\_CREATE status\n- `manage amphora
          restore` command to restore amphorae in ERROR state by triggering failover\n-
          `manage amphora rotate` command to rotate amphorae older than 30 days by
          triggering loadbalancer failover\n- `manage volume repair` command to repair
          volumes stuck in DETACHING, CREATING, ERROR\\_DELETING, or DELETING states\n-
          Magnum and Manila queue patterns to RabbitMQ 3 to 4 migration command (magnum-conductor,
          manila-data, manila-scheduler, manila-share)\n- `--cloud` parameter to `manage
          server list`, `manage server clean`, `manage server migrate`, and `manage
          volume list` commands for consistent OpenStack connection handling\n- Initial
          CHANGELOG.md with history of notable changes\n\n##### Changed\n\n- Manage
          commands now use `setup_cloud_environment()` and `cleanup_cloud_environment()`
          for OpenStack connections, ensuring proper cloud configuration with secure
          credential handling from vault\n- SONiC port speed override now distinguishes
          between explicitly set NetBox speeds (always takes precedence) and derived
          speeds from port type (only used if port config has no speed)\n- NetBox
          speed values are now properly converted from kbps to Mbps for SONiC configuration\n-
          Migration check command now dynamically discovers all vhosts from queue
          data instead of hardcoding \"/\" and \"/openstack\"\n\n##### Fixed\n\n-
          SONiC port speed override when explicitly set in NetBox was being ignored
          when port config file had a speed configured\n- Queue count display in migrate
          check showing incorrect counts when queues existed in vhosts other than
          \"/\" and \"/openstack\"\n\n##### Removed\n\n- Changelog generation script
          moved to osism/release repository\n\n##### Dependencies\n\n- celery 5.5.3
          \u2192 5.6.0\n- community.docker 5.0.2 \u2192 5.0.3\n- fastapi 0.122.0 \u2192
          0.123.8\n- ghcr.io/astral-sh/uv 0.9.13 \u2192 0.9.15\n- kombu 5.5.4 \u2192
          5.6.1\n- openstack-image-manager 0.20251128.0 \u2192 0.20251201.0\n\n###
          [`v0.20251202.0`](https://redirect.github.com/osism/python-osism/blob/HEAD/CHANGELOG.md#v0202512020---2025-12-02)\n\n[Compare
          Source](https://redirect.github.com/osism/python-osism/compare/v0.20251130.1...v0.20251202.0)\n\n#####
          Added\n\n- New `osism migrate rabbitmq3to4` command to assist with RabbitMQ
          3 to 4 migration, including subcommands for listing, deleting classic queues,
          checking migration status, and preparing the openstack vhost with quorum
          queue defaults\n- New `osism status database` command to check MariaDB Galera
          Cluster status with extended metrics including flow control, transaction
          statistics, cluster member info, and general MariaDB metrics\n- New `osism
          status messaging` command to check RabbitMQ Cluster status across all nodes
          with optional hostname filtering\n- Support for `event.sample` queue pattern
          in ceilometer for the migrate command\n\n##### Changed\n\n- Moved `validate
          database` and `validate messaging` commands to `status database` and `status
          messaging` respectively\n- Extended `status messaging` command to check
          all RabbitMQ nodes instead of only the first one\n- Listener queues now
          use RabbitMQ's configured default queue type instead of forcing classic
          queues, enabling compatibility with quorum queues in RabbitMQ 4\n- Renamed
          generic queue pattern key to \"notifications\" in migrate command for clarity\n-
          Refactored RabbitMQ connection code into shared `osism/utils/rabbitmq.py`
          module\n\n##### Fixed\n\n- Improved migration detection in `migrate rabbitmq3to4
          check` with vhost-specific queue counting for more accurate status reporting\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/release).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
        change_url: https://github.com/osism/release/pull/2346
        commit_id: 21b75a828177f62d91ef9d02e2c1657f596693c4
        patchset: 21b75a828177f62d91ef9d02e2c1657f596693c4
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/release
          name: osism/release
          short_name: release
          src_dir: src/github.com/osism/release
        topic: null
      job: yamllint
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcyk6IHVwZGF0ZSBvc2lzbSB0byB2MC4yMDI1MTIwNS4wCgpUaGlzIFBSIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgdXBkYXRlczoKCnwgUGFja2FnZSB8IENoYW5nZSB8IFtBZ2VdKGh0dHBzOi8vZG9jcy5yZW5vdmF0ZWJvdC5jb20vbWVyZ2UtY29uZmlkZW5jZS8pIHwgW0NvbmZpZGVuY2VdKGh0dHBzOi8vZG9jcy5yZW5vdmF0ZWJvdC5jb20vbWVyZ2UtY29uZmlkZW5jZS8pIHwgVXBkYXRlIHwKfC0tLXwtLS18LS0tfC0tLXwtLS18CnwgW29zaXNtXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3Npc20vcHl0aG9uLW9zaXNtKSB8IGAwLjIwMjUxMTMwLjFgIC0+IGAwLjIwMjUxMjA1LjBgIHwgIVthZ2VdKGh0dHBzOi8vZGV2ZWxvcGVyLm1lbmQuaW8vYXBpL21jL2JhZGdlcy9hZ2UvcHlwaS9vc2lzbS8wLjIwMjUxMjA1LjA/c2xpbT10cnVlKSB8ICFbY29uZmlkZW5jZV0oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9hcGkvbWMvYmFkZ2VzL2NvbmZpZGVuY2UvcHlwaS9vc2lzbS8wLjIwMjUxMTMwLjEvMC4yMDI1MTIwNS4wP3NsaW09dHJ1ZSkgfCBtaW5vciB8CnwgW3JlZ2lzdHJ5Lm9zaXNtLnRlY2gvb3Npc20vb3Npc21dKGh0dHBzOi8vcXVheS5pby9vcmdhbml6YXRpb24vb3Npc20pIChbc291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3Npc20vcHl0aG9uLW9zaXNtKSkgfCBgMC4yMDI1MTEzMC4xYCAtPiBgMC4yMDI1MTIwNS4wYCB8ICFbYWdlXShodHRwczovL2RldmVsb3Blci5tZW5kLmlvL2FwaS9tYy9iYWRnZXMvYWdlL2RvY2tlci9yZWdpc3RyeS5vc2lzbS50ZWNoJTJmb3Npc20lMmZvc2lzbS8wLjIwMjUxMjA1LjA/c2xpbT10cnVlKSB8ICFbY29uZmlkZW5jZV0oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9hcGkvbWMvYmFkZ2VzL2NvbmZpZGVuY2UvZG9ja2VyL3JlZ2lzdHJ5Lm9zaXNtLnRlY2glMmZvc2lzbSUyZm9zaXNtLzAuMjAyNTExMzAuMS8wLjIwMjUxMjA1LjA/c2xpbT10cnVlKSB8IG1pbm9yIHwKCi0tLQoKIyMjIFJlbGVhc2UgTm90ZXMKCjxkZXRhaWxzPgo8c3VtbWFyeT5vc2lzbS9weXRob24tb3Npc20gKG9zaXNtKTwvc3VtbWFyeT4KCiMjIyBbYHYwLjIwMjUxMjA1LjBgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3Npc20vcHl0aG9uLW9zaXNtL2Jsb2IvSEVBRC9DSEFOR0VMT0cubWQjdjAyMDI1MTIwNTAtLS0yMDI1LTEyLTA1KQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3Npc20vcHl0aG9uLW9zaXNtL2NvbXBhcmUvdjAuMjAyNTEyMDIuMC4uLnYwLjIwMjUxMjA1LjApCgojIyMjIyBBZGRlZAoKLSBgbWFuYWdlIHNlcnZlciBjbGVhbmAgY29tbWFuZCBmb3IgY2xlYW5pbmcgdXAgcHJvYmxlbWF0aWMgc2VydmVycyAoc3R1Y2sgaW4gQlVJTEQgc3RhdHVzIGZvciBtb3JlIHRoYW4gMiBob3VycyBvciBpbiBFUlJPUiBzdGF0dXMpCi0gYG1hbmFnZSBsb2FkYmFsYW5jZXIgbGlzdGAgY29tbWFuZCB0byBsaXN0IGxvYWRiYWxhbmNlcnMgd2l0aCBQRU5ESU5HXF9DUkVBVEUsIFBFTkRJTkdcX1VQREFURSwgRVJST1IgcHJvdmlzaW9uaW5nIHN0YXR1cyBvciBFUlJPUiBvcGVyYXRpbmcgc3RhdHVzCi0gYG1hbmFnZSBsb2FkYmFsYW5jZXIgcmVzZXRgIGNvbW1hbmQgdG8gcmVzZXQgbG9hZGJhbGFuY2VycyBzdHVjayBpbiBQRU5ESU5HXF9VUERBVEUgb3IgRVJST1Igc3RhdHVzIGFuZCB0cmlnZ2VyIGZhaWxvdmVyCi0gYG1hbmFnZSBsb2FkYmFsYW5jZXIgZGVsZXRlYCBjb21tYW5kIHRvIGRlbGV0ZSBsb2FkYmFsYW5jZXJzIHN0dWNrIGluIFBFTkRJTkdcX0NSRUFURSBzdGF0dXMKLSBgbWFuYWdlIGFtcGhvcmEgcmVzdG9yZWAgY29tbWFuZCB0byByZXN0b3JlIGFtcGhvcmFlIGluIEVSUk9SIHN0YXRlIGJ5IHRyaWdnZXJpbmcgZmFpbG92ZXIKLSBgbWFuYWdlIGFtcGhvcmEgcm90YXRlYCBjb21tYW5kIHRvIHJvdGF0ZSBhbXBob3JhZSBvbGRlciB0aGFuIDMwIGRheXMgYnkgdHJpZ2dlcmluZyBsb2FkYmFsYW5jZXIgZmFpbG92ZXIKLSBgbWFuYWdlIHZvbHVtZSByZXBhaXJgIGNvbW1hbmQgdG8gcmVwYWlyIHZvbHVtZXMgc3R1Y2sgaW4gREVUQUNISU5HLCBDUkVBVElORywgRVJST1JcX0RFTEVUSU5HLCBvciBERUxFVElORyBzdGF0ZXMKLSBNYWdudW0gYW5kIE1hbmlsYSBxdWV1ZSBwYXR0ZXJucyB0byBSYWJiaXRNUSAzIHRvIDQgbWlncmF0aW9uIGNvbW1hbmQgKG1hZ251bS1jb25kdWN0b3IsIG1hbmlsYS1kYXRhLCBtYW5pbGEtc2NoZWR1bGVyLCBtYW5pbGEtc2hhcmUpCi0gYC0tY2xvdWRgIHBhcmFtZXRlciB0byBgbWFuYWdlIHNlcnZlciBsaXN0YCwgYG1hbmFnZSBzZXJ2ZXIgY2xlYW5gLCBgbWFuYWdlIHNlcnZlciBtaWdyYXRlYCwgYW5kIGBtYW5hZ2Ugdm9sdW1lIGxpc3RgIGNvbW1hbmRzIGZvciBjb25zaXN0ZW50IE9wZW5TdGFjayBjb25uZWN0aW9uIGhhbmRsaW5nCi0gSW5pdGlhbCBDSEFOR0VMT0cubWQgd2l0aCBoaXN0b3J5IG9mIG5vdGFibGUgY2hhbmdlcwoKIyMjIyMgQ2hhbmdlZAoKLSBNYW5hZ2UgY29tbWFuZHMgbm93IHVzZSBgc2V0dXBfY2xvdWRfZW52aXJvbm1lbnQoKWAgYW5kIGBjbGVhbnVwX2Nsb3VkX2Vudmlyb25tZW50KClgIGZvciBPcGVuU3RhY2sgY29ubmVjdGlvbnMsIGVuc3VyaW5nIHByb3BlciBjbG91ZCBjb25maWd1cmF0aW9uIHdpdGggc2VjdXJlIGNyZWRlbnRpYWwgaGFuZGxpbmcgZnJvbSB2YXVsdAotIFNPTmlDIHBvcnQgc3BlZWQgb3ZlcnJpZGUgbm93IGRpc3Rpbmd1aXNoZXMgYmV0d2VlbiBleHBsaWNpdGx5IHNldCBOZXRCb3ggc3BlZWRzIChhbHdheXMgdGFrZXMgcHJlY2VkZW5jZSkgYW5kIGRlcml2ZWQgc3BlZWRzIGZyb20gcG9ydCB0eXBlIChvbmx5IHVzZWQgaWYgcG9ydCBjb25maWcgaGFzIG5vIHNwZWVkKQotIE5ldEJveCBzcGVlZCB2YWx1ZXMgYXJlIG5vdyBwcm9wZXJseSBjb252ZXJ0ZWQgZnJvbSBrYnBzIHRvIE1icHMgZm9yIFNPTmlDIGNvbmZpZ3VyYXRpb24KLSBNaWdyYXRpb24gY2hlY2sgY29tbWFuZCBub3cgZHluYW1pY2FsbHkgZGlzY292ZXJzIGFsbCB2aG9zdHMgZnJvbSBxdWV1ZSBkYXRhIGluc3RlYWQgb2YgaGFyZGNvZGluZyAiLyIgYW5kICIvb3BlbnN0YWNrIgoKIyMjIyMgRml4ZWQKCi0gU09OaUMgcG9ydCBzcGVlZCBvdmVycmlkZSB3aGVuIGV4cGxpY2l0bHkgc2V0IGluIE5ldEJveCB3YXMgYmVpbmcgaWdub3JlZCB3aGVuIHBvcnQgY29uZmlnIGZpbGUgaGFkIGEgc3BlZWQgY29uZmlndXJlZAotIFF1ZXVlIGNvdW50IGRpc3BsYXkgaW4gbWlncmF0ZSBjaGVjayBzaG93aW5nIGluY29ycmVjdCBjb3VudHMgd2hlbiBxdWV1ZXMgZXhpc3RlZCBpbiB2aG9zdHMgb3RoZXIgdGhhbiAiLyIgYW5kICIvb3BlbnN0YWNrIgoKIyMjIyMgUmVtb3ZlZAoKLSBDaGFuZ2Vsb2cgZ2VuZXJhdGlvbiBzY3JpcHQgbW92ZWQgdG8gb3Npc20vcmVsZWFzZSByZXBvc2l0b3J5CgojIyMjIyBEZXBlbmRlbmNpZXMKCi0gY2VsZXJ5IDUuNS4zIOKGkiA1LjYuMAotIGNvbW11bml0eS5kb2NrZXIgNS4wLjIg4oaSIDUuMC4zCi0gZmFzdGFwaSAwLjEyMi4wIOKGkiAwLjEyMy44Ci0gZ2hjci5pby9hc3RyYWwtc2gvdXYgMC45LjEzIOKGkiAwLjkuMTUKLSBrb21idSA1LjUuNCDihpIgNS42LjEKLSBvcGVuc3RhY2staW1hZ2UtbWFuYWdlciAwLjIwMjUxMTI4LjAg4oaSIDAuMjAyNTEyMDEuMAoKIyMjIFtgdjAuMjAyNTEyMDIuMGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vc2lzbS9weXRob24tb3Npc20vYmxvYi9IRUFEL0NIQU5HRUxPRy5tZCN2MDIwMjUxMjAyMC0tLTIwMjUtMTItMDIpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vc2lzbS9weXRob24tb3Npc20vY29tcGFyZS92MC4yMDI1MTEzMC4xLi4udjAuMjAyNTEyMDIuMCkKCiMjIyMjIEFkZGVkCgotIE5ldyBgb3Npc20gbWlncmF0ZSByYWJiaXRtcTN0bzRgIGNvbW1hbmQgdG8gYXNzaXN0IHdpdGggUmFiYml0TVEgMyB0byA0IG1pZ3JhdGlvbiwgaW5jbHVkaW5nIHN1YmNvbW1hbmRzIGZvciBsaXN0aW5nLCBkZWxldGluZyBjbGFzc2ljIHF1ZXVlcywgY2hlY2tpbmcgbWlncmF0aW9uIHN0YXR1cywgYW5kIHByZXBhcmluZyB0aGUgb3BlbnN0YWNrIHZob3N0IHdpdGggcXVvcnVtIHF1ZXVlIGRlZmF1bHRzCi0gTmV3IGBvc2lzbSBzdGF0dXMgZGF0YWJhc2VgIGNvbW1hbmQgdG8gY2hlY2sgTWFyaWFEQiBHYWxlcmEgQ2x1c3RlciBzdGF0dXMgd2l0aCBleHRlbmRlZCBtZXRyaWNzIGluY2x1ZGluZyBmbG93IGNvbnRyb2wsIHRyYW5zYWN0aW9uIHN0YXRpc3RpY3MsIGNsdXN0ZXIgbWVtYmVyIGluZm8sIGFuZCBnZW5lcmFsIE1hcmlhREIgbWV0cmljcwotIE5ldyBgb3Npc20gc3RhdHVzIG1lc3NhZ2luZ2AgY29tbWFuZCB0byBjaGVjayBSYWJiaXRNUSBDbHVzdGVyIHN0YXR1cyBhY3Jvc3MgYWxsIG5vZGVzIHdpdGggb3B0aW9uYWwgaG9zdG5hbWUgZmlsdGVyaW5nCi0gU3VwcG9ydCBmb3IgYGV2ZW50LnNhbXBsZWAgcXVldWUgcGF0dGVybiBpbiBjZWlsb21ldGVyIGZvciB0aGUgbWlncmF0ZSBjb21tYW5kCgojIyMjIyBDaGFuZ2VkCgotIE1vdmVkIGB2YWxpZGF0ZSBkYXRhYmFzZWAgYW5kIGB2YWxpZGF0ZSBtZXNzYWdpbmdgIGNvbW1hbmRzIHRvIGBzdGF0dXMgZGF0YWJhc2VgIGFuZCBgc3RhdHVzIG1lc3NhZ2luZ2AgcmVzcGVjdGl2ZWx5Ci0gRXh0ZW5kZWQgYHN0YXR1cyBtZXNzYWdpbmdgIGNvbW1hbmQgdG8gY2hlY2sgYWxsIFJhYmJpdE1RIG5vZGVzIGluc3RlYWQgb2Ygb25seSB0aGUgZmlyc3Qgb25lCi0gTGlzdGVuZXIgcXVldWVzIG5vdyB1c2UgUmFiYml0TVEncyBjb25maWd1cmVkIGRlZmF1bHQgcXVldWUgdHlwZSBpbnN0ZWFkIG9mIGZvcmNpbmcgY2xhc3NpYyBxdWV1ZXMsIGVuYWJsaW5nIGNvbXBhdGliaWxpdHkgd2l0aCBxdW9ydW0gcXVldWVzIGluIFJhYmJpdE1RIDQKLSBSZW5hbWVkIGdlbmVyaWMgcXVldWUgcGF0dGVybiBrZXkgdG8gIm5vdGlmaWNhdGlvbnMiIGluIG1pZ3JhdGUgY29tbWFuZCBmb3IgY2xhcml0eQotIFJlZmFjdG9yZWQgUmFiYml0TVEgY29ubmVjdGlvbiBjb2RlIGludG8gc2hhcmVkIGBvc2lzbS91dGlscy9yYWJiaXRtcS5weWAgbW9kdWxlCgojIyMjIyBGaXhlZAoKLSBJbXByb3ZlZCBtaWdyYXRpb24gZGV0ZWN0aW9uIGluIGBtaWdyYXRlIHJhYmJpdG1xM3RvNCBjaGVja2Agd2l0aCB2aG9zdC1zcGVjaWZpYyBxdWV1ZSBjb3VudGluZyBmb3IgbW9yZSBhY2N1cmF0ZSBzdGF0dXMgcmVwb3J0aW5nCgo8L2RldGFpbHM+CgotLS0KCiMjIyBDb25maWd1cmF0aW9uCgrwn5OFICoqU2NoZWR1bGUqKjogQnJhbmNoIGNyZWF0aW9uIC0gQXQgYW55IHRpbWUgKG5vIHNjaGVkdWxlIGRlZmluZWQpLCBBdXRvbWVyZ2UgLSBBdCBhbnkgdGltZSAobm8gc2NoZWR1bGUgZGVmaW5lZCkuCgrwn5qmICoqQXV0b21lcmdlKio6IERpc2FibGVkIGJ5IGNvbmZpZy4gUGxlYXNlIG1lcmdlIHRoaXMgbWFudWFsbHkgb25jZSB5b3UgYXJlIHNhdGlzZmllZC4KCuKZuyAqKlJlYmFzaW5nKio6IFdoZW5ldmVyIFBSIGJlY29tZXMgY29uZmxpY3RlZCwgb3IgeW91IHRpY2sgdGhlIHJlYmFzZS9yZXRyeSBjaGVja2JveC4KCvCflJUgKipJZ25vcmUqKjogQ2xvc2UgdGhpcyBQUiBhbmQgeW91IHdvbid0IGJlIHJlbWluZGVkIGFib3V0IHRoZXNlIHVwZGF0ZXMgYWdhaW4uCgotLS0KCiAtIFsgXSA8IS0tIHJlYmFzZS1jaGVjayAtLT5JZiB5b3Ugd2FudCB0byByZWJhc2UvcmV0cnkgdGhpcyBQUiwgY2hlY2sgdGhpcyBib3gKCi0tLQoKVGhpcyBQUiB3YXMgZ2VuZXJhdGVkIGJ5IFtNZW5kIFJlbm92YXRlXShodHRwczovL21lbmQuaW8vcmVub3ZhdGUvKS4gVmlldyB0aGUgW3JlcG9zaXRvcnkgam9iIGxvZ10oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9naXRodWIvb3Npc20vcmVsZWFzZSkuCjwhLS1yZW5vdmF0ZS1kZWJ1ZzpleUpqY21WaGRHVmtTVzVXWlhJaU9pSTBNaTR6TWk0eUlpd2lkWEJrWVhSbFpFbHVWbVZ5SWpvaU5ESXVNekl1TWlJc0luUmhjbWRsZEVKeVlXNWphQ0k2SW0xaGFXNGlMQ0pzWVdKbGJITWlPbHNpY21WdWIzWmhkR1VpWFgwPS0tPgo=
      patchset: 21b75a828177f62d91ef9d02e2c1657f596693c4
      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/yamllint/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/release
        name: osism/release
        short_name: release
        src_dir: src/github.com/osism/release
      projects:
        github.com/osism/release:
          canonical_hostname: github.com
          canonical_name: github.com/osism/release
          checkout: main
          checkout_description: zuul branch
          commit: d6e61998fe45b984267af793c4a938e3b898cc9a
          name: osism/release
          required: false
          short_name: release
          src_dir: src/github.com/osism/release
      ref: refs/pull/2346/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
