all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fec9:49e8
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 773d904c-1c26-47e1-bef7-96745a0c879b
        host_id: 82101243836454d7401d5893feae9e2c5df7cc291646d8a99b33b53b
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fec9:49e8
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.100
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.40
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fec9:49e8
        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 flake8 explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#32>'
      - '<Job flake8 explicit: None implied: None source: osism/python-osism/.zuul.yaml@main#143>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 2f0d8477428245299442db73fa9c8e67
      build_refs:
      - branch: main
        change: '2550'
        change_message: "Add integration tests for Celery error, state and revoke
          paths\n\nExtends the Celery integration coverage beyond the noop round-trip
          with three\nlifecycle tests against the live Redis broker and the real worker
          subprocess.\n\nOne commit, 14be3bd:\n\n- `tests/integration/worker_tasks.py`
          (new) registers two test-only tasks on\n  the `ansible` app: `itest_fail`
          raises `RuntimeError`, `itest_block` sleeps\n  and returns its argument.
          The explicit `osism.tasks.ansible.*` names route\n  them onto the `osism-ansible`
          queue the worker consumes; with their\n  auto-generated names they would
          land on the unconsumed `default` queue.\n- `tests/integration/conftest.py`
          starts the session worker with\n  `--include=tests.integration.worker_tasks`
          and pins its `cwd` to the\n  repository root so the module resolves regardless
          of where pytest was\n  launched. A broken include surfaces as the fixture's
          existing early-exit\n  `RuntimeError` instead of a hang.\n- `tests/integration/test_celery_lifecycle.py`
          (new) adds the three tests: an\n  exception raised in the worker reaches
          the caller through\n  `AsyncResult.get()` and leaves the task in `FAILURE`;
          `task_track_started`\n  reports `STARTED` while a task runs; `osism.utils.revoke_task`
          terminates a\n  running task, the state ends `REVOKED`, `get()` raises `TaskRevokedError`,\n
          \ and a final noop round-trip proves the prefork pool respawned its child.\n
          \ All waits go through a `time.monotonic()` deadline helper that fails the\n
          \ test instead of hanging.\n\nThe tests carry `pytestmark = pytest.mark.integration`,
          skip without a\nreachable Redis, and run for real in the `python-osism-integration-tests`\njob.
          `black --check` and `flake8` pass locally.\n\nCloses #2404\n"
        change_url: https://github.com/osism/python-osism/pull/2550
        commit_id: e240b647c07afb7f0a791655c72175e153a1621a
        patchset: e240b647c07afb7f0a791655c72175e153a1621a
        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: 3b987fba595c4596be10ca0da1313c7a
      buildset_refs:
      - branch: main
        change: '2550'
        change_message: "Add integration tests for Celery error, state and revoke
          paths\n\nExtends the Celery integration coverage beyond the noop round-trip
          with three\nlifecycle tests against the live Redis broker and the real worker
          subprocess.\n\nOne commit, 14be3bd:\n\n- `tests/integration/worker_tasks.py`
          (new) registers two test-only tasks on\n  the `ansible` app: `itest_fail`
          raises `RuntimeError`, `itest_block` sleeps\n  and returns its argument.
          The explicit `osism.tasks.ansible.*` names route\n  them onto the `osism-ansible`
          queue the worker consumes; with their\n  auto-generated names they would
          land on the unconsumed `default` queue.\n- `tests/integration/conftest.py`
          starts the session worker with\n  `--include=tests.integration.worker_tasks`
          and pins its `cwd` to the\n  repository root so the module resolves regardless
          of where pytest was\n  launched. A broken include surfaces as the fixture's
          existing early-exit\n  `RuntimeError` instead of a hang.\n- `tests/integration/test_celery_lifecycle.py`
          (new) adds the three tests: an\n  exception raised in the worker reaches
          the caller through\n  `AsyncResult.get()` and leaves the task in `FAILURE`;
          `task_track_started`\n  reports `STARTED` while a task runs; `osism.utils.revoke_task`
          terminates a\n  running task, the state ends `REVOKED`, `get()` raises `TaskRevokedError`,\n
          \ and a final noop round-trip proves the prefork pool respawned its child.\n
          \ All waits go through a `time.monotonic()` deadline helper that fails the\n
          \ test instead of hanging.\n\nThe tests carry `pytestmark = pytest.mark.integration`,
          skip without a\nreachable Redis, and run for real in the `python-osism-integration-tests`\njob.
          `black --check` and `flake8` pass locally.\n\nCloses #2404\n"
        change_url: https://github.com/osism/python-osism/pull/2550
        commit_id: e240b647c07afb7f0a791655c72175e153a1621a
        patchset: e240b647c07afb7f0a791655c72175e153a1621a
        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: '2550'
      change_message: "Add integration tests for Celery error, state and revoke paths\n\nExtends
        the Celery integration coverage beyond the noop round-trip with three\nlifecycle
        tests against the live Redis broker and the real worker subprocess.\n\nOne
        commit, 14be3bd:\n\n- `tests/integration/worker_tasks.py` (new) registers
        two test-only tasks on\n  the `ansible` app: `itest_fail` raises `RuntimeError`,
        `itest_block` sleeps\n  and returns its argument. The explicit `osism.tasks.ansible.*`
        names route\n  them onto the `osism-ansible` queue the worker consumes; with
        their\n  auto-generated names they would land on the unconsumed `default`
        queue.\n- `tests/integration/conftest.py` starts the session worker with\n
        \ `--include=tests.integration.worker_tasks` and pins its `cwd` to the\n  repository
        root so the module resolves regardless of where pytest was\n  launched. A
        broken include surfaces as the fixture's existing early-exit\n  `RuntimeError`
        instead of a hang.\n- `tests/integration/test_celery_lifecycle.py` (new) adds
        the three tests: an\n  exception raised in the worker reaches the caller through\n
        \ `AsyncResult.get()` and leaves the task in `FAILURE`; `task_track_started`\n
        \ reports `STARTED` while a task runs; `osism.utils.revoke_task` terminates
        a\n  running task, the state ends `REVOKED`, `get()` raises `TaskRevokedError`,\n
        \ and a final noop round-trip proves the prefork pool respawned its child.\n
        \ All waits go through a `time.monotonic()` deadline helper that fails the\n
        \ test instead of hanging.\n\nThe tests carry `pytestmark = pytest.mark.integration`,
        skip without a\nreachable Redis, and run for real in the `python-osism-integration-tests`\njob.
        `black --check` and `flake8` pass locally.\n\nCloses #2404\n"
      change_url: https://github.com/osism/python-osism/pull/2550
      child_jobs: []
      commit_id: e240b647c07afb7f0a791655c72175e153a1621a
      event_id: 5309a5f0-8f21-11f1-8cca-ef8ad9d8b597
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/2f0d8477428245299442db73fa9c8e67/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/2f0d8477428245299442db73fa9c8e67/work/logs
        result_data_file: /var/lib/zuul/builds/2f0d8477428245299442db73fa9c8e67/work/results.json
        src_root: /var/lib/zuul/builds/2f0d8477428245299442db73fa9c8e67/work/src
        work_root: /var/lib/zuul/builds/2f0d8477428245299442db73fa9c8e67/work
      include_vars: []
      items:
      - branch: main
        change: '2550'
        change_message: "Add integration tests for Celery error, state and revoke
          paths\n\nExtends the Celery integration coverage beyond the noop round-trip
          with three\nlifecycle tests against the live Redis broker and the real worker
          subprocess.\n\nOne commit, 14be3bd:\n\n- `tests/integration/worker_tasks.py`
          (new) registers two test-only tasks on\n  the `ansible` app: `itest_fail`
          raises `RuntimeError`, `itest_block` sleeps\n  and returns its argument.
          The explicit `osism.tasks.ansible.*` names route\n  them onto the `osism-ansible`
          queue the worker consumes; with their\n  auto-generated names they would
          land on the unconsumed `default` queue.\n- `tests/integration/conftest.py`
          starts the session worker with\n  `--include=tests.integration.worker_tasks`
          and pins its `cwd` to the\n  repository root so the module resolves regardless
          of where pytest was\n  launched. A broken include surfaces as the fixture's
          existing early-exit\n  `RuntimeError` instead of a hang.\n- `tests/integration/test_celery_lifecycle.py`
          (new) adds the three tests: an\n  exception raised in the worker reaches
          the caller through\n  `AsyncResult.get()` and leaves the task in `FAILURE`;
          `task_track_started`\n  reports `STARTED` while a task runs; `osism.utils.revoke_task`
          terminates a\n  running task, the state ends `REVOKED`, `get()` raises `TaskRevokedError`,\n
          \ and a final noop round-trip proves the prefork pool respawned its child.\n
          \ All waits go through a `time.monotonic()` deadline helper that fails the\n
          \ test instead of hanging.\n\nThe tests carry `pytestmark = pytest.mark.integration`,
          skip without a\nreachable Redis, and run for real in the `python-osism-integration-tests`\njob.
          `black --check` and `flake8` pass locally.\n\nCloses #2404\n"
        change_url: https://github.com/osism/python-osism/pull/2550
        commit_id: e240b647c07afb7f0a791655c72175e153a1621a
        patchset: e240b647c07afb7f0a791655c72175e153a1621a
        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: flake8
      jobtags: []
      max_attempts: 3
      message: QWRkIGludGVncmF0aW9uIHRlc3RzIGZvciBDZWxlcnkgZXJyb3IsIHN0YXRlIGFuZCByZXZva2UgcGF0aHMKCkV4dGVuZHMgdGhlIENlbGVyeSBpbnRlZ3JhdGlvbiBjb3ZlcmFnZSBiZXlvbmQgdGhlIG5vb3Agcm91bmQtdHJpcCB3aXRoIHRocmVlCmxpZmVjeWNsZSB0ZXN0cyBhZ2FpbnN0IHRoZSBsaXZlIFJlZGlzIGJyb2tlciBhbmQgdGhlIHJlYWwgd29ya2VyIHN1YnByb2Nlc3MuCgpPbmUgY29tbWl0LCAxNGJlM2JkOgoKLSBgdGVzdHMvaW50ZWdyYXRpb24vd29ya2VyX3Rhc2tzLnB5YCAobmV3KSByZWdpc3RlcnMgdHdvIHRlc3Qtb25seSB0YXNrcyBvbgogIHRoZSBgYW5zaWJsZWAgYXBwOiBgaXRlc3RfZmFpbGAgcmFpc2VzIGBSdW50aW1lRXJyb3JgLCBgaXRlc3RfYmxvY2tgIHNsZWVwcwogIGFuZCByZXR1cm5zIGl0cyBhcmd1bWVudC4gVGhlIGV4cGxpY2l0IGBvc2lzbS50YXNrcy5hbnNpYmxlLipgIG5hbWVzIHJvdXRlCiAgdGhlbSBvbnRvIHRoZSBgb3Npc20tYW5zaWJsZWAgcXVldWUgdGhlIHdvcmtlciBjb25zdW1lczsgd2l0aCB0aGVpcgogIGF1dG8tZ2VuZXJhdGVkIG5hbWVzIHRoZXkgd291bGQgbGFuZCBvbiB0aGUgdW5jb25zdW1lZCBgZGVmYXVsdGAgcXVldWUuCi0gYHRlc3RzL2ludGVncmF0aW9uL2NvbmZ0ZXN0LnB5YCBzdGFydHMgdGhlIHNlc3Npb24gd29ya2VyIHdpdGgKICBgLS1pbmNsdWRlPXRlc3RzLmludGVncmF0aW9uLndvcmtlcl90YXNrc2AgYW5kIHBpbnMgaXRzIGBjd2RgIHRvIHRoZQogIHJlcG9zaXRvcnkgcm9vdCBzbyB0aGUgbW9kdWxlIHJlc29sdmVzIHJlZ2FyZGxlc3Mgb2Ygd2hlcmUgcHl0ZXN0IHdhcwogIGxhdW5jaGVkLiBBIGJyb2tlbiBpbmNsdWRlIHN1cmZhY2VzIGFzIHRoZSBmaXh0dXJlJ3MgZXhpc3RpbmcgZWFybHktZXhpdAogIGBSdW50aW1lRXJyb3JgIGluc3RlYWQgb2YgYSBoYW5nLgotIGB0ZXN0cy9pbnRlZ3JhdGlvbi90ZXN0X2NlbGVyeV9saWZlY3ljbGUucHlgIChuZXcpIGFkZHMgdGhlIHRocmVlIHRlc3RzOiBhbgogIGV4Y2VwdGlvbiByYWlzZWQgaW4gdGhlIHdvcmtlciByZWFjaGVzIHRoZSBjYWxsZXIgdGhyb3VnaAogIGBBc3luY1Jlc3VsdC5nZXQoKWAgYW5kIGxlYXZlcyB0aGUgdGFzayBpbiBgRkFJTFVSRWA7IGB0YXNrX3RyYWNrX3N0YXJ0ZWRgCiAgcmVwb3J0cyBgU1RBUlRFRGAgd2hpbGUgYSB0YXNrIHJ1bnM7IGBvc2lzbS51dGlscy5yZXZva2VfdGFza2AgdGVybWluYXRlcyBhCiAgcnVubmluZyB0YXNrLCB0aGUgc3RhdGUgZW5kcyBgUkVWT0tFRGAsIGBnZXQoKWAgcmFpc2VzIGBUYXNrUmV2b2tlZEVycm9yYCwKICBhbmQgYSBmaW5hbCBub29wIHJvdW5kLXRyaXAgcHJvdmVzIHRoZSBwcmVmb3JrIHBvb2wgcmVzcGF3bmVkIGl0cyBjaGlsZC4KICBBbGwgd2FpdHMgZ28gdGhyb3VnaCBhIGB0aW1lLm1vbm90b25pYygpYCBkZWFkbGluZSBoZWxwZXIgdGhhdCBmYWlscyB0aGUKICB0ZXN0IGluc3RlYWQgb2YgaGFuZ2luZy4KClRoZSB0ZXN0cyBjYXJyeSBgcHl0ZXN0bWFyayA9IHB5dGVzdC5tYXJrLmludGVncmF0aW9uYCwgc2tpcCB3aXRob3V0IGEKcmVhY2hhYmxlIFJlZGlzLCBhbmQgcnVuIGZvciByZWFsIGluIHRoZSBgcHl0aG9uLW9zaXNtLWludGVncmF0aW9uLXRlc3RzYApqb2IuIGBibGFjayAtLWNoZWNrYCBhbmQgYGZsYWtlOGAgcGFzcyBsb2NhbGx5LgoKQ2xvc2VzICMyNDA0Cg==
      patchset: e240b647c07afb7f0a791655c72175e153a1621a
      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: dcb06ea8a3ad422cc9d98b376216617b2daa6a02
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: dcb06ea8a3ad422cc9d98b376216617b2daa6a02
          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
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/flake8/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: project default branch
            link_name: ansible/playbook_0/role_1/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_1/openinfra-zuul-jobs/roles
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_2/zuul-jobs
            link_target: untrusted/project_0/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/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: e160f9aa822754e59c5b96c56c9b20620b61c848
          name: osism/python-osism
          required: false
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
      ref: refs/pull/2550/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
