all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fea2:5d56
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 04f8ec93-cf54-4bf4-ac82-431c6510fd92
        host_id: 39b0ac6b1bd0318d0940af02f75334312eeed4057396383c275283da
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fea2:5d56
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.109
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.96
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fea2:5d56
        region: null
        slot: null
      tox_environment:
        NOSE_HTML_OUT_FILE: nose_results.html
        NOSE_WITH_HTML_OUTPUT: 1
        NOSE_WITH_XUNIT: 1
      tox_envlist: test
  vars:
    tox_environment:
      NOSE_HTML_OUT_FILE: nose_results.html
      NOSE_WITH_HTML_OUTPUT: 1
      NOSE_WITH_XUNIT: 1
    tox_envlist: test
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job unittests explicit: None implied: {MatchAny:{ImpliedBranchMatcher:master}}
        source: osism/openinfra-zuul-jobs/zuul.d/general-jobs.yaml@master#9>'
      - '<Job tox explicit: None implied: {MatchAny:{ImpliedBranchMatcher:master}}
        source: osism/openinfra-zuul-jobs/zuul.d/python-jobs.yaml@master#1>'
      - '<Job openstack-project-manager-tox explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/openstack-project-manager/.zuul.yaml@main#7>'
      - '<Job openstack-project-manager-tox explicit: None implied: None source: osism/openstack-project-manager/.zuul.yaml@main#14>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 4d1dd046f8574b859c0dc1264528f319
      build_refs:
      - branch: main
        change: '227'
        change_message: "Update dependency click to v8.3.0\n\nThis PR contains the
          following updates:\n\n| Package | Change | Age | Confidence |\n|---|---|---|---|\n|
          [click](https://redirect.github.com/pallets/click) ([changelog](https://click.palletsprojects.com/page/changes/))
          | `==8.1.8` -> `==8.3.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/click/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
          | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/click/8.1.8/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>pallets/click (click)</summary>\n\n###
          [`v8.3.0`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-830)\n\n[Compare
          Source](https://redirect.github.com/pallets/click/compare/8.2.2...8.3.0)\n\nReleased
          2025-09-17\n\n- **Improved flag option handling**: Reworked the relationship
          between `flag_value`\n  and `default` parameters for better consistency:\n\n
          \ - The `default` parameter value is now preserved as-is and passed directly\n
          \   to CLI functions (no more unexpected transformations)\n  - Exception:
          flag options with `default=True` maintain backward compatibility\n    by
          defaulting to their `flag_value`\n  - The `default` parameter can now be
          any type (`bool`, `None`, etc.)\n  - Fixes inconsistencies reported in:
          :issue:`1992` :issue:`2514` :issue:`2610`\n    :issue:`3024` :pr:`3030`\n-
          Allow `default` to be set on `Argument` for `nargs = -1`. :issue:`2164`\n
          \ :pr:`3030`\n- Show correct auto complete value for `nargs` option in combination
          with flag\n  option :issue:`2813`\n- Fix handling of quoted and escaped
          parameters in Fish autocompletion. :issue:`2995` :pr:`3013`\n- Lazily import
          `shutil`. :pr:`3023`\n- Properly forward exception information to resources
          registered with\n  `click.core.Context.with_resource()`. :issue:`2447` :pr:`3058`\n-
          Fix regression related to EOF handling in CliRunner. :issue:`2939` :pr:`2940`\n\n###
          [`v8.2.2`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-822)\n\n[Compare
          Source](https://redirect.github.com/pallets/click/compare/8.2.1...8.2.2)\n\nReleased
          2025-07-31\n\n- Fix reconciliation of `default`, `flag_value` and `type`
          parameters for\n  flag options, as well as parsing and normalization of
          environment variables.\n  :issue:`2952` :pr:`2956`\n- Fix typing issue in
          `BadParameter` and `MissingParameter` exceptions for the\n  parameter `param_hint`
          that did not allow for a sequence of string where the\n  underlying function
          `_join_param_hints` allows for it. :issue:`2777` :pr:`2990`\n- Use the value
          of `Enum` choices to render their default value in help\n  screen. Refs
          :issue:`2911` :pr:`3004`\n- Fix completion for the Z shell (`zsh`) for completion
          items containing\n  colons. :issue:`2703` :pr:`2846`\n- Don't include envvar
          in error hint when not configured. :issue:`2971` :pr:`2972`\n- Fix a rare
          race in `click.testing.StreamMixer`'s finalization that manifested\n  as
          a `ValueError` on close in a multi-threaded test session.\n  :issue:`2993`
          :pr:`2991`\n\n### [`v8.2.1`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-821)\n\n[Compare
          Source](https://redirect.github.com/pallets/click/compare/8.2.0...8.2.1)\n\nReleased
          2025-05-20\n\n- Fix flag value handling for flag options with a provided
          type. :issue:`2894`\n  :issue:`2897` :pr:`2930`\n- Fix shell completion
          for nested groups. :issue:`2906` :pr:`2907`\n- Flush `sys.stderr` at the
          end of `CliRunner.invoke`. :issue:`2682`\n- Fix EOF handling for stdin input
          in CliRunner. :issue:`2787`\n\n### [`v8.2.0`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-820)\n\n[Compare
          Source](https://redirect.github.com/pallets/click/compare/8.1.8...8.2.0)\n\nReleased
          2025-05-10\n\n- Drop support for Python 3.7, 3.8, and 3.9. :pr:`2588` :pr:`2893`\n\n-
          Use modern packaging metadata with `pyproject.toml` instead of `setup.cfg`.\n
          \ :pr:`2438`\n\n- Use `flit_core` instead of `setuptools` as build backend.
          :pr:`2543`\n\n- Deprecate the `__version__` attribute. Use feature detection,
          or\n  `importlib.metadata.version(\"click\")`, instead. :issue:`2598`\n\n-
          `BaseCommand` is deprecated. `Command` is the base class for all\n  commands.
          :issue:`2589`\n\n- `MultiCommand` is deprecated. `Group` is the base class
          for all group\n  commands. :issue:`2590`\n\n- The current parser and related
          classes and methods, are deprecated.\n  :issue:`2205`\n\n  - `OptionParser`
          and the `parser` module, which is a modified copy of\n    `optparse` in
          the standard library.\n  - `Context.protected_args` is unneeded. `Context.args`
          contains any\n    remaining arguments while parsing.\n  - `Parameter.add_to_parser`
          (on both `Argument` and `Option`) is\n    unneeded. Parsing works directly
          without building a separate parser.\n  - `split_arg_string` is moved from
          `parser` to `shell_completion`.\n\n- Enable deferred evaluation of annotations
          with\n  `from __future__ import annotations`. :pr:`2270`\n\n- When generating
          a command's name from a decorated function's name, the\n  suffixes `_command`,
          `_cmd`, `_group`, and `_grp` are removed.\n  :issue:`2322`\n\n- Show the
          `types.ParamType.name` for `types.Choice` options within\n  `--help` message
          if `show_choices=False` is specified.\n  :issue:`2356`\n\n- Do not display
          default values in prompts when `Option.show_default` is\n  `False`. :pr:`2509`\n\n-
          Add `get_help_extra` method on `Option` to fetch the generated extra\n  items
          used in `get_help_record` to render help text. :issue:`2516`\n  :pr:`2517`\n\n-
          Keep stdout and stderr streams independent in `CliRunner`. Always\n  collect
          stderr output and never raise an exception. Add a new\n  output stream to
          simulate what the user sees in its terminal. Removes\n  the `mix_stderr`
          parameter in `CliRunner`. :issue:`2522` :pr:`2523`\n\n- `Option.show_envvar`
          now also shows environment variable in error messages.\n  :issue:`2695`
          :pr:`2696`\n\n- `Context.close` will be called on exit. This results in
          all\n  `Context.call_on_close` callbacks and context managers added via\n
          \ `Context.with_resource` to be closed on exit as well. :pr:`2680`\n\n-
          Add `ProgressBar(hidden: bool)` to allow hiding the progressbar. :issue:`2609`\n\n-
          A `UserWarning` will be shown when multiple parameters attempt to use the\n
          \ same name. :issue:`2396`\n\n- When using `Option.envvar` with `Option.flag_value`,
          the `flag_value`\n  will always be used instead of the value of the environment
          variable.\n  :issue:`2746` :pr:`2788`\n\n- Add `Choice.get_invalid_choice_message`
          method for customizing the\n  invalid choice message. :issue:`2621` :pr:`2622`\n\n-
          If help is shown because `no_args_is_help` is enabled (defaults to `True`\n
          \ for groups, `False` for commands), the exit code is 2 instead of 0.\n
          \ :issue:`1489` :pr:`1489`\n\n- Contexts created during shell completion
          are closed properly, fixing\n  a `ResourceWarning` when using `click.File`.
          :issue:`2644` :pr:`2800`\n  :pr:`2767`\n\n- `click.edit(filename)` now supports
          passing an iterable of filenames in\n  case the editor supports editing
          multiple files at once. Its return type\n  is now also typed: `AnyStr` if
          `text` is passed, otherwise `None`.\n  :issue:`2067` :pr:`2068`\n\n- Specialized
          typing of `progressbar(length=...)` as `ProgressBar[int]`.\n  :pr:`2630`\n\n-
          Improve `echo_via_pager` behaviour in face of errors.\n  :issue:`2674`\n\n
          \ - Terminate the pager in case a generator passed to `echo_via_pager`\n
          \   raises an exception.\n  - Ensure to always close the pipe to the pager
          process and wait for it\n    to terminate.\n  - `echo_via_pager` will not
          ignore `KeyboardInterrupt` anymore. This\n    allows the user to search
          for future output of the generator when\n    using less and then aborting
          the program using ctrl-c.\n\n- `deprecated: bool | str` can now be used
          on options and arguments. This\n  previously was only available for `Command`.
          The message can now also be\n  customised by using a `str` instead of a
          `bool`. :issue:`2263` :pr:`2271`\n\n  - `Command.deprecated` formatting
          in `--help` changed from\n    `(Deprecated) help` to `help (DEPRECATED)`.\n
          \ - Parameters cannot be required nor prompted or an error is raised.\n
          \ - A warning will be printed when something deprecated is used.\n\n- Add
          a `catch_exceptions` parameter to `CliRunner`. If\n  `catch_exceptions`
          is not passed to `CliRunner.invoke`, the value\n  from `CliRunner` is used.
          :issue:`2817` :pr:`2818`\n\n- `Option.flag_value` will no longer have a
          default value set based on\n  `Option.default` if `Option.is_flag` is `False`.
          This results in\n  `Option.default` not needing to implement `__bool__`.
          :pr:`2829`\n\n- Incorrect `click.edit` typing has been corrected. :pr:`2804`\n\n-
          `Choice` is now generic and supports any iterable value.\n  This allows
          you to use enums and other non-`str` values. :pr:`2796`\n  :issue:`605`\n\n-
          Fix setup of help option's defaults when using a custom class on its\n  decorator.
          Removes `HelpOption`. :issue:`2832` :pr:`2840`\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 this update 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/openstack-project-manager).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4xMS45IiwidXBkYXRlZEluVmVyIjoiNDEuMTMxLjkiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
        change_url: https://github.com/osism/openstack-project-manager/pull/227
        commit_id: 19ad2bee23e04c1ce2bccc8984591eebe5d2eef6
        patchset: 19ad2bee23e04c1ce2bccc8984591eebe5d2eef6
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/openstack-project-manager
          name: osism/openstack-project-manager
          short_name: openstack-project-manager
        src_dir: src/github.com/osism/openstack-project-manager
        topic: null
      buildset: 6776158e02b641a0b2b53753ff237d36
      buildset_refs:
      - branch: main
        change: '227'
        change_message: "Update dependency click to v8.3.0\n\nThis PR contains the
          following updates:\n\n| Package | Change | Age | Confidence |\n|---|---|---|---|\n|
          [click](https://redirect.github.com/pallets/click) ([changelog](https://click.palletsprojects.com/page/changes/))
          | `==8.1.8` -> `==8.3.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/click/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
          | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/click/8.1.8/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>pallets/click (click)</summary>\n\n###
          [`v8.3.0`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-830)\n\n[Compare
          Source](https://redirect.github.com/pallets/click/compare/8.2.2...8.3.0)\n\nReleased
          2025-09-17\n\n- **Improved flag option handling**: Reworked the relationship
          between `flag_value`\n  and `default` parameters for better consistency:\n\n
          \ - The `default` parameter value is now preserved as-is and passed directly\n
          \   to CLI functions (no more unexpected transformations)\n  - Exception:
          flag options with `default=True` maintain backward compatibility\n    by
          defaulting to their `flag_value`\n  - The `default` parameter can now be
          any type (`bool`, `None`, etc.)\n  - Fixes inconsistencies reported in:
          :issue:`1992` :issue:`2514` :issue:`2610`\n    :issue:`3024` :pr:`3030`\n-
          Allow `default` to be set on `Argument` for `nargs = -1`. :issue:`2164`\n
          \ :pr:`3030`\n- Show correct auto complete value for `nargs` option in combination
          with flag\n  option :issue:`2813`\n- Fix handling of quoted and escaped
          parameters in Fish autocompletion. :issue:`2995` :pr:`3013`\n- Lazily import
          `shutil`. :pr:`3023`\n- Properly forward exception information to resources
          registered with\n  `click.core.Context.with_resource()`. :issue:`2447` :pr:`3058`\n-
          Fix regression related to EOF handling in CliRunner. :issue:`2939` :pr:`2940`\n\n###
          [`v8.2.2`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-822)\n\n[Compare
          Source](https://redirect.github.com/pallets/click/compare/8.2.1...8.2.2)\n\nReleased
          2025-07-31\n\n- Fix reconciliation of `default`, `flag_value` and `type`
          parameters for\n  flag options, as well as parsing and normalization of
          environment variables.\n  :issue:`2952` :pr:`2956`\n- Fix typing issue in
          `BadParameter` and `MissingParameter` exceptions for the\n  parameter `param_hint`
          that did not allow for a sequence of string where the\n  underlying function
          `_join_param_hints` allows for it. :issue:`2777` :pr:`2990`\n- Use the value
          of `Enum` choices to render their default value in help\n  screen. Refs
          :issue:`2911` :pr:`3004`\n- Fix completion for the Z shell (`zsh`) for completion
          items containing\n  colons. :issue:`2703` :pr:`2846`\n- Don't include envvar
          in error hint when not configured. :issue:`2971` :pr:`2972`\n- Fix a rare
          race in `click.testing.StreamMixer`'s finalization that manifested\n  as
          a `ValueError` on close in a multi-threaded test session.\n  :issue:`2993`
          :pr:`2991`\n\n### [`v8.2.1`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-821)\n\n[Compare
          Source](https://redirect.github.com/pallets/click/compare/8.2.0...8.2.1)\n\nReleased
          2025-05-20\n\n- Fix flag value handling for flag options with a provided
          type. :issue:`2894`\n  :issue:`2897` :pr:`2930`\n- Fix shell completion
          for nested groups. :issue:`2906` :pr:`2907`\n- Flush `sys.stderr` at the
          end of `CliRunner.invoke`. :issue:`2682`\n- Fix EOF handling for stdin input
          in CliRunner. :issue:`2787`\n\n### [`v8.2.0`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-820)\n\n[Compare
          Source](https://redirect.github.com/pallets/click/compare/8.1.8...8.2.0)\n\nReleased
          2025-05-10\n\n- Drop support for Python 3.7, 3.8, and 3.9. :pr:`2588` :pr:`2893`\n\n-
          Use modern packaging metadata with `pyproject.toml` instead of `setup.cfg`.\n
          \ :pr:`2438`\n\n- Use `flit_core` instead of `setuptools` as build backend.
          :pr:`2543`\n\n- Deprecate the `__version__` attribute. Use feature detection,
          or\n  `importlib.metadata.version(\"click\")`, instead. :issue:`2598`\n\n-
          `BaseCommand` is deprecated. `Command` is the base class for all\n  commands.
          :issue:`2589`\n\n- `MultiCommand` is deprecated. `Group` is the base class
          for all group\n  commands. :issue:`2590`\n\n- The current parser and related
          classes and methods, are deprecated.\n  :issue:`2205`\n\n  - `OptionParser`
          and the `parser` module, which is a modified copy of\n    `optparse` in
          the standard library.\n  - `Context.protected_args` is unneeded. `Context.args`
          contains any\n    remaining arguments while parsing.\n  - `Parameter.add_to_parser`
          (on both `Argument` and `Option`) is\n    unneeded. Parsing works directly
          without building a separate parser.\n  - `split_arg_string` is moved from
          `parser` to `shell_completion`.\n\n- Enable deferred evaluation of annotations
          with\n  `from __future__ import annotations`. :pr:`2270`\n\n- When generating
          a command's name from a decorated function's name, the\n  suffixes `_command`,
          `_cmd`, `_group`, and `_grp` are removed.\n  :issue:`2322`\n\n- Show the
          `types.ParamType.name` for `types.Choice` options within\n  `--help` message
          if `show_choices=False` is specified.\n  :issue:`2356`\n\n- Do not display
          default values in prompts when `Option.show_default` is\n  `False`. :pr:`2509`\n\n-
          Add `get_help_extra` method on `Option` to fetch the generated extra\n  items
          used in `get_help_record` to render help text. :issue:`2516`\n  :pr:`2517`\n\n-
          Keep stdout and stderr streams independent in `CliRunner`. Always\n  collect
          stderr output and never raise an exception. Add a new\n  output stream to
          simulate what the user sees in its terminal. Removes\n  the `mix_stderr`
          parameter in `CliRunner`. :issue:`2522` :pr:`2523`\n\n- `Option.show_envvar`
          now also shows environment variable in error messages.\n  :issue:`2695`
          :pr:`2696`\n\n- `Context.close` will be called on exit. This results in
          all\n  `Context.call_on_close` callbacks and context managers added via\n
          \ `Context.with_resource` to be closed on exit as well. :pr:`2680`\n\n-
          Add `ProgressBar(hidden: bool)` to allow hiding the progressbar. :issue:`2609`\n\n-
          A `UserWarning` will be shown when multiple parameters attempt to use the\n
          \ same name. :issue:`2396`\n\n- When using `Option.envvar` with `Option.flag_value`,
          the `flag_value`\n  will always be used instead of the value of the environment
          variable.\n  :issue:`2746` :pr:`2788`\n\n- Add `Choice.get_invalid_choice_message`
          method for customizing the\n  invalid choice message. :issue:`2621` :pr:`2622`\n\n-
          If help is shown because `no_args_is_help` is enabled (defaults to `True`\n
          \ for groups, `False` for commands), the exit code is 2 instead of 0.\n
          \ :issue:`1489` :pr:`1489`\n\n- Contexts created during shell completion
          are closed properly, fixing\n  a `ResourceWarning` when using `click.File`.
          :issue:`2644` :pr:`2800`\n  :pr:`2767`\n\n- `click.edit(filename)` now supports
          passing an iterable of filenames in\n  case the editor supports editing
          multiple files at once. Its return type\n  is now also typed: `AnyStr` if
          `text` is passed, otherwise `None`.\n  :issue:`2067` :pr:`2068`\n\n- Specialized
          typing of `progressbar(length=...)` as `ProgressBar[int]`.\n  :pr:`2630`\n\n-
          Improve `echo_via_pager` behaviour in face of errors.\n  :issue:`2674`\n\n
          \ - Terminate the pager in case a generator passed to `echo_via_pager`\n
          \   raises an exception.\n  - Ensure to always close the pipe to the pager
          process and wait for it\n    to terminate.\n  - `echo_via_pager` will not
          ignore `KeyboardInterrupt` anymore. This\n    allows the user to search
          for future output of the generator when\n    using less and then aborting
          the program using ctrl-c.\n\n- `deprecated: bool | str` can now be used
          on options and arguments. This\n  previously was only available for `Command`.
          The message can now also be\n  customised by using a `str` instead of a
          `bool`. :issue:`2263` :pr:`2271`\n\n  - `Command.deprecated` formatting
          in `--help` changed from\n    `(Deprecated) help` to `help (DEPRECATED)`.\n
          \ - Parameters cannot be required nor prompted or an error is raised.\n
          \ - A warning will be printed when something deprecated is used.\n\n- Add
          a `catch_exceptions` parameter to `CliRunner`. If\n  `catch_exceptions`
          is not passed to `CliRunner.invoke`, the value\n  from `CliRunner` is used.
          :issue:`2817` :pr:`2818`\n\n- `Option.flag_value` will no longer have a
          default value set based on\n  `Option.default` if `Option.is_flag` is `False`.
          This results in\n  `Option.default` not needing to implement `__bool__`.
          :pr:`2829`\n\n- Incorrect `click.edit` typing has been corrected. :pr:`2804`\n\n-
          `Choice` is now generic and supports any iterable value.\n  This allows
          you to use enums and other non-`str` values. :pr:`2796`\n  :issue:`605`\n\n-
          Fix setup of help option's defaults when using a custom class on its\n  decorator.
          Removes `HelpOption`. :issue:`2832` :pr:`2840`\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 this update 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/openstack-project-manager).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4xMS45IiwidXBkYXRlZEluVmVyIjoiNDEuMTMxLjkiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
        change_url: https://github.com/osism/openstack-project-manager/pull/227
        commit_id: 19ad2bee23e04c1ce2bccc8984591eebe5d2eef6
        patchset: 19ad2bee23e04c1ce2bccc8984591eebe5d2eef6
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/openstack-project-manager
          name: osism/openstack-project-manager
          short_name: openstack-project-manager
        src_dir: src/github.com/osism/openstack-project-manager
        topic: null
      change: '227'
      change_message: "Update dependency click to v8.3.0\n\nThis PR contains the following
        updates:\n\n| Package | Change | Age | Confidence |\n|---|---|---|---|\n|
        [click](https://redirect.github.com/pallets/click) ([changelog](https://click.palletsprojects.com/page/changes/))
        | `==8.1.8` -> `==8.3.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/click/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
        | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/click/8.1.8/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
        |\n\n---\n\n### Release Notes\n\n<details>\n<summary>pallets/click (click)</summary>\n\n###
        [`v8.3.0`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-830)\n\n[Compare
        Source](https://redirect.github.com/pallets/click/compare/8.2.2...8.3.0)\n\nReleased
        2025-09-17\n\n- **Improved flag option handling**: Reworked the relationship
        between `flag_value`\n  and `default` parameters for better consistency:\n\n
        \ - The `default` parameter value is now preserved as-is and passed directly\n
        \   to CLI functions (no more unexpected transformations)\n  - Exception:
        flag options with `default=True` maintain backward compatibility\n    by defaulting
        to their `flag_value`\n  - The `default` parameter can now be any type (`bool`,
        `None`, etc.)\n  - Fixes inconsistencies reported in: :issue:`1992` :issue:`2514`
        :issue:`2610`\n    :issue:`3024` :pr:`3030`\n- Allow `default` to be set on
        `Argument` for `nargs = -1`. :issue:`2164`\n  :pr:`3030`\n- Show correct auto
        complete value for `nargs` option in combination with flag\n  option :issue:`2813`\n-
        Fix handling of quoted and escaped parameters in Fish autocompletion. :issue:`2995`
        :pr:`3013`\n- Lazily import `shutil`. :pr:`3023`\n- Properly forward exception
        information to resources registered with\n  `click.core.Context.with_resource()`.
        :issue:`2447` :pr:`3058`\n- Fix regression related to EOF handling in CliRunner.
        :issue:`2939` :pr:`2940`\n\n### [`v8.2.2`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-822)\n\n[Compare
        Source](https://redirect.github.com/pallets/click/compare/8.2.1...8.2.2)\n\nReleased
        2025-07-31\n\n- Fix reconciliation of `default`, `flag_value` and `type` parameters
        for\n  flag options, as well as parsing and normalization of environment variables.\n
        \ :issue:`2952` :pr:`2956`\n- Fix typing issue in `BadParameter` and `MissingParameter`
        exceptions for the\n  parameter `param_hint` that did not allow for a sequence
        of string where the\n  underlying function `_join_param_hints` allows for
        it. :issue:`2777` :pr:`2990`\n- Use the value of `Enum` choices to render
        their default value in help\n  screen. Refs :issue:`2911` :pr:`3004`\n- Fix
        completion for the Z shell (`zsh`) for completion items containing\n  colons.
        :issue:`2703` :pr:`2846`\n- Don't include envvar in error hint when not configured.
        :issue:`2971` :pr:`2972`\n- Fix a rare race in `click.testing.StreamMixer`'s
        finalization that manifested\n  as a `ValueError` on close in a multi-threaded
        test session.\n  :issue:`2993` :pr:`2991`\n\n### [`v8.2.1`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-821)\n\n[Compare
        Source](https://redirect.github.com/pallets/click/compare/8.2.0...8.2.1)\n\nReleased
        2025-05-20\n\n- Fix flag value handling for flag options with a provided type.
        :issue:`2894`\n  :issue:`2897` :pr:`2930`\n- Fix shell completion for nested
        groups. :issue:`2906` :pr:`2907`\n- Flush `sys.stderr` at the end of `CliRunner.invoke`.
        :issue:`2682`\n- Fix EOF handling for stdin input in CliRunner. :issue:`2787`\n\n###
        [`v8.2.0`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-820)\n\n[Compare
        Source](https://redirect.github.com/pallets/click/compare/8.1.8...8.2.0)\n\nReleased
        2025-05-10\n\n- Drop support for Python 3.7, 3.8, and 3.9. :pr:`2588` :pr:`2893`\n\n-
        Use modern packaging metadata with `pyproject.toml` instead of `setup.cfg`.\n
        \ :pr:`2438`\n\n- Use `flit_core` instead of `setuptools` as build backend.
        :pr:`2543`\n\n- Deprecate the `__version__` attribute. Use feature detection,
        or\n  `importlib.metadata.version(\"click\")`, instead. :issue:`2598`\n\n-
        `BaseCommand` is deprecated. `Command` is the base class for all\n  commands.
        :issue:`2589`\n\n- `MultiCommand` is deprecated. `Group` is the base class
        for all group\n  commands. :issue:`2590`\n\n- The current parser and related
        classes and methods, are deprecated.\n  :issue:`2205`\n\n  - `OptionParser`
        and the `parser` module, which is a modified copy of\n    `optparse` in the
        standard library.\n  - `Context.protected_args` is unneeded. `Context.args`
        contains any\n    remaining arguments while parsing.\n  - `Parameter.add_to_parser`
        (on both `Argument` and `Option`) is\n    unneeded. Parsing works directly
        without building a separate parser.\n  - `split_arg_string` is moved from
        `parser` to `shell_completion`.\n\n- Enable deferred evaluation of annotations
        with\n  `from __future__ import annotations`. :pr:`2270`\n\n- When generating
        a command's name from a decorated function's name, the\n  suffixes `_command`,
        `_cmd`, `_group`, and `_grp` are removed.\n  :issue:`2322`\n\n- Show the `types.ParamType.name`
        for `types.Choice` options within\n  `--help` message if `show_choices=False`
        is specified.\n  :issue:`2356`\n\n- Do not display default values in prompts
        when `Option.show_default` is\n  `False`. :pr:`2509`\n\n- Add `get_help_extra`
        method on `Option` to fetch the generated extra\n  items used in `get_help_record`
        to render help text. :issue:`2516`\n  :pr:`2517`\n\n- Keep stdout and stderr
        streams independent in `CliRunner`. Always\n  collect stderr output and never
        raise an exception. Add a new\n  output stream to simulate what the user sees
        in its terminal. Removes\n  the `mix_stderr` parameter in `CliRunner`. :issue:`2522`
        :pr:`2523`\n\n- `Option.show_envvar` now also shows environment variable in
        error messages.\n  :issue:`2695` :pr:`2696`\n\n- `Context.close` will be called
        on exit. This results in all\n  `Context.call_on_close` callbacks and context
        managers added via\n  `Context.with_resource` to be closed on exit as well.
        :pr:`2680`\n\n- Add `ProgressBar(hidden: bool)` to allow hiding the progressbar.
        :issue:`2609`\n\n- A `UserWarning` will be shown when multiple parameters
        attempt to use the\n  same name. :issue:`2396`\n\n- When using `Option.envvar`
        with `Option.flag_value`, the `flag_value`\n  will always be used instead
        of the value of the environment variable.\n  :issue:`2746` :pr:`2788`\n\n-
        Add `Choice.get_invalid_choice_message` method for customizing the\n  invalid
        choice message. :issue:`2621` :pr:`2622`\n\n- If help is shown because `no_args_is_help`
        is enabled (defaults to `True`\n  for groups, `False` for commands), the exit
        code is 2 instead of 0.\n  :issue:`1489` :pr:`1489`\n\n- Contexts created
        during shell completion are closed properly, fixing\n  a `ResourceWarning`
        when using `click.File`. :issue:`2644` :pr:`2800`\n  :pr:`2767`\n\n- `click.edit(filename)`
        now supports passing an iterable of filenames in\n  case the editor supports
        editing multiple files at once. Its return type\n  is now also typed: `AnyStr`
        if `text` is passed, otherwise `None`.\n  :issue:`2067` :pr:`2068`\n\n- Specialized
        typing of `progressbar(length=...)` as `ProgressBar[int]`.\n  :pr:`2630`\n\n-
        Improve `echo_via_pager` behaviour in face of errors.\n  :issue:`2674`\n\n
        \ - Terminate the pager in case a generator passed to `echo_via_pager`\n    raises
        an exception.\n  - Ensure to always close the pipe to the pager process and
        wait for it\n    to terminate.\n  - `echo_via_pager` will not ignore `KeyboardInterrupt`
        anymore. This\n    allows the user to search for future output of the generator
        when\n    using less and then aborting the program using ctrl-c.\n\n- `deprecated:
        bool | str` can now be used on options and arguments. This\n  previously was
        only available for `Command`. The message can now also be\n  customised by
        using a `str` instead of a `bool`. :issue:`2263` :pr:`2271`\n\n  - `Command.deprecated`
        formatting in `--help` changed from\n    `(Deprecated) help` to `help (DEPRECATED)`.\n
        \ - Parameters cannot be required nor prompted or an error is raised.\n  -
        A warning will be printed when something deprecated is used.\n\n- Add a `catch_exceptions`
        parameter to `CliRunner`. If\n  `catch_exceptions` is not passed to `CliRunner.invoke`,
        the value\n  from `CliRunner` is used. :issue:`2817` :pr:`2818`\n\n- `Option.flag_value`
        will no longer have a default value set based on\n  `Option.default` if `Option.is_flag`
        is `False`. This results in\n  `Option.default` not needing to implement `__bool__`.
        :pr:`2829`\n\n- Incorrect `click.edit` typing has been corrected. :pr:`2804`\n\n-
        `Choice` is now generic and supports any iterable value.\n  This allows you
        to use enums and other non-`str` values. :pr:`2796`\n  :issue:`605`\n\n- Fix
        setup of help option's defaults when using a custom class on its\n  decorator.
        Removes `HelpOption`. :issue:`2832` :pr:`2840`\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 this update 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/openstack-project-manager).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4xMS45IiwidXBkYXRlZEluVmVyIjoiNDEuMTMxLjkiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
      change_url: https://github.com/osism/openstack-project-manager/pull/227
      child_jobs: []
      commit_id: 19ad2bee23e04c1ce2bccc8984591eebe5d2eef6
      event_id: c8b66d30-a3a7-11f0-85e9-fa5955a0b381
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/4d1dd046f8574b859c0dc1264528f319/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/4d1dd046f8574b859c0dc1264528f319/work/logs
        result_data_file: /var/lib/zuul/builds/4d1dd046f8574b859c0dc1264528f319/work/results.json
        src_root: /var/lib/zuul/builds/4d1dd046f8574b859c0dc1264528f319/work/src
        work_root: /var/lib/zuul/builds/4d1dd046f8574b859c0dc1264528f319/work
      include_vars: []
      items:
      - branch: main
        change: '227'
        change_message: "Update dependency click to v8.3.0\n\nThis PR contains the
          following updates:\n\n| Package | Change | Age | Confidence |\n|---|---|---|---|\n|
          [click](https://redirect.github.com/pallets/click) ([changelog](https://click.palletsprojects.com/page/changes/))
          | `==8.1.8` -> `==8.3.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/click/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
          | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/click/8.1.8/8.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>pallets/click (click)</summary>\n\n###
          [`v8.3.0`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-830)\n\n[Compare
          Source](https://redirect.github.com/pallets/click/compare/8.2.2...8.3.0)\n\nReleased
          2025-09-17\n\n- **Improved flag option handling**: Reworked the relationship
          between `flag_value`\n  and `default` parameters for better consistency:\n\n
          \ - The `default` parameter value is now preserved as-is and passed directly\n
          \   to CLI functions (no more unexpected transformations)\n  - Exception:
          flag options with `default=True` maintain backward compatibility\n    by
          defaulting to their `flag_value`\n  - The `default` parameter can now be
          any type (`bool`, `None`, etc.)\n  - Fixes inconsistencies reported in:
          :issue:`1992` :issue:`2514` :issue:`2610`\n    :issue:`3024` :pr:`3030`\n-
          Allow `default` to be set on `Argument` for `nargs = -1`. :issue:`2164`\n
          \ :pr:`3030`\n- Show correct auto complete value for `nargs` option in combination
          with flag\n  option :issue:`2813`\n- Fix handling of quoted and escaped
          parameters in Fish autocompletion. :issue:`2995` :pr:`3013`\n- Lazily import
          `shutil`. :pr:`3023`\n- Properly forward exception information to resources
          registered with\n  `click.core.Context.with_resource()`. :issue:`2447` :pr:`3058`\n-
          Fix regression related to EOF handling in CliRunner. :issue:`2939` :pr:`2940`\n\n###
          [`v8.2.2`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-822)\n\n[Compare
          Source](https://redirect.github.com/pallets/click/compare/8.2.1...8.2.2)\n\nReleased
          2025-07-31\n\n- Fix reconciliation of `default`, `flag_value` and `type`
          parameters for\n  flag options, as well as parsing and normalization of
          environment variables.\n  :issue:`2952` :pr:`2956`\n- Fix typing issue in
          `BadParameter` and `MissingParameter` exceptions for the\n  parameter `param_hint`
          that did not allow for a sequence of string where the\n  underlying function
          `_join_param_hints` allows for it. :issue:`2777` :pr:`2990`\n- Use the value
          of `Enum` choices to render their default value in help\n  screen. Refs
          :issue:`2911` :pr:`3004`\n- Fix completion for the Z shell (`zsh`) for completion
          items containing\n  colons. :issue:`2703` :pr:`2846`\n- Don't include envvar
          in error hint when not configured. :issue:`2971` :pr:`2972`\n- Fix a rare
          race in `click.testing.StreamMixer`'s finalization that manifested\n  as
          a `ValueError` on close in a multi-threaded test session.\n  :issue:`2993`
          :pr:`2991`\n\n### [`v8.2.1`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-821)\n\n[Compare
          Source](https://redirect.github.com/pallets/click/compare/8.2.0...8.2.1)\n\nReleased
          2025-05-20\n\n- Fix flag value handling for flag options with a provided
          type. :issue:`2894`\n  :issue:`2897` :pr:`2930`\n- Fix shell completion
          for nested groups. :issue:`2906` :pr:`2907`\n- Flush `sys.stderr` at the
          end of `CliRunner.invoke`. :issue:`2682`\n- Fix EOF handling for stdin input
          in CliRunner. :issue:`2787`\n\n### [`v8.2.0`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-820)\n\n[Compare
          Source](https://redirect.github.com/pallets/click/compare/8.1.8...8.2.0)\n\nReleased
          2025-05-10\n\n- Drop support for Python 3.7, 3.8, and 3.9. :pr:`2588` :pr:`2893`\n\n-
          Use modern packaging metadata with `pyproject.toml` instead of `setup.cfg`.\n
          \ :pr:`2438`\n\n- Use `flit_core` instead of `setuptools` as build backend.
          :pr:`2543`\n\n- Deprecate the `__version__` attribute. Use feature detection,
          or\n  `importlib.metadata.version(\"click\")`, instead. :issue:`2598`\n\n-
          `BaseCommand` is deprecated. `Command` is the base class for all\n  commands.
          :issue:`2589`\n\n- `MultiCommand` is deprecated. `Group` is the base class
          for all group\n  commands. :issue:`2590`\n\n- The current parser and related
          classes and methods, are deprecated.\n  :issue:`2205`\n\n  - `OptionParser`
          and the `parser` module, which is a modified copy of\n    `optparse` in
          the standard library.\n  - `Context.protected_args` is unneeded. `Context.args`
          contains any\n    remaining arguments while parsing.\n  - `Parameter.add_to_parser`
          (on both `Argument` and `Option`) is\n    unneeded. Parsing works directly
          without building a separate parser.\n  - `split_arg_string` is moved from
          `parser` to `shell_completion`.\n\n- Enable deferred evaluation of annotations
          with\n  `from __future__ import annotations`. :pr:`2270`\n\n- When generating
          a command's name from a decorated function's name, the\n  suffixes `_command`,
          `_cmd`, `_group`, and `_grp` are removed.\n  :issue:`2322`\n\n- Show the
          `types.ParamType.name` for `types.Choice` options within\n  `--help` message
          if `show_choices=False` is specified.\n  :issue:`2356`\n\n- Do not display
          default values in prompts when `Option.show_default` is\n  `False`. :pr:`2509`\n\n-
          Add `get_help_extra` method on `Option` to fetch the generated extra\n  items
          used in `get_help_record` to render help text. :issue:`2516`\n  :pr:`2517`\n\n-
          Keep stdout and stderr streams independent in `CliRunner`. Always\n  collect
          stderr output and never raise an exception. Add a new\n  output stream to
          simulate what the user sees in its terminal. Removes\n  the `mix_stderr`
          parameter in `CliRunner`. :issue:`2522` :pr:`2523`\n\n- `Option.show_envvar`
          now also shows environment variable in error messages.\n  :issue:`2695`
          :pr:`2696`\n\n- `Context.close` will be called on exit. This results in
          all\n  `Context.call_on_close` callbacks and context managers added via\n
          \ `Context.with_resource` to be closed on exit as well. :pr:`2680`\n\n-
          Add `ProgressBar(hidden: bool)` to allow hiding the progressbar. :issue:`2609`\n\n-
          A `UserWarning` will be shown when multiple parameters attempt to use the\n
          \ same name. :issue:`2396`\n\n- When using `Option.envvar` with `Option.flag_value`,
          the `flag_value`\n  will always be used instead of the value of the environment
          variable.\n  :issue:`2746` :pr:`2788`\n\n- Add `Choice.get_invalid_choice_message`
          method for customizing the\n  invalid choice message. :issue:`2621` :pr:`2622`\n\n-
          If help is shown because `no_args_is_help` is enabled (defaults to `True`\n
          \ for groups, `False` for commands), the exit code is 2 instead of 0.\n
          \ :issue:`1489` :pr:`1489`\n\n- Contexts created during shell completion
          are closed properly, fixing\n  a `ResourceWarning` when using `click.File`.
          :issue:`2644` :pr:`2800`\n  :pr:`2767`\n\n- `click.edit(filename)` now supports
          passing an iterable of filenames in\n  case the editor supports editing
          multiple files at once. Its return type\n  is now also typed: `AnyStr` if
          `text` is passed, otherwise `None`.\n  :issue:`2067` :pr:`2068`\n\n- Specialized
          typing of `progressbar(length=...)` as `ProgressBar[int]`.\n  :pr:`2630`\n\n-
          Improve `echo_via_pager` behaviour in face of errors.\n  :issue:`2674`\n\n
          \ - Terminate the pager in case a generator passed to `echo_via_pager`\n
          \   raises an exception.\n  - Ensure to always close the pipe to the pager
          process and wait for it\n    to terminate.\n  - `echo_via_pager` will not
          ignore `KeyboardInterrupt` anymore. This\n    allows the user to search
          for future output of the generator when\n    using less and then aborting
          the program using ctrl-c.\n\n- `deprecated: bool | str` can now be used
          on options and arguments. This\n  previously was only available for `Command`.
          The message can now also be\n  customised by using a `str` instead of a
          `bool`. :issue:`2263` :pr:`2271`\n\n  - `Command.deprecated` formatting
          in `--help` changed from\n    `(Deprecated) help` to `help (DEPRECATED)`.\n
          \ - Parameters cannot be required nor prompted or an error is raised.\n
          \ - A warning will be printed when something deprecated is used.\n\n- Add
          a `catch_exceptions` parameter to `CliRunner`. If\n  `catch_exceptions`
          is not passed to `CliRunner.invoke`, the value\n  from `CliRunner` is used.
          :issue:`2817` :pr:`2818`\n\n- `Option.flag_value` will no longer have a
          default value set based on\n  `Option.default` if `Option.is_flag` is `False`.
          This results in\n  `Option.default` not needing to implement `__bool__`.
          :pr:`2829`\n\n- Incorrect `click.edit` typing has been corrected. :pr:`2804`\n\n-
          `Choice` is now generic and supports any iterable value.\n  This allows
          you to use enums and other non-`str` values. :pr:`2796`\n  :issue:`605`\n\n-
          Fix setup of help option's defaults when using a custom class on its\n  decorator.
          Removes `HelpOption`. :issue:`2832` :pr:`2840`\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 this update 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/openstack-project-manager).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4xMS45IiwidXBkYXRlZEluVmVyIjoiNDEuMTMxLjkiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
        change_url: https://github.com/osism/openstack-project-manager/pull/227
        commit_id: 19ad2bee23e04c1ce2bccc8984591eebe5d2eef6
        patchset: 19ad2bee23e04c1ce2bccc8984591eebe5d2eef6
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/openstack-project-manager
          name: osism/openstack-project-manager
          short_name: openstack-project-manager
          src_dir: src/github.com/osism/openstack-project-manager
        topic: null
      job: openstack-project-manager-tox
      jobtags: []
      max_attempts: 3
      message: VXBkYXRlIGRlcGVuZGVuY3kgY2xpY2sgdG8gdjguMy4wCgpUaGlzIFBSIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgdXBkYXRlczoKCnwgUGFja2FnZSB8IENoYW5nZSB8IEFnZSB8IENvbmZpZGVuY2UgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFtjbGlja10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3BhbGxldHMvY2xpY2spIChbY2hhbmdlbG9nXShodHRwczovL2NsaWNrLnBhbGxldHNwcm9qZWN0cy5jb20vcGFnZS9jaGFuZ2VzLykpIHwgYD09OC4xLjhgIC0+IGA9PTguMy4wYCB8IFshW2FnZV0oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9hcGkvbWMvYmFkZ2VzL2FnZS9weXBpL2NsaWNrLzguMy4wP3NsaW09dHJ1ZSldKGh0dHBzOi8vZG9jcy5yZW5vdmF0ZWJvdC5jb20vbWVyZ2UtY29uZmlkZW5jZS8pIHwgWyFbY29uZmlkZW5jZV0oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9hcGkvbWMvYmFkZ2VzL2NvbmZpZGVuY2UvcHlwaS9jbGljay84LjEuOC84LjMuMD9zbGltPXRydWUpXShodHRwczovL2RvY3MucmVub3ZhdGVib3QuY29tL21lcmdlLWNvbmZpZGVuY2UvKSB8CgotLS0KCiMjIyBSZWxlYXNlIE5vdGVzCgo8ZGV0YWlscz4KPHN1bW1hcnk+cGFsbGV0cy9jbGljayAoY2xpY2spPC9zdW1tYXJ5PgoKIyMjIFtgdjguMy4wYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3BhbGxldHMvY2xpY2svYmxvYi9IRUFEL0NIQU5HRVMucnN0I1ZlcnNpb24tODMwKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcGFsbGV0cy9jbGljay9jb21wYXJlLzguMi4yLi4uOC4zLjApCgpSZWxlYXNlZCAyMDI1LTA5LTE3CgotICoqSW1wcm92ZWQgZmxhZyBvcHRpb24gaGFuZGxpbmcqKjogUmV3b3JrZWQgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGBmbGFnX3ZhbHVlYAogIGFuZCBgZGVmYXVsdGAgcGFyYW1ldGVycyBmb3IgYmV0dGVyIGNvbnNpc3RlbmN5OgoKICAtIFRoZSBgZGVmYXVsdGAgcGFyYW1ldGVyIHZhbHVlIGlzIG5vdyBwcmVzZXJ2ZWQgYXMtaXMgYW5kIHBhc3NlZCBkaXJlY3RseQogICAgdG8gQ0xJIGZ1bmN0aW9ucyAobm8gbW9yZSB1bmV4cGVjdGVkIHRyYW5zZm9ybWF0aW9ucykKICAtIEV4Y2VwdGlvbjogZmxhZyBvcHRpb25zIHdpdGggYGRlZmF1bHQ9VHJ1ZWAgbWFpbnRhaW4gYmFja3dhcmQgY29tcGF0aWJpbGl0eQogICAgYnkgZGVmYXVsdGluZyB0byB0aGVpciBgZmxhZ192YWx1ZWAKICAtIFRoZSBgZGVmYXVsdGAgcGFyYW1ldGVyIGNhbiBub3cgYmUgYW55IHR5cGUgKGBib29sYCwgYE5vbmVgLCBldGMuKQogIC0gRml4ZXMgaW5jb25zaXN0ZW5jaWVzIHJlcG9ydGVkIGluOiA6aXNzdWU6YDE5OTJgIDppc3N1ZTpgMjUxNGAgOmlzc3VlOmAyNjEwYAogICAgOmlzc3VlOmAzMDI0YCA6cHI6YDMwMzBgCi0gQWxsb3cgYGRlZmF1bHRgIHRvIGJlIHNldCBvbiBgQXJndW1lbnRgIGZvciBgbmFyZ3MgPSAtMWAuIDppc3N1ZTpgMjE2NGAKICA6cHI6YDMwMzBgCi0gU2hvdyBjb3JyZWN0IGF1dG8gY29tcGxldGUgdmFsdWUgZm9yIGBuYXJnc2Agb3B0aW9uIGluIGNvbWJpbmF0aW9uIHdpdGggZmxhZwogIG9wdGlvbiA6aXNzdWU6YDI4MTNgCi0gRml4IGhhbmRsaW5nIG9mIHF1b3RlZCBhbmQgZXNjYXBlZCBwYXJhbWV0ZXJzIGluIEZpc2ggYXV0b2NvbXBsZXRpb24uIDppc3N1ZTpgMjk5NWAgOnByOmAzMDEzYAotIExhemlseSBpbXBvcnQgYHNodXRpbGAuIDpwcjpgMzAyM2AKLSBQcm9wZXJseSBmb3J3YXJkIGV4Y2VwdGlvbiBpbmZvcm1hdGlvbiB0byByZXNvdXJjZXMgcmVnaXN0ZXJlZCB3aXRoCiAgYGNsaWNrLmNvcmUuQ29udGV4dC53aXRoX3Jlc291cmNlKClgLiA6aXNzdWU6YDI0NDdgIDpwcjpgMzA1OGAKLSBGaXggcmVncmVzc2lvbiByZWxhdGVkIHRvIEVPRiBoYW5kbGluZyBpbiBDbGlSdW5uZXIuIDppc3N1ZTpgMjkzOWAgOnByOmAyOTQwYAoKIyMjIFtgdjguMi4yYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3BhbGxldHMvY2xpY2svYmxvYi9IRUFEL0NIQU5HRVMucnN0I1ZlcnNpb24tODIyKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcGFsbGV0cy9jbGljay9jb21wYXJlLzguMi4xLi4uOC4yLjIpCgpSZWxlYXNlZCAyMDI1LTA3LTMxCgotIEZpeCByZWNvbmNpbGlhdGlvbiBvZiBgZGVmYXVsdGAsIGBmbGFnX3ZhbHVlYCBhbmQgYHR5cGVgIHBhcmFtZXRlcnMgZm9yCiAgZmxhZyBvcHRpb25zLCBhcyB3ZWxsIGFzIHBhcnNpbmcgYW5kIG5vcm1hbGl6YXRpb24gb2YgZW52aXJvbm1lbnQgdmFyaWFibGVzLgogIDppc3N1ZTpgMjk1MmAgOnByOmAyOTU2YAotIEZpeCB0eXBpbmcgaXNzdWUgaW4gYEJhZFBhcmFtZXRlcmAgYW5kIGBNaXNzaW5nUGFyYW1ldGVyYCBleGNlcHRpb25zIGZvciB0aGUKICBwYXJhbWV0ZXIgYHBhcmFtX2hpbnRgIHRoYXQgZGlkIG5vdCBhbGxvdyBmb3IgYSBzZXF1ZW5jZSBvZiBzdHJpbmcgd2hlcmUgdGhlCiAgdW5kZXJseWluZyBmdW5jdGlvbiBgX2pvaW5fcGFyYW1faGludHNgIGFsbG93cyBmb3IgaXQuIDppc3N1ZTpgMjc3N2AgOnByOmAyOTkwYAotIFVzZSB0aGUgdmFsdWUgb2YgYEVudW1gIGNob2ljZXMgdG8gcmVuZGVyIHRoZWlyIGRlZmF1bHQgdmFsdWUgaW4gaGVscAogIHNjcmVlbi4gUmVmcyA6aXNzdWU6YDI5MTFgIDpwcjpgMzAwNGAKLSBGaXggY29tcGxldGlvbiBmb3IgdGhlIFogc2hlbGwgKGB6c2hgKSBmb3IgY29tcGxldGlvbiBpdGVtcyBjb250YWluaW5nCiAgY29sb25zLiA6aXNzdWU6YDI3MDNgIDpwcjpgMjg0NmAKLSBEb24ndCBpbmNsdWRlIGVudnZhciBpbiBlcnJvciBoaW50IHdoZW4gbm90IGNvbmZpZ3VyZWQuIDppc3N1ZTpgMjk3MWAgOnByOmAyOTcyYAotIEZpeCBhIHJhcmUgcmFjZSBpbiBgY2xpY2sudGVzdGluZy5TdHJlYW1NaXhlcmAncyBmaW5hbGl6YXRpb24gdGhhdCBtYW5pZmVzdGVkCiAgYXMgYSBgVmFsdWVFcnJvcmAgb24gY2xvc2UgaW4gYSBtdWx0aS10aHJlYWRlZCB0ZXN0IHNlc3Npb24uCiAgOmlzc3VlOmAyOTkzYCA6cHI6YDI5OTFgCgojIyMgW2B2OC4yLjFgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcGFsbGV0cy9jbGljay9ibG9iL0hFQUQvQ0hBTkdFUy5yc3QjVmVyc2lvbi04MjEpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9wYWxsZXRzL2NsaWNrL2NvbXBhcmUvOC4yLjAuLi44LjIuMSkKClJlbGVhc2VkIDIwMjUtMDUtMjAKCi0gRml4IGZsYWcgdmFsdWUgaGFuZGxpbmcgZm9yIGZsYWcgb3B0aW9ucyB3aXRoIGEgcHJvdmlkZWQgdHlwZS4gOmlzc3VlOmAyODk0YAogIDppc3N1ZTpgMjg5N2AgOnByOmAyOTMwYAotIEZpeCBzaGVsbCBjb21wbGV0aW9uIGZvciBuZXN0ZWQgZ3JvdXBzLiA6aXNzdWU6YDI5MDZgIDpwcjpgMjkwN2AKLSBGbHVzaCBgc3lzLnN0ZGVycmAgYXQgdGhlIGVuZCBvZiBgQ2xpUnVubmVyLmludm9rZWAuIDppc3N1ZTpgMjY4MmAKLSBGaXggRU9GIGhhbmRsaW5nIGZvciBzdGRpbiBpbnB1dCBpbiBDbGlSdW5uZXIuIDppc3N1ZTpgMjc4N2AKCiMjIyBbYHY4LjIuMGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9wYWxsZXRzL2NsaWNrL2Jsb2IvSEVBRC9DSEFOR0VTLnJzdCNWZXJzaW9uLTgyMCkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3BhbGxldHMvY2xpY2svY29tcGFyZS84LjEuOC4uLjguMi4wKQoKUmVsZWFzZWQgMjAyNS0wNS0xMAoKLSBEcm9wIHN1cHBvcnQgZm9yIFB5dGhvbiAzLjcsIDMuOCwgYW5kIDMuOS4gOnByOmAyNTg4YCA6cHI6YDI4OTNgCgotIFVzZSBtb2Rlcm4gcGFja2FnaW5nIG1ldGFkYXRhIHdpdGggYHB5cHJvamVjdC50b21sYCBpbnN0ZWFkIG9mIGBzZXR1cC5jZmdgLgogIDpwcjpgMjQzOGAKCi0gVXNlIGBmbGl0X2NvcmVgIGluc3RlYWQgb2YgYHNldHVwdG9vbHNgIGFzIGJ1aWxkIGJhY2tlbmQuIDpwcjpgMjU0M2AKCi0gRGVwcmVjYXRlIHRoZSBgX192ZXJzaW9uX19gIGF0dHJpYnV0ZS4gVXNlIGZlYXR1cmUgZGV0ZWN0aW9uLCBvcgogIGBpbXBvcnRsaWIubWV0YWRhdGEudmVyc2lvbigiY2xpY2siKWAsIGluc3RlYWQuIDppc3N1ZTpgMjU5OGAKCi0gYEJhc2VDb21tYW5kYCBpcyBkZXByZWNhdGVkLiBgQ29tbWFuZGAgaXMgdGhlIGJhc2UgY2xhc3MgZm9yIGFsbAogIGNvbW1hbmRzLiA6aXNzdWU6YDI1ODlgCgotIGBNdWx0aUNvbW1hbmRgIGlzIGRlcHJlY2F0ZWQuIGBHcm91cGAgaXMgdGhlIGJhc2UgY2xhc3MgZm9yIGFsbCBncm91cAogIGNvbW1hbmRzLiA6aXNzdWU6YDI1OTBgCgotIFRoZSBjdXJyZW50IHBhcnNlciBhbmQgcmVsYXRlZCBjbGFzc2VzIGFuZCBtZXRob2RzLCBhcmUgZGVwcmVjYXRlZC4KICA6aXNzdWU6YDIyMDVgCgogIC0gYE9wdGlvblBhcnNlcmAgYW5kIHRoZSBgcGFyc2VyYCBtb2R1bGUsIHdoaWNoIGlzIGEgbW9kaWZpZWQgY29weSBvZgogICAgYG9wdHBhcnNlYCBpbiB0aGUgc3RhbmRhcmQgbGlicmFyeS4KICAtIGBDb250ZXh0LnByb3RlY3RlZF9hcmdzYCBpcyB1bm5lZWRlZC4gYENvbnRleHQuYXJnc2AgY29udGFpbnMgYW55CiAgICByZW1haW5pbmcgYXJndW1lbnRzIHdoaWxlIHBhcnNpbmcuCiAgLSBgUGFyYW1ldGVyLmFkZF90b19wYXJzZXJgIChvbiBib3RoIGBBcmd1bWVudGAgYW5kIGBPcHRpb25gKSBpcwogICAgdW5uZWVkZWQuIFBhcnNpbmcgd29ya3MgZGlyZWN0bHkgd2l0aG91dCBidWlsZGluZyBhIHNlcGFyYXRlIHBhcnNlci4KICAtIGBzcGxpdF9hcmdfc3RyaW5nYCBpcyBtb3ZlZCBmcm9tIGBwYXJzZXJgIHRvIGBzaGVsbF9jb21wbGV0aW9uYC4KCi0gRW5hYmxlIGRlZmVycmVkIGV2YWx1YXRpb24gb2YgYW5ub3RhdGlvbnMgd2l0aAogIGBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFubm90YXRpb25zYC4gOnByOmAyMjcwYAoKLSBXaGVuIGdlbmVyYXRpbmcgYSBjb21tYW5kJ3MgbmFtZSBmcm9tIGEgZGVjb3JhdGVkIGZ1bmN0aW9uJ3MgbmFtZSwgdGhlCiAgc3VmZml4ZXMgYF9jb21tYW5kYCwgYF9jbWRgLCBgX2dyb3VwYCwgYW5kIGBfZ3JwYCBhcmUgcmVtb3ZlZC4KICA6aXNzdWU6YDIzMjJgCgotIFNob3cgdGhlIGB0eXBlcy5QYXJhbVR5cGUubmFtZWAgZm9yIGB0eXBlcy5DaG9pY2VgIG9wdGlvbnMgd2l0aGluCiAgYC0taGVscGAgbWVzc2FnZSBpZiBgc2hvd19jaG9pY2VzPUZhbHNlYCBpcyBzcGVjaWZpZWQuCiAgOmlzc3VlOmAyMzU2YAoKLSBEbyBub3QgZGlzcGxheSBkZWZhdWx0IHZhbHVlcyBpbiBwcm9tcHRzIHdoZW4gYE9wdGlvbi5zaG93X2RlZmF1bHRgIGlzCiAgYEZhbHNlYC4gOnByOmAyNTA5YAoKLSBBZGQgYGdldF9oZWxwX2V4dHJhYCBtZXRob2Qgb24gYE9wdGlvbmAgdG8gZmV0Y2ggdGhlIGdlbmVyYXRlZCBleHRyYQogIGl0ZW1zIHVzZWQgaW4gYGdldF9oZWxwX3JlY29yZGAgdG8gcmVuZGVyIGhlbHAgdGV4dC4gOmlzc3VlOmAyNTE2YAogIDpwcjpgMjUxN2AKCi0gS2VlcCBzdGRvdXQgYW5kIHN0ZGVyciBzdHJlYW1zIGluZGVwZW5kZW50IGluIGBDbGlSdW5uZXJgLiBBbHdheXMKICBjb2xsZWN0IHN0ZGVyciBvdXRwdXQgYW5kIG5ldmVyIHJhaXNlIGFuIGV4Y2VwdGlvbi4gQWRkIGEgbmV3CiAgb3V0cHV0IHN0cmVhbSB0byBzaW11bGF0ZSB3aGF0IHRoZSB1c2VyIHNlZXMgaW4gaXRzIHRlcm1pbmFsLiBSZW1vdmVzCiAgdGhlIGBtaXhfc3RkZXJyYCBwYXJhbWV0ZXIgaW4gYENsaVJ1bm5lcmAuIDppc3N1ZTpgMjUyMmAgOnByOmAyNTIzYAoKLSBgT3B0aW9uLnNob3dfZW52dmFyYCBub3cgYWxzbyBzaG93cyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpbiBlcnJvciBtZXNzYWdlcy4KICA6aXNzdWU6YDI2OTVgIDpwcjpgMjY5NmAKCi0gYENvbnRleHQuY2xvc2VgIHdpbGwgYmUgY2FsbGVkIG9uIGV4aXQuIFRoaXMgcmVzdWx0cyBpbiBhbGwKICBgQ29udGV4dC5jYWxsX29uX2Nsb3NlYCBjYWxsYmFja3MgYW5kIGNvbnRleHQgbWFuYWdlcnMgYWRkZWQgdmlhCiAgYENvbnRleHQud2l0aF9yZXNvdXJjZWAgdG8gYmUgY2xvc2VkIG9uIGV4aXQgYXMgd2VsbC4gOnByOmAyNjgwYAoKLSBBZGQgYFByb2dyZXNzQmFyKGhpZGRlbjogYm9vbClgIHRvIGFsbG93IGhpZGluZyB0aGUgcHJvZ3Jlc3NiYXIuIDppc3N1ZTpgMjYwOWAKCi0gQSBgVXNlcldhcm5pbmdgIHdpbGwgYmUgc2hvd24gd2hlbiBtdWx0aXBsZSBwYXJhbWV0ZXJzIGF0dGVtcHQgdG8gdXNlIHRoZQogIHNhbWUgbmFtZS4gOmlzc3VlOmAyMzk2YAoKLSBXaGVuIHVzaW5nIGBPcHRpb24uZW52dmFyYCB3aXRoIGBPcHRpb24uZmxhZ192YWx1ZWAsIHRoZSBgZmxhZ192YWx1ZWAKICB3aWxsIGFsd2F5cyBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIHZhbHVlIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZS4KICA6aXNzdWU6YDI3NDZgIDpwcjpgMjc4OGAKCi0gQWRkIGBDaG9pY2UuZ2V0X2ludmFsaWRfY2hvaWNlX21lc3NhZ2VgIG1ldGhvZCBmb3IgY3VzdG9taXppbmcgdGhlCiAgaW52YWxpZCBjaG9pY2UgbWVzc2FnZS4gOmlzc3VlOmAyNjIxYCA6cHI6YDI2MjJgCgotIElmIGhlbHAgaXMgc2hvd24gYmVjYXVzZSBgbm9fYXJnc19pc19oZWxwYCBpcyBlbmFibGVkIChkZWZhdWx0cyB0byBgVHJ1ZWAKICBmb3IgZ3JvdXBzLCBgRmFsc2VgIGZvciBjb21tYW5kcyksIHRoZSBleGl0IGNvZGUgaXMgMiBpbnN0ZWFkIG9mIDAuCiAgOmlzc3VlOmAxNDg5YCA6cHI6YDE0ODlgCgotIENvbnRleHRzIGNyZWF0ZWQgZHVyaW5nIHNoZWxsIGNvbXBsZXRpb24gYXJlIGNsb3NlZCBwcm9wZXJseSwgZml4aW5nCiAgYSBgUmVzb3VyY2VXYXJuaW5nYCB3aGVuIHVzaW5nIGBjbGljay5GaWxlYC4gOmlzc3VlOmAyNjQ0YCA6cHI6YDI4MDBgCiAgOnByOmAyNzY3YAoKLSBgY2xpY2suZWRpdChmaWxlbmFtZSlgIG5vdyBzdXBwb3J0cyBwYXNzaW5nIGFuIGl0ZXJhYmxlIG9mIGZpbGVuYW1lcyBpbgogIGNhc2UgdGhlIGVkaXRvciBzdXBwb3J0cyBlZGl0aW5nIG11bHRpcGxlIGZpbGVzIGF0IG9uY2UuIEl0cyByZXR1cm4gdHlwZQogIGlzIG5vdyBhbHNvIHR5cGVkOiBgQW55U3RyYCBpZiBgdGV4dGAgaXMgcGFzc2VkLCBvdGhlcndpc2UgYE5vbmVgLgogIDppc3N1ZTpgMjA2N2AgOnByOmAyMDY4YAoKLSBTcGVjaWFsaXplZCB0eXBpbmcgb2YgYHByb2dyZXNzYmFyKGxlbmd0aD0uLi4pYCBhcyBgUHJvZ3Jlc3NCYXJbaW50XWAuCiAgOnByOmAyNjMwYAoKLSBJbXByb3ZlIGBlY2hvX3ZpYV9wYWdlcmAgYmVoYXZpb3VyIGluIGZhY2Ugb2YgZXJyb3JzLgogIDppc3N1ZTpgMjY3NGAKCiAgLSBUZXJtaW5hdGUgdGhlIHBhZ2VyIGluIGNhc2UgYSBnZW5lcmF0b3IgcGFzc2VkIHRvIGBlY2hvX3ZpYV9wYWdlcmAKICAgIHJhaXNlcyBhbiBleGNlcHRpb24uCiAgLSBFbnN1cmUgdG8gYWx3YXlzIGNsb3NlIHRoZSBwaXBlIHRvIHRoZSBwYWdlciBwcm9jZXNzIGFuZCB3YWl0IGZvciBpdAogICAgdG8gdGVybWluYXRlLgogIC0gYGVjaG9fdmlhX3BhZ2VyYCB3aWxsIG5vdCBpZ25vcmUgYEtleWJvYXJkSW50ZXJydXB0YCBhbnltb3JlLiBUaGlzCiAgICBhbGxvd3MgdGhlIHVzZXIgdG8gc2VhcmNoIGZvciBmdXR1cmUgb3V0cHV0IG9mIHRoZSBnZW5lcmF0b3Igd2hlbgogICAgdXNpbmcgbGVzcyBhbmQgdGhlbiBhYm9ydGluZyB0aGUgcHJvZ3JhbSB1c2luZyBjdHJsLWMuCgotIGBkZXByZWNhdGVkOiBib29sIHwgc3RyYCBjYW4gbm93IGJlIHVzZWQgb24gb3B0aW9ucyBhbmQgYXJndW1lbnRzLiBUaGlzCiAgcHJldmlvdXNseSB3YXMgb25seSBhdmFpbGFibGUgZm9yIGBDb21tYW5kYC4gVGhlIG1lc3NhZ2UgY2FuIG5vdyBhbHNvIGJlCiAgY3VzdG9taXNlZCBieSB1c2luZyBhIGBzdHJgIGluc3RlYWQgb2YgYSBgYm9vbGAuIDppc3N1ZTpgMjI2M2AgOnByOmAyMjcxYAoKICAtIGBDb21tYW5kLmRlcHJlY2F0ZWRgIGZvcm1hdHRpbmcgaW4gYC0taGVscGAgY2hhbmdlZCBmcm9tCiAgICBgKERlcHJlY2F0ZWQpIGhlbHBgIHRvIGBoZWxwIChERVBSRUNBVEVEKWAuCiAgLSBQYXJhbWV0ZXJzIGNhbm5vdCBiZSByZXF1aXJlZCBub3IgcHJvbXB0ZWQgb3IgYW4gZXJyb3IgaXMgcmFpc2VkLgogIC0gQSB3YXJuaW5nIHdpbGwgYmUgcHJpbnRlZCB3aGVuIHNvbWV0aGluZyBkZXByZWNhdGVkIGlzIHVzZWQuCgotIEFkZCBhIGBjYXRjaF9leGNlcHRpb25zYCBwYXJhbWV0ZXIgdG8gYENsaVJ1bm5lcmAuIElmCiAgYGNhdGNoX2V4Y2VwdGlvbnNgIGlzIG5vdCBwYXNzZWQgdG8gYENsaVJ1bm5lci5pbnZva2VgLCB0aGUgdmFsdWUKICBmcm9tIGBDbGlSdW5uZXJgIGlzIHVzZWQuIDppc3N1ZTpgMjgxN2AgOnByOmAyODE4YAoKLSBgT3B0aW9uLmZsYWdfdmFsdWVgIHdpbGwgbm8gbG9uZ2VyIGhhdmUgYSBkZWZhdWx0IHZhbHVlIHNldCBiYXNlZCBvbgogIGBPcHRpb24uZGVmYXVsdGAgaWYgYE9wdGlvbi5pc19mbGFnYCBpcyBgRmFsc2VgLiBUaGlzIHJlc3VsdHMgaW4KICBgT3B0aW9uLmRlZmF1bHRgIG5vdCBuZWVkaW5nIHRvIGltcGxlbWVudCBgX19ib29sX19gLiA6cHI6YDI4MjlgCgotIEluY29ycmVjdCBgY2xpY2suZWRpdGAgdHlwaW5nIGhhcyBiZWVuIGNvcnJlY3RlZC4gOnByOmAyODA0YAoKLSBgQ2hvaWNlYCBpcyBub3cgZ2VuZXJpYyBhbmQgc3VwcG9ydHMgYW55IGl0ZXJhYmxlIHZhbHVlLgogIFRoaXMgYWxsb3dzIHlvdSB0byB1c2UgZW51bXMgYW5kIG90aGVyIG5vbi1gc3RyYCB2YWx1ZXMuIDpwcjpgMjc5NmAKICA6aXNzdWU6YDYwNWAKCi0gRml4IHNldHVwIG9mIGhlbHAgb3B0aW9uJ3MgZGVmYXVsdHMgd2hlbiB1c2luZyBhIGN1c3RvbSBjbGFzcyBvbiBpdHMKICBkZWNvcmF0b3IuIFJlbW92ZXMgYEhlbHBPcHRpb25gLiA6aXNzdWU6YDI4MzJgIDpwcjpgMjg0MGAKCjwvZGV0YWlscz4KCi0tLQoKIyMjIENvbmZpZ3VyYXRpb24KCvCfk4UgKipTY2hlZHVsZSoqOiBCcmFuY2ggY3JlYXRpb24gLSBBdCBhbnkgdGltZSAobm8gc2NoZWR1bGUgZGVmaW5lZCksIEF1dG9tZXJnZSAtIEF0IGFueSB0aW1lIChubyBzY2hlZHVsZSBkZWZpbmVkKS4KCvCfmqYgKipBdXRvbWVyZ2UqKjogRGlzYWJsZWQgYnkgY29uZmlnLiBQbGVhc2UgbWVyZ2UgdGhpcyBtYW51YWxseSBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkLgoK4pm7ICoqUmViYXNpbmcqKjogV2hlbmV2ZXIgUFIgYmVjb21lcyBjb25mbGljdGVkLCBvciB5b3UgdGljayB0aGUgcmViYXNlL3JldHJ5IGNoZWNrYm94LgoK8J+UlSAqKklnbm9yZSoqOiBDbG9zZSB0aGlzIFBSIGFuZCB5b3Ugd29uJ3QgYmUgcmVtaW5kZWQgYWJvdXQgdGhpcyB1cGRhdGUgYWdhaW4uCgotLS0KCiAtIFsgXSA8IS0tIHJlYmFzZS1jaGVjayAtLT5JZiB5b3Ugd2FudCB0byByZWJhc2UvcmV0cnkgdGhpcyBQUiwgY2hlY2sgdGhpcyBib3gKCi0tLQoKVGhpcyBQUiB3YXMgZ2VuZXJhdGVkIGJ5IFtNZW5kIFJlbm92YXRlXShodHRwczovL21lbmQuaW8vcmVub3ZhdGUvKS4gVmlldyB0aGUgW3JlcG9zaXRvcnkgam9iIGxvZ10oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9naXRodWIvb3Npc20vb3BlbnN0YWNrLXByb2plY3QtbWFuYWdlcikuCjwhLS1yZW5vdmF0ZS1kZWJ1ZzpleUpqY21WaGRHVmtTVzVXWlhJaU9pSTBNQzR4TVM0NUlpd2lkWEJrWVhSbFpFbHVWbVZ5SWpvaU5ERXVNVE14TGpraUxDSjBZWEpuWlhSQ2NtRnVZMmdpT2lKdFlXbHVJaXdpYkdGaVpXeHpJanBiSW5KbGJtOTJZWFJsSWwxOS0tPgo=
      patchset: 19ad2bee23e04c1ce2bccc8984591eebe5d2eef6
      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/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
          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/openstack-project-manager:
            canonical_name: github.com/osism/openstack-project-manager
            checkout: main
            commit: 891a199addb7af4945776e5fb92b45112973cbdc
        playbooks:
        - path: untrusted/project_0/github.com/osism/openinfra-zuul-jobs/playbooks/tox/run.yaml
          roles:
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_0/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_0/zuul-config/roles
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_1/openinfra-zuul-jobs
            link_target: untrusted/project_0/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_1/openinfra-zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/openstack-project-manager
        name: osism/openstack-project-manager
        short_name: openstack-project-manager
        src_dir: src/github.com/osism/openstack-project-manager
      projects:
        github.com/osism/openstack-project-manager:
          canonical_hostname: github.com
          canonical_name: github.com/osism/openstack-project-manager
          checkout: main
          checkout_description: zuul branch
          commit: 891a199addb7af4945776e5fb92b45112973cbdc
          name: osism/openstack-project-manager
          required: false
          short_name: openstack-project-manager
          src_dir: src/github.com/osism/openstack-project-manager
      ref: refs/pull/227/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
