all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe46:abb9
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 03deace8-85ec-4f9f-81e4-f93d0d24732f
        host_id: df70f2a3f3d0c26428f22685cfc722ebc48099d99e7332c39e017195
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe46:abb9
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.51
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.183
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe46:abb9
        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 python-osism-unit-tests explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/python-osism/.zuul.yaml@main#133>'
      - '<Job python-osism-unit-tests explicit: None implied: None source: osism/python-osism/.zuul.yaml@main#143>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 027b9047f13a468a9e8e6504f702913f
      build_refs:
      - branch: main
        change: '2459'
        change_message: "Add unit tests for osism/tasks/openstack.py\n\n## Summary\n\nAdds
          `tests/unit/tasks/test_openstack.py` with unit tests for the OpenStack Celery
          worker module, covering the targets listed in #2356:\n\n- **Cloud credential/environment
          helpers**: `get_cloud_password` (hyphen normalization, key-format guard,
          whitespace stripping, non-string coercion, loader errors), `setup_cloud_environment`
          (password-injection branch incl. `clouds.yml`/missing-`auth`/missing-profile
          variants, `secure.yml`/`secure.yaml` fallback branch, error paths), `cleanup_cloud_environment`
          and `get_cloud_helpers`.\n- **Module-level `get_openstack_connection(cloud,
          password)`**: all `Unauthorized`/`MissingRequiredOptions`/`SDKException`
          exit paths for both the password and the secure.yml attempt, the secure.yml
          retry after a failed password, and the `current_project` connection probe.
          The real `keystoneauth1`/`openstacksdk` exception classes are raised.\n-
          **Baremetal/NetBox getters**: `get_baremetal_nodes`, `get_baremetal_node_ports`,
          `get_baremetal_node_netbox_info` / `get_baremetal_nodes_netbox_info` (incl.
          `cf_inventory_hostname` fallback), and the secret masking in `get_baremetal_node_parameters`
          (value-based masking, `ironic_osism_*` name-based regex masking after dropped
          vault decryption, `secret_values` forwarding into `mask_secrets`).\n- **Thin
          Celery task wrappers**: parametrized delegation block plus the specific
          branches (`baremetal_node_create` attribute injection, `wait_for_nodes_provision_state`
          first/empty result, `set_power_state` wait/no-wait, generator materialization,
          `set_target_raid_config` microversion PUT).\n- **Manager tasks**: `image_manager`
          (delegation without configs, temp-dir config rewriting of `--images` arguments,
          cleanup on error, documented `IndexError` for a trailing `--images`), `flavor_manager`,
          `project_manager`/`project_manager_sync`, and the task-lock check for all
          four.\n\n## Notes\n\n- The issue hint suggested constructing `MissingRequiredOptions`
          with `SimpleNamespace(name=...)`; keystoneauth1 5.15.0 builds the message
          from `o.dest`, so the tests use `SimpleNamespace(dest=...)`.\n- Instead
          of patching `os.path.exists`/`os.chdir` globally, the tests patch the module-level
          `os`/`shutil`/`yaml` name bindings of `osism.tasks.openstack`, so no test
          can touch the real filesystem or working directory.\n\nCloses #2356\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/python-osism/pull/2459
        commit_id: 3343777e720fd1517a2c08f3e716b2b7df4f968d
        patchset: 3343777e720fd1517a2c08f3e716b2b7df4f968d
        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: bae8e796695f415b9f20029bfc7f61b2
      buildset_refs:
      - branch: main
        change: '2459'
        change_message: "Add unit tests for osism/tasks/openstack.py\n\n## Summary\n\nAdds
          `tests/unit/tasks/test_openstack.py` with unit tests for the OpenStack Celery
          worker module, covering the targets listed in #2356:\n\n- **Cloud credential/environment
          helpers**: `get_cloud_password` (hyphen normalization, key-format guard,
          whitespace stripping, non-string coercion, loader errors), `setup_cloud_environment`
          (password-injection branch incl. `clouds.yml`/missing-`auth`/missing-profile
          variants, `secure.yml`/`secure.yaml` fallback branch, error paths), `cleanup_cloud_environment`
          and `get_cloud_helpers`.\n- **Module-level `get_openstack_connection(cloud,
          password)`**: all `Unauthorized`/`MissingRequiredOptions`/`SDKException`
          exit paths for both the password and the secure.yml attempt, the secure.yml
          retry after a failed password, and the `current_project` connection probe.
          The real `keystoneauth1`/`openstacksdk` exception classes are raised.\n-
          **Baremetal/NetBox getters**: `get_baremetal_nodes`, `get_baremetal_node_ports`,
          `get_baremetal_node_netbox_info` / `get_baremetal_nodes_netbox_info` (incl.
          `cf_inventory_hostname` fallback), and the secret masking in `get_baremetal_node_parameters`
          (value-based masking, `ironic_osism_*` name-based regex masking after dropped
          vault decryption, `secret_values` forwarding into `mask_secrets`).\n- **Thin
          Celery task wrappers**: parametrized delegation block plus the specific
          branches (`baremetal_node_create` attribute injection, `wait_for_nodes_provision_state`
          first/empty result, `set_power_state` wait/no-wait, generator materialization,
          `set_target_raid_config` microversion PUT).\n- **Manager tasks**: `image_manager`
          (delegation without configs, temp-dir config rewriting of `--images` arguments,
          cleanup on error, documented `IndexError` for a trailing `--images`), `flavor_manager`,
          `project_manager`/`project_manager_sync`, and the task-lock check for all
          four.\n\n## Notes\n\n- The issue hint suggested constructing `MissingRequiredOptions`
          with `SimpleNamespace(name=...)`; keystoneauth1 5.15.0 builds the message
          from `o.dest`, so the tests use `SimpleNamespace(dest=...)`.\n- Instead
          of patching `os.path.exists`/`os.chdir` globally, the tests patch the module-level
          `os`/`shutil`/`yaml` name bindings of `osism.tasks.openstack`, so no test
          can touch the real filesystem or working directory.\n\nCloses #2356\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/python-osism/pull/2459
        commit_id: 3343777e720fd1517a2c08f3e716b2b7df4f968d
        patchset: 3343777e720fd1517a2c08f3e716b2b7df4f968d
        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: '2459'
      change_message: "Add unit tests for osism/tasks/openstack.py\n\n## Summary\n\nAdds
        `tests/unit/tasks/test_openstack.py` with unit tests for the OpenStack Celery
        worker module, covering the targets listed in #2356:\n\n- **Cloud credential/environment
        helpers**: `get_cloud_password` (hyphen normalization, key-format guard, whitespace
        stripping, non-string coercion, loader errors), `setup_cloud_environment`
        (password-injection branch incl. `clouds.yml`/missing-`auth`/missing-profile
        variants, `secure.yml`/`secure.yaml` fallback branch, error paths), `cleanup_cloud_environment`
        and `get_cloud_helpers`.\n- **Module-level `get_openstack_connection(cloud,
        password)`**: all `Unauthorized`/`MissingRequiredOptions`/`SDKException` exit
        paths for both the password and the secure.yml attempt, the secure.yml retry
        after a failed password, and the `current_project` connection probe. The real
        `keystoneauth1`/`openstacksdk` exception classes are raised.\n- **Baremetal/NetBox
        getters**: `get_baremetal_nodes`, `get_baremetal_node_ports`, `get_baremetal_node_netbox_info`
        / `get_baremetal_nodes_netbox_info` (incl. `cf_inventory_hostname` fallback),
        and the secret masking in `get_baremetal_node_parameters` (value-based masking,
        `ironic_osism_*` name-based regex masking after dropped vault decryption,
        `secret_values` forwarding into `mask_secrets`).\n- **Thin Celery task wrappers**:
        parametrized delegation block plus the specific branches (`baremetal_node_create`
        attribute injection, `wait_for_nodes_provision_state` first/empty result,
        `set_power_state` wait/no-wait, generator materialization, `set_target_raid_config`
        microversion PUT).\n- **Manager tasks**: `image_manager` (delegation without
        configs, temp-dir config rewriting of `--images` arguments, cleanup on error,
        documented `IndexError` for a trailing `--images`), `flavor_manager`, `project_manager`/`project_manager_sync`,
        and the task-lock check for all four.\n\n## Notes\n\n- The issue hint suggested
        constructing `MissingRequiredOptions` with `SimpleNamespace(name=...)`; keystoneauth1
        5.15.0 builds the message from `o.dest`, so the tests use `SimpleNamespace(dest=...)`.\n-
        Instead of patching `os.path.exists`/`os.chdir` globally, the tests patch
        the module-level `os`/`shutil`/`yaml` name bindings of `osism.tasks.openstack`,
        so no test can touch the real filesystem or working directory.\n\nCloses #2356\n\n\U0001F916
        Generated with [Claude Code](https://claude.com/claude-code)"
      change_url: https://github.com/osism/python-osism/pull/2459
      child_jobs: []
      commit_id: 3343777e720fd1517a2c08f3e716b2b7df4f968d
      event_id: c1382c00-7ef4-11f1-9ed3-dec82b635297
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/027b9047f13a468a9e8e6504f702913f/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/027b9047f13a468a9e8e6504f702913f/work/logs
        result_data_file: /var/lib/zuul/builds/027b9047f13a468a9e8e6504f702913f/work/results.json
        src_root: /var/lib/zuul/builds/027b9047f13a468a9e8e6504f702913f/work/src
        work_root: /var/lib/zuul/builds/027b9047f13a468a9e8e6504f702913f/work
      include_vars: []
      items:
      - branch: main
        change: '2459'
        change_message: "Add unit tests for osism/tasks/openstack.py\n\n## Summary\n\nAdds
          `tests/unit/tasks/test_openstack.py` with unit tests for the OpenStack Celery
          worker module, covering the targets listed in #2356:\n\n- **Cloud credential/environment
          helpers**: `get_cloud_password` (hyphen normalization, key-format guard,
          whitespace stripping, non-string coercion, loader errors), `setup_cloud_environment`
          (password-injection branch incl. `clouds.yml`/missing-`auth`/missing-profile
          variants, `secure.yml`/`secure.yaml` fallback branch, error paths), `cleanup_cloud_environment`
          and `get_cloud_helpers`.\n- **Module-level `get_openstack_connection(cloud,
          password)`**: all `Unauthorized`/`MissingRequiredOptions`/`SDKException`
          exit paths for both the password and the secure.yml attempt, the secure.yml
          retry after a failed password, and the `current_project` connection probe.
          The real `keystoneauth1`/`openstacksdk` exception classes are raised.\n-
          **Baremetal/NetBox getters**: `get_baremetal_nodes`, `get_baremetal_node_ports`,
          `get_baremetal_node_netbox_info` / `get_baremetal_nodes_netbox_info` (incl.
          `cf_inventory_hostname` fallback), and the secret masking in `get_baremetal_node_parameters`
          (value-based masking, `ironic_osism_*` name-based regex masking after dropped
          vault decryption, `secret_values` forwarding into `mask_secrets`).\n- **Thin
          Celery task wrappers**: parametrized delegation block plus the specific
          branches (`baremetal_node_create` attribute injection, `wait_for_nodes_provision_state`
          first/empty result, `set_power_state` wait/no-wait, generator materialization,
          `set_target_raid_config` microversion PUT).\n- **Manager tasks**: `image_manager`
          (delegation without configs, temp-dir config rewriting of `--images` arguments,
          cleanup on error, documented `IndexError` for a trailing `--images`), `flavor_manager`,
          `project_manager`/`project_manager_sync`, and the task-lock check for all
          four.\n\n## Notes\n\n- The issue hint suggested constructing `MissingRequiredOptions`
          with `SimpleNamespace(name=...)`; keystoneauth1 5.15.0 builds the message
          from `o.dest`, so the tests use `SimpleNamespace(dest=...)`.\n- Instead
          of patching `os.path.exists`/`os.chdir` globally, the tests patch the module-level
          `os`/`shutil`/`yaml` name bindings of `osism.tasks.openstack`, so no test
          can touch the real filesystem or working directory.\n\nCloses #2356\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/python-osism/pull/2459
        commit_id: 3343777e720fd1517a2c08f3e716b2b7df4f968d
        patchset: 3343777e720fd1517a2c08f3e716b2b7df4f968d
        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: python-osism-unit-tests
      jobtags: []
      max_attempts: 3
      message: QWRkIHVuaXQgdGVzdHMgZm9yIG9zaXNtL3Rhc2tzL29wZW5zdGFjay5weQoKIyMgU3VtbWFyeQoKQWRkcyBgdGVzdHMvdW5pdC90YXNrcy90ZXN0X29wZW5zdGFjay5weWAgd2l0aCB1bml0IHRlc3RzIGZvciB0aGUgT3BlblN0YWNrIENlbGVyeSB3b3JrZXIgbW9kdWxlLCBjb3ZlcmluZyB0aGUgdGFyZ2V0cyBsaXN0ZWQgaW4gIzIzNTY6CgotICoqQ2xvdWQgY3JlZGVudGlhbC9lbnZpcm9ubWVudCBoZWxwZXJzKio6IGBnZXRfY2xvdWRfcGFzc3dvcmRgIChoeXBoZW4gbm9ybWFsaXphdGlvbiwga2V5LWZvcm1hdCBndWFyZCwgd2hpdGVzcGFjZSBzdHJpcHBpbmcsIG5vbi1zdHJpbmcgY29lcmNpb24sIGxvYWRlciBlcnJvcnMpLCBgc2V0dXBfY2xvdWRfZW52aXJvbm1lbnRgIChwYXNzd29yZC1pbmplY3Rpb24gYnJhbmNoIGluY2wuIGBjbG91ZHMueW1sYC9taXNzaW5nLWBhdXRoYC9taXNzaW5nLXByb2ZpbGUgdmFyaWFudHMsIGBzZWN1cmUueW1sYC9gc2VjdXJlLnlhbWxgIGZhbGxiYWNrIGJyYW5jaCwgZXJyb3IgcGF0aHMpLCBgY2xlYW51cF9jbG91ZF9lbnZpcm9ubWVudGAgYW5kIGBnZXRfY2xvdWRfaGVscGVyc2AuCi0gKipNb2R1bGUtbGV2ZWwgYGdldF9vcGVuc3RhY2tfY29ubmVjdGlvbihjbG91ZCwgcGFzc3dvcmQpYCoqOiBhbGwgYFVuYXV0aG9yaXplZGAvYE1pc3NpbmdSZXF1aXJlZE9wdGlvbnNgL2BTREtFeGNlcHRpb25gIGV4aXQgcGF0aHMgZm9yIGJvdGggdGhlIHBhc3N3b3JkIGFuZCB0aGUgc2VjdXJlLnltbCBhdHRlbXB0LCB0aGUgc2VjdXJlLnltbCByZXRyeSBhZnRlciBhIGZhaWxlZCBwYXNzd29yZCwgYW5kIHRoZSBgY3VycmVudF9wcm9qZWN0YCBjb25uZWN0aW9uIHByb2JlLiBUaGUgcmVhbCBga2V5c3RvbmVhdXRoMWAvYG9wZW5zdGFja3Nka2AgZXhjZXB0aW9uIGNsYXNzZXMgYXJlIHJhaXNlZC4KLSAqKkJhcmVtZXRhbC9OZXRCb3ggZ2V0dGVycyoqOiBgZ2V0X2JhcmVtZXRhbF9ub2Rlc2AsIGBnZXRfYmFyZW1ldGFsX25vZGVfcG9ydHNgLCBgZ2V0X2JhcmVtZXRhbF9ub2RlX25ldGJveF9pbmZvYCAvIGBnZXRfYmFyZW1ldGFsX25vZGVzX25ldGJveF9pbmZvYCAoaW5jbC4gYGNmX2ludmVudG9yeV9ob3N0bmFtZWAgZmFsbGJhY2spLCBhbmQgdGhlIHNlY3JldCBtYXNraW5nIGluIGBnZXRfYmFyZW1ldGFsX25vZGVfcGFyYW1ldGVyc2AgKHZhbHVlLWJhc2VkIG1hc2tpbmcsIGBpcm9uaWNfb3Npc21fKmAgbmFtZS1iYXNlZCByZWdleCBtYXNraW5nIGFmdGVyIGRyb3BwZWQgdmF1bHQgZGVjcnlwdGlvbiwgYHNlY3JldF92YWx1ZXNgIGZvcndhcmRpbmcgaW50byBgbWFza19zZWNyZXRzYCkuCi0gKipUaGluIENlbGVyeSB0YXNrIHdyYXBwZXJzKio6IHBhcmFtZXRyaXplZCBkZWxlZ2F0aW9uIGJsb2NrIHBsdXMgdGhlIHNwZWNpZmljIGJyYW5jaGVzIChgYmFyZW1ldGFsX25vZGVfY3JlYXRlYCBhdHRyaWJ1dGUgaW5qZWN0aW9uLCBgd2FpdF9mb3Jfbm9kZXNfcHJvdmlzaW9uX3N0YXRlYCBmaXJzdC9lbXB0eSByZXN1bHQsIGBzZXRfcG93ZXJfc3RhdGVgIHdhaXQvbm8td2FpdCwgZ2VuZXJhdG9yIG1hdGVyaWFsaXphdGlvbiwgYHNldF90YXJnZXRfcmFpZF9jb25maWdgIG1pY3JvdmVyc2lvbiBQVVQpLgotICoqTWFuYWdlciB0YXNrcyoqOiBgaW1hZ2VfbWFuYWdlcmAgKGRlbGVnYXRpb24gd2l0aG91dCBjb25maWdzLCB0ZW1wLWRpciBjb25maWcgcmV3cml0aW5nIG9mIGAtLWltYWdlc2AgYXJndW1lbnRzLCBjbGVhbnVwIG9uIGVycm9yLCBkb2N1bWVudGVkIGBJbmRleEVycm9yYCBmb3IgYSB0cmFpbGluZyBgLS1pbWFnZXNgKSwgYGZsYXZvcl9tYW5hZ2VyYCwgYHByb2plY3RfbWFuYWdlcmAvYHByb2plY3RfbWFuYWdlcl9zeW5jYCwgYW5kIHRoZSB0YXNrLWxvY2sgY2hlY2sgZm9yIGFsbCBmb3VyLgoKIyMgTm90ZXMKCi0gVGhlIGlzc3VlIGhpbnQgc3VnZ2VzdGVkIGNvbnN0cnVjdGluZyBgTWlzc2luZ1JlcXVpcmVkT3B0aW9uc2Agd2l0aCBgU2ltcGxlTmFtZXNwYWNlKG5hbWU9Li4uKWA7IGtleXN0b25lYXV0aDEgNS4xNS4wIGJ1aWxkcyB0aGUgbWVzc2FnZSBmcm9tIGBvLmRlc3RgLCBzbyB0aGUgdGVzdHMgdXNlIGBTaW1wbGVOYW1lc3BhY2UoZGVzdD0uLi4pYC4KLSBJbnN0ZWFkIG9mIHBhdGNoaW5nIGBvcy5wYXRoLmV4aXN0c2AvYG9zLmNoZGlyYCBnbG9iYWxseSwgdGhlIHRlc3RzIHBhdGNoIHRoZSBtb2R1bGUtbGV2ZWwgYG9zYC9gc2h1dGlsYC9geWFtbGAgbmFtZSBiaW5kaW5ncyBvZiBgb3Npc20udGFza3Mub3BlbnN0YWNrYCwgc28gbm8gdGVzdCBjYW4gdG91Y2ggdGhlIHJlYWwgZmlsZXN5c3RlbSBvciB3b3JraW5nIGRpcmVjdG9yeS4KCkNsb3NlcyAjMjM1NgoK8J+kliBHZW5lcmF0ZWQgd2l0aCBbQ2xhdWRlIENvZGVdKGh0dHBzOi8vY2xhdWRlLmNvbS9jbGF1ZGUtY29kZSk=
      patchset: 3343777e720fd1517a2c08f3e716b2b7df4f968d
      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/python-osism:
            canonical_name: github.com/osism/python-osism
            checkout: main
            commit: 691b0ce46e32036bafad88ca5762dd9d3b9d85d2
          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
          untrusted/project_3/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 1d71e58c93442038e695a5d883d57a603182c7ae
        playbooks:
        - path: untrusted/project_0/github.com/osism/python-osism/playbooks/test-unit.yml
          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
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_3/zuul-jobs
            link_target: untrusted/project_3/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_3/zuul-jobs/roles
      post_review: false
      post_timeout: 1800
      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: 691b0ce46e32036bafad88ca5762dd9d3b9d85d2
          name: osism/python-osism
          required: false
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
      ref: refs/pull/2459/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
