all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fea5:f60f
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 2e78945a-8e62-4ba5-bf10-8720bc0b82b9
        host_id: df70f2a3f3d0c26428f22685cfc722ebc48099d99e7332c39e017195
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fea5:f60f
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.110
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.212
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fea5:f60f
        region: null
        slot: null
      tox_environment:
        MANAGER_VERSION: 9.1.0
        NOSE_HTML_OUT_FILE: nose_results.html
        NOSE_WITH_HTML_OUTPUT: 1
        NOSE_WITH_XUNIT: 1
      tox_envlist: test
  vars:
    tox_environment:
      MANAGER_VERSION: 9.1.0
      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 cfg-generics-tox-test-stable explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/generics/.zuul.yaml@main#71>'
      - '<Job cfg-generics-tox-test-stable explicit: None implied: None source: osism/generics/.zuul.yaml@main#123>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: df93a5efbab14daa881281662a4122e8
      build_refs:
      - branch: main
        change: '596'
        change_message: "run.sh: run playbooks in the seed container\n\n## What\n\nAdd
          an optional seed-container execution path to the manager\n`environments/manager/run.sh`,
          so playbooks can run inside the\n`osism/seed` container instead of the local
          venv. Behaviour is selected\nby a `SEED_CONTAINER` tri-state flag:\n\n-
          `auto` (default) \u2014 run in the container when a container engine is
          up,\n  otherwise fall back to the existing local venv path\n- `true` \u2014
          force the container (fail fast if the engine is missing)\n- `false` \u2014
          force the local venv path\n\nThe container branch assembles the engine command
          from\n`SEED_CONTAINER_REGISTRY/IMAGE:TAG` (an empty registry drops the leading\nsegment),
          honours `SEED_CONTAINER_PULL` and `SEED_CONTAINER_MOUNT_OPTS`,\nforwards
          selected `ANSIBLE_*` / `MANAGER_VERSION` variables only when\nset, and defaults
          `ANSIBLE_VAULT_PASSWORD_FILE` to the repo's\n`.vault_pass` when the caller
          did not set it.\n\n## Tests & CI\n\n- `src/test-seed.sh` \u2014 a command-assembly
          test harness that points\n  `CONTAINER_ENGINE` at a recording stub and asserts
          the exact argv\n  `run.sh` would have executed. No container engine or image
          required.\n  Covers mode decision, image-reference assembly, env forwarding,
          vault\n  defaulting, and the pull/mount knobs (45 cases).\n- A new `tox
          -e seed` environment runs the harness.\n- A new `cfg-generics-tox-seed`
          Zuul job runs it in the `check` and\n  `periodic-daily` pipelines.\n\n##
          Commits\n\n- run.sh: run playbooks in the seed container\n- Add seed-container
          command-assembly tests\n- Gate seed-container tests in CI\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/generics/pull/596
        commit_id: 7c0a42613af2a56eb9854495503f61da93ce5e0d
        patchset: 7c0a42613af2a56eb9854495503f61da93ce5e0d
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/generics
          name: osism/generics
          short_name: generics
        src_dir: src/github.com/osism/generics
        topic: null
      buildset: 5d48b90d034244959a5d7badec65d52c
      buildset_refs:
      - branch: main
        change: '596'
        change_message: "run.sh: run playbooks in the seed container\n\n## What\n\nAdd
          an optional seed-container execution path to the manager\n`environments/manager/run.sh`,
          so playbooks can run inside the\n`osism/seed` container instead of the local
          venv. Behaviour is selected\nby a `SEED_CONTAINER` tri-state flag:\n\n-
          `auto` (default) \u2014 run in the container when a container engine is
          up,\n  otherwise fall back to the existing local venv path\n- `true` \u2014
          force the container (fail fast if the engine is missing)\n- `false` \u2014
          force the local venv path\n\nThe container branch assembles the engine command
          from\n`SEED_CONTAINER_REGISTRY/IMAGE:TAG` (an empty registry drops the leading\nsegment),
          honours `SEED_CONTAINER_PULL` and `SEED_CONTAINER_MOUNT_OPTS`,\nforwards
          selected `ANSIBLE_*` / `MANAGER_VERSION` variables only when\nset, and defaults
          `ANSIBLE_VAULT_PASSWORD_FILE` to the repo's\n`.vault_pass` when the caller
          did not set it.\n\n## Tests & CI\n\n- `src/test-seed.sh` \u2014 a command-assembly
          test harness that points\n  `CONTAINER_ENGINE` at a recording stub and asserts
          the exact argv\n  `run.sh` would have executed. No container engine or image
          required.\n  Covers mode decision, image-reference assembly, env forwarding,
          vault\n  defaulting, and the pull/mount knobs (45 cases).\n- A new `tox
          -e seed` environment runs the harness.\n- A new `cfg-generics-tox-seed`
          Zuul job runs it in the `check` and\n  `periodic-daily` pipelines.\n\n##
          Commits\n\n- run.sh: run playbooks in the seed container\n- Add seed-container
          command-assembly tests\n- Gate seed-container tests in CI\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/generics/pull/596
        commit_id: 7c0a42613af2a56eb9854495503f61da93ce5e0d
        patchset: 7c0a42613af2a56eb9854495503f61da93ce5e0d
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/generics
          name: osism/generics
          short_name: generics
        src_dir: src/github.com/osism/generics
        topic: null
      change: '596'
      change_message: "run.sh: run playbooks in the seed container\n\n## What\n\nAdd
        an optional seed-container execution path to the manager\n`environments/manager/run.sh`,
        so playbooks can run inside the\n`osism/seed` container instead of the local
        venv. Behaviour is selected\nby a `SEED_CONTAINER` tri-state flag:\n\n- `auto`
        (default) \u2014 run in the container when a container engine is up,\n  otherwise
        fall back to the existing local venv path\n- `true` \u2014 force the container
        (fail fast if the engine is missing)\n- `false` \u2014 force the local venv
        path\n\nThe container branch assembles the engine command from\n`SEED_CONTAINER_REGISTRY/IMAGE:TAG`
        (an empty registry drops the leading\nsegment), honours `SEED_CONTAINER_PULL`
        and `SEED_CONTAINER_MOUNT_OPTS`,\nforwards selected `ANSIBLE_*` / `MANAGER_VERSION`
        variables only when\nset, and defaults `ANSIBLE_VAULT_PASSWORD_FILE` to the
        repo's\n`.vault_pass` when the caller did not set it.\n\n## Tests & CI\n\n-
        `src/test-seed.sh` \u2014 a command-assembly test harness that points\n  `CONTAINER_ENGINE`
        at a recording stub and asserts the exact argv\n  `run.sh` would have executed.
        No container engine or image required.\n  Covers mode decision, image-reference
        assembly, env forwarding, vault\n  defaulting, and the pull/mount knobs (45
        cases).\n- A new `tox -e seed` environment runs the harness.\n- A new `cfg-generics-tox-seed`
        Zuul job runs it in the `check` and\n  `periodic-daily` pipelines.\n\n## Commits\n\n-
        run.sh: run playbooks in the seed container\n- Add seed-container command-assembly
        tests\n- Gate seed-container tests in CI\n\n\U0001F916 Generated with [Claude
        Code](https://claude.com/claude-code)"
      change_url: https://github.com/osism/generics/pull/596
      child_jobs: []
      commit_id: 7c0a42613af2a56eb9854495503f61da93ce5e0d
      event_id: 47615e70-6ba7-11f1-9ee6-c5873053d603
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/df93a5efbab14daa881281662a4122e8/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/df93a5efbab14daa881281662a4122e8/work/logs
        result_data_file: /var/lib/zuul/builds/df93a5efbab14daa881281662a4122e8/work/results.json
        src_root: /var/lib/zuul/builds/df93a5efbab14daa881281662a4122e8/work/src
        work_root: /var/lib/zuul/builds/df93a5efbab14daa881281662a4122e8/work
      include_vars: []
      items:
      - branch: main
        change: '596'
        change_message: "run.sh: run playbooks in the seed container\n\n## What\n\nAdd
          an optional seed-container execution path to the manager\n`environments/manager/run.sh`,
          so playbooks can run inside the\n`osism/seed` container instead of the local
          venv. Behaviour is selected\nby a `SEED_CONTAINER` tri-state flag:\n\n-
          `auto` (default) \u2014 run in the container when a container engine is
          up,\n  otherwise fall back to the existing local venv path\n- `true` \u2014
          force the container (fail fast if the engine is missing)\n- `false` \u2014
          force the local venv path\n\nThe container branch assembles the engine command
          from\n`SEED_CONTAINER_REGISTRY/IMAGE:TAG` (an empty registry drops the leading\nsegment),
          honours `SEED_CONTAINER_PULL` and `SEED_CONTAINER_MOUNT_OPTS`,\nforwards
          selected `ANSIBLE_*` / `MANAGER_VERSION` variables only when\nset, and defaults
          `ANSIBLE_VAULT_PASSWORD_FILE` to the repo's\n`.vault_pass` when the caller
          did not set it.\n\n## Tests & CI\n\n- `src/test-seed.sh` \u2014 a command-assembly
          test harness that points\n  `CONTAINER_ENGINE` at a recording stub and asserts
          the exact argv\n  `run.sh` would have executed. No container engine or image
          required.\n  Covers mode decision, image-reference assembly, env forwarding,
          vault\n  defaulting, and the pull/mount knobs (45 cases).\n- A new `tox
          -e seed` environment runs the harness.\n- A new `cfg-generics-tox-seed`
          Zuul job runs it in the `check` and\n  `periodic-daily` pipelines.\n\n##
          Commits\n\n- run.sh: run playbooks in the seed container\n- Add seed-container
          command-assembly tests\n- Gate seed-container tests in CI\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/generics/pull/596
        commit_id: 7c0a42613af2a56eb9854495503f61da93ce5e0d
        patchset: 7c0a42613af2a56eb9854495503f61da93ce5e0d
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/generics
          name: osism/generics
          short_name: generics
          src_dir: src/github.com/osism/generics
        topic: null
      job: cfg-generics-tox-test-stable
      jobtags: []
      max_attempts: 3
      message: cnVuLnNoOiBydW4gcGxheWJvb2tzIGluIHRoZSBzZWVkIGNvbnRhaW5lcgoKIyMgV2hhdAoKQWRkIGFuIG9wdGlvbmFsIHNlZWQtY29udGFpbmVyIGV4ZWN1dGlvbiBwYXRoIHRvIHRoZSBtYW5hZ2VyCmBlbnZpcm9ubWVudHMvbWFuYWdlci9ydW4uc2hgLCBzbyBwbGF5Ym9va3MgY2FuIHJ1biBpbnNpZGUgdGhlCmBvc2lzbS9zZWVkYCBjb250YWluZXIgaW5zdGVhZCBvZiB0aGUgbG9jYWwgdmVudi4gQmVoYXZpb3VyIGlzIHNlbGVjdGVkCmJ5IGEgYFNFRURfQ09OVEFJTkVSYCB0cmktc3RhdGUgZmxhZzoKCi0gYGF1dG9gIChkZWZhdWx0KSDigJQgcnVuIGluIHRoZSBjb250YWluZXIgd2hlbiBhIGNvbnRhaW5lciBlbmdpbmUgaXMgdXAsCiAgb3RoZXJ3aXNlIGZhbGwgYmFjayB0byB0aGUgZXhpc3RpbmcgbG9jYWwgdmVudiBwYXRoCi0gYHRydWVgIOKAlCBmb3JjZSB0aGUgY29udGFpbmVyIChmYWlsIGZhc3QgaWYgdGhlIGVuZ2luZSBpcyBtaXNzaW5nKQotIGBmYWxzZWAg4oCUIGZvcmNlIHRoZSBsb2NhbCB2ZW52IHBhdGgKClRoZSBjb250YWluZXIgYnJhbmNoIGFzc2VtYmxlcyB0aGUgZW5naW5lIGNvbW1hbmQgZnJvbQpgU0VFRF9DT05UQUlORVJfUkVHSVNUUlkvSU1BR0U6VEFHYCAoYW4gZW1wdHkgcmVnaXN0cnkgZHJvcHMgdGhlIGxlYWRpbmcKc2VnbWVudCksIGhvbm91cnMgYFNFRURfQ09OVEFJTkVSX1BVTExgIGFuZCBgU0VFRF9DT05UQUlORVJfTU9VTlRfT1BUU2AsCmZvcndhcmRzIHNlbGVjdGVkIGBBTlNJQkxFXypgIC8gYE1BTkFHRVJfVkVSU0lPTmAgdmFyaWFibGVzIG9ubHkgd2hlbgpzZXQsIGFuZCBkZWZhdWx0cyBgQU5TSUJMRV9WQVVMVF9QQVNTV09SRF9GSUxFYCB0byB0aGUgcmVwbydzCmAudmF1bHRfcGFzc2Agd2hlbiB0aGUgY2FsbGVyIGRpZCBub3Qgc2V0IGl0LgoKIyMgVGVzdHMgJiBDSQoKLSBgc3JjL3Rlc3Qtc2VlZC5zaGAg4oCUIGEgY29tbWFuZC1hc3NlbWJseSB0ZXN0IGhhcm5lc3MgdGhhdCBwb2ludHMKICBgQ09OVEFJTkVSX0VOR0lORWAgYXQgYSByZWNvcmRpbmcgc3R1YiBhbmQgYXNzZXJ0cyB0aGUgZXhhY3QgYXJndgogIGBydW4uc2hgIHdvdWxkIGhhdmUgZXhlY3V0ZWQuIE5vIGNvbnRhaW5lciBlbmdpbmUgb3IgaW1hZ2UgcmVxdWlyZWQuCiAgQ292ZXJzIG1vZGUgZGVjaXNpb24sIGltYWdlLXJlZmVyZW5jZSBhc3NlbWJseSwgZW52IGZvcndhcmRpbmcsIHZhdWx0CiAgZGVmYXVsdGluZywgYW5kIHRoZSBwdWxsL21vdW50IGtub2JzICg0NSBjYXNlcykuCi0gQSBuZXcgYHRveCAtZSBzZWVkYCBlbnZpcm9ubWVudCBydW5zIHRoZSBoYXJuZXNzLgotIEEgbmV3IGBjZmctZ2VuZXJpY3MtdG94LXNlZWRgIFp1dWwgam9iIHJ1bnMgaXQgaW4gdGhlIGBjaGVja2AgYW5kCiAgYHBlcmlvZGljLWRhaWx5YCBwaXBlbGluZXMuCgojIyBDb21taXRzCgotIHJ1bi5zaDogcnVuIHBsYXlib29rcyBpbiB0aGUgc2VlZCBjb250YWluZXIKLSBBZGQgc2VlZC1jb250YWluZXIgY29tbWFuZC1hc3NlbWJseSB0ZXN0cwotIEdhdGUgc2VlZC1jb250YWluZXIgdGVzdHMgaW4gQ0kKCvCfpJYgR2VuZXJhdGVkIHdpdGggW0NsYXVkZSBDb2RlXShodHRwczovL2NsYXVkZS5jb20vY2xhdWRlLWNvZGUp
      patchset: 7c0a42613af2a56eb9854495503f61da93ce5e0d
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 3d5c7b5973754999f7005857a00ce9168944f0f1
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
          trusted/project_2/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
          untrusted/project_0/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 3d5c7b5973754999f7005857a00ce9168944f0f1
          untrusted/project_2/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
        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
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_2/zuul-jobs
            link_target: untrusted/project_2/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_2/zuul-jobs/roles
      post_review: false
      post_timeout: 1800
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/generics
        name: osism/generics
        short_name: generics
        src_dir: src/github.com/osism/generics
      projects:
        github.com/osism/generics:
          canonical_hostname: github.com
          canonical_name: github.com/osism/generics
          checkout: main
          checkout_description: zuul branch
          commit: c7f8598edec3f4fa68a4715f42bbbd071f0a4387
          name: osism/generics
          required: false
          short_name: generics
          src_dir: src/github.com/osism/generics
      ref: refs/pull/596/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
