all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fef2:dcf4
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: c8ef3e0a-5e09-47c6-a662-2f0a11ce1778
        host_id: 0d3d02185f810c959252bd1d303ec55040bf5bb0b401cceef814c3a7
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fef2:dcf4
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.247
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.90
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fef2:dcf4
        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/ansible-collection-services/.zuul.yaml@main#498>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: d08bd71495e44a81a2d447e9e3914a2b
      build_refs:
      - branch: main
        change: '2091'
        change_message: "netbox: start worker on netbox started\n\n## What\n\nGate
          the rqworker on `netbox` `condition: service_started` instead of\n`service_healthy`,
          and wait for DB migrations before starting rqworker.\n\n## Why \u2014 root
          cause\n\n`ansible-collection-services-molecule-netbox` has been a chronic
          ~70% flake\n(`netbox-netbox-worker-1` never becomes healthy). Confirmed
          via a CI\nsystemd-journal capture of the netbox unit: the unit brings the
          stack up\nwith attached `docker compose up`, which waits on the worker's\n`depends_on:
          netbox service_healthy`. When netbox's `curl /login`\nhealthcheck flaps
          to `unhealthy` during slow DB migrations (exceeding even\nthe 240s `start_period`
          on the CI tail), compose declares *\"dependency\nnetbox failed to start:
          container is unhealthy\"*, abandons the worker\n(left `Created`) and exits.
          netbox goes healthy moments later, but compose\nhas already exited \u2014
          so the worker is never started.\n\n## Fix\n\n- `service_started` removes
          the health gate, so compose never waits on (or\n  abandons over) netbox's
          health.\n- The worker overrides the image entrypoint to run `manage.py rqworker`\n
          \ directly, bypassing the image's DB-wait \u2014 so with `service_started`\n
          \ alone it would start before migrations and log ~80\n  `UndefinedTable:
          relation \"core_job\" does not exist` errors. It now waits\n  until `manage.py
          migrate --check` succeeds (DB reachable and fully\n  migrated), then `exec`s
          rqworker (so the `pgrep` healthcheck still\n  matches the final process).\n\n##
          Validation\n\nValidated on draft #2090 (which carries the container-log
          + journal\ninstrumentation that pinned the root cause): **10/10 node-samples
          clean** \u2014\nworker `running`, zero rqworker DB errors; the worker waits
          ~65s for\nmigrations then starts rqworker cleanly. The abandon is now structurally\nimpossible
          (the worker no longer gates on netbox health).\n\n\U0001F916 Generated with
          [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/ansible-collection-services/pull/2091
        commit_id: 3689f221d0cdab29a510121197ed751a5e42fe6e
        patchset: 3689f221d0cdab29a510121197ed751a5e42fe6e
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          name: osism/ansible-collection-services
          short_name: ansible-collection-services
        src_dir: src/github.com/osism/ansible-collection-services
        topic: null
      buildset: ab88f307f8034688a548b5af59d64750
      buildset_refs:
      - branch: main
        change: '2091'
        change_message: "netbox: start worker on netbox started\n\n## What\n\nGate
          the rqworker on `netbox` `condition: service_started` instead of\n`service_healthy`,
          and wait for DB migrations before starting rqworker.\n\n## Why \u2014 root
          cause\n\n`ansible-collection-services-molecule-netbox` has been a chronic
          ~70% flake\n(`netbox-netbox-worker-1` never becomes healthy). Confirmed
          via a CI\nsystemd-journal capture of the netbox unit: the unit brings the
          stack up\nwith attached `docker compose up`, which waits on the worker's\n`depends_on:
          netbox service_healthy`. When netbox's `curl /login`\nhealthcheck flaps
          to `unhealthy` during slow DB migrations (exceeding even\nthe 240s `start_period`
          on the CI tail), compose declares *\"dependency\nnetbox failed to start:
          container is unhealthy\"*, abandons the worker\n(left `Created`) and exits.
          netbox goes healthy moments later, but compose\nhas already exited \u2014
          so the worker is never started.\n\n## Fix\n\n- `service_started` removes
          the health gate, so compose never waits on (or\n  abandons over) netbox's
          health.\n- The worker overrides the image entrypoint to run `manage.py rqworker`\n
          \ directly, bypassing the image's DB-wait \u2014 so with `service_started`\n
          \ alone it would start before migrations and log ~80\n  `UndefinedTable:
          relation \"core_job\" does not exist` errors. It now waits\n  until `manage.py
          migrate --check` succeeds (DB reachable and fully\n  migrated), then `exec`s
          rqworker (so the `pgrep` healthcheck still\n  matches the final process).\n\n##
          Validation\n\nValidated on draft #2090 (which carries the container-log
          + journal\ninstrumentation that pinned the root cause): **10/10 node-samples
          clean** \u2014\nworker `running`, zero rqworker DB errors; the worker waits
          ~65s for\nmigrations then starts rqworker cleanly. The abandon is now structurally\nimpossible
          (the worker no longer gates on netbox health).\n\n\U0001F916 Generated with
          [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/ansible-collection-services/pull/2091
        commit_id: 3689f221d0cdab29a510121197ed751a5e42fe6e
        patchset: 3689f221d0cdab29a510121197ed751a5e42fe6e
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          name: osism/ansible-collection-services
          short_name: ansible-collection-services
        src_dir: src/github.com/osism/ansible-collection-services
        topic: null
      change: '2091'
      change_message: "netbox: start worker on netbox started\n\n## What\n\nGate the
        rqworker on `netbox` `condition: service_started` instead of\n`service_healthy`,
        and wait for DB migrations before starting rqworker.\n\n## Why \u2014 root
        cause\n\n`ansible-collection-services-molecule-netbox` has been a chronic
        ~70% flake\n(`netbox-netbox-worker-1` never becomes healthy). Confirmed via
        a CI\nsystemd-journal capture of the netbox unit: the unit brings the stack
        up\nwith attached `docker compose up`, which waits on the worker's\n`depends_on:
        netbox service_healthy`. When netbox's `curl /login`\nhealthcheck flaps to
        `unhealthy` during slow DB migrations (exceeding even\nthe 240s `start_period`
        on the CI tail), compose declares *\"dependency\nnetbox failed to start: container
        is unhealthy\"*, abandons the worker\n(left `Created`) and exits. netbox goes
        healthy moments later, but compose\nhas already exited \u2014 so the worker
        is never started.\n\n## Fix\n\n- `service_started` removes the health gate,
        so compose never waits on (or\n  abandons over) netbox's health.\n- The worker
        overrides the image entrypoint to run `manage.py rqworker`\n  directly, bypassing
        the image's DB-wait \u2014 so with `service_started`\n  alone it would start
        before migrations and log ~80\n  `UndefinedTable: relation \"core_job\" does
        not exist` errors. It now waits\n  until `manage.py migrate --check` succeeds
        (DB reachable and fully\n  migrated), then `exec`s rqworker (so the `pgrep`
        healthcheck still\n  matches the final process).\n\n## Validation\n\nValidated
        on draft #2090 (which carries the container-log + journal\ninstrumentation
        that pinned the root cause): **10/10 node-samples clean** \u2014\nworker `running`,
        zero rqworker DB errors; the worker waits ~65s for\nmigrations then starts
        rqworker cleanly. The abandon is now structurally\nimpossible (the worker
        no longer gates on netbox health).\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)"
      change_url: https://github.com/osism/ansible-collection-services/pull/2091
      child_jobs: []
      commit_id: 3689f221d0cdab29a510121197ed751a5e42fe6e
      event_id: 6e198c40-5e87-11f1-9e95-0f8c310b84d1
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/d08bd71495e44a81a2d447e9e3914a2b/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/d08bd71495e44a81a2d447e9e3914a2b/work/logs
        result_data_file: /var/lib/zuul/builds/d08bd71495e44a81a2d447e9e3914a2b/work/results.json
        src_root: /var/lib/zuul/builds/d08bd71495e44a81a2d447e9e3914a2b/work/src
        work_root: /var/lib/zuul/builds/d08bd71495e44a81a2d447e9e3914a2b/work
      include_vars: []
      items:
      - branch: main
        change: '2091'
        change_message: "netbox: start worker on netbox started\n\n## What\n\nGate
          the rqworker on `netbox` `condition: service_started` instead of\n`service_healthy`,
          and wait for DB migrations before starting rqworker.\n\n## Why \u2014 root
          cause\n\n`ansible-collection-services-molecule-netbox` has been a chronic
          ~70% flake\n(`netbox-netbox-worker-1` never becomes healthy). Confirmed
          via a CI\nsystemd-journal capture of the netbox unit: the unit brings the
          stack up\nwith attached `docker compose up`, which waits on the worker's\n`depends_on:
          netbox service_healthy`. When netbox's `curl /login`\nhealthcheck flaps
          to `unhealthy` during slow DB migrations (exceeding even\nthe 240s `start_period`
          on the CI tail), compose declares *\"dependency\nnetbox failed to start:
          container is unhealthy\"*, abandons the worker\n(left `Created`) and exits.
          netbox goes healthy moments later, but compose\nhas already exited \u2014
          so the worker is never started.\n\n## Fix\n\n- `service_started` removes
          the health gate, so compose never waits on (or\n  abandons over) netbox's
          health.\n- The worker overrides the image entrypoint to run `manage.py rqworker`\n
          \ directly, bypassing the image's DB-wait \u2014 so with `service_started`\n
          \ alone it would start before migrations and log ~80\n  `UndefinedTable:
          relation \"core_job\" does not exist` errors. It now waits\n  until `manage.py
          migrate --check` succeeds (DB reachable and fully\n  migrated), then `exec`s
          rqworker (so the `pgrep` healthcheck still\n  matches the final process).\n\n##
          Validation\n\nValidated on draft #2090 (which carries the container-log
          + journal\ninstrumentation that pinned the root cause): **10/10 node-samples
          clean** \u2014\nworker `running`, zero rqworker DB errors; the worker waits
          ~65s for\nmigrations then starts rqworker cleanly. The abandon is now structurally\nimpossible
          (the worker no longer gates on netbox health).\n\n\U0001F916 Generated with
          [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/ansible-collection-services/pull/2091
        commit_id: 3689f221d0cdab29a510121197ed751a5e42fe6e
        patchset: 3689f221d0cdab29a510121197ed751a5e42fe6e
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          name: osism/ansible-collection-services
          short_name: ansible-collection-services
          src_dir: src/github.com/osism/ansible-collection-services
        topic: null
      job: flake8
      jobtags: []
      max_attempts: 3
      message: bmV0Ym94OiBzdGFydCB3b3JrZXIgb24gbmV0Ym94IHN0YXJ0ZWQKCiMjIFdoYXQKCkdhdGUgdGhlIHJxd29ya2VyIG9uIGBuZXRib3hgIGBjb25kaXRpb246IHNlcnZpY2Vfc3RhcnRlZGAgaW5zdGVhZCBvZgpgc2VydmljZV9oZWFsdGh5YCwgYW5kIHdhaXQgZm9yIERCIG1pZ3JhdGlvbnMgYmVmb3JlIHN0YXJ0aW5nIHJxd29ya2VyLgoKIyMgV2h5IOKAlCByb290IGNhdXNlCgpgYW5zaWJsZS1jb2xsZWN0aW9uLXNlcnZpY2VzLW1vbGVjdWxlLW5ldGJveGAgaGFzIGJlZW4gYSBjaHJvbmljIH43MCUgZmxha2UKKGBuZXRib3gtbmV0Ym94LXdvcmtlci0xYCBuZXZlciBiZWNvbWVzIGhlYWx0aHkpLiBDb25maXJtZWQgdmlhIGEgQ0kKc3lzdGVtZC1qb3VybmFsIGNhcHR1cmUgb2YgdGhlIG5ldGJveCB1bml0OiB0aGUgdW5pdCBicmluZ3MgdGhlIHN0YWNrIHVwCndpdGggYXR0YWNoZWQgYGRvY2tlciBjb21wb3NlIHVwYCwgd2hpY2ggd2FpdHMgb24gdGhlIHdvcmtlcidzCmBkZXBlbmRzX29uOiBuZXRib3ggc2VydmljZV9oZWFsdGh5YC4gV2hlbiBuZXRib3gncyBgY3VybCAvbG9naW5gCmhlYWx0aGNoZWNrIGZsYXBzIHRvIGB1bmhlYWx0aHlgIGR1cmluZyBzbG93IERCIG1pZ3JhdGlvbnMgKGV4Y2VlZGluZyBldmVuCnRoZSAyNDBzIGBzdGFydF9wZXJpb2RgIG9uIHRoZSBDSSB0YWlsKSwgY29tcG9zZSBkZWNsYXJlcyAqImRlcGVuZGVuY3kKbmV0Ym94IGZhaWxlZCB0byBzdGFydDogY29udGFpbmVyIGlzIHVuaGVhbHRoeSIqLCBhYmFuZG9ucyB0aGUgd29ya2VyCihsZWZ0IGBDcmVhdGVkYCkgYW5kIGV4aXRzLiBuZXRib3ggZ29lcyBoZWFsdGh5IG1vbWVudHMgbGF0ZXIsIGJ1dCBjb21wb3NlCmhhcyBhbHJlYWR5IGV4aXRlZCDigJQgc28gdGhlIHdvcmtlciBpcyBuZXZlciBzdGFydGVkLgoKIyMgRml4CgotIGBzZXJ2aWNlX3N0YXJ0ZWRgIHJlbW92ZXMgdGhlIGhlYWx0aCBnYXRlLCBzbyBjb21wb3NlIG5ldmVyIHdhaXRzIG9uIChvcgogIGFiYW5kb25zIG92ZXIpIG5ldGJveCdzIGhlYWx0aC4KLSBUaGUgd29ya2VyIG92ZXJyaWRlcyB0aGUgaW1hZ2UgZW50cnlwb2ludCB0byBydW4gYG1hbmFnZS5weSBycXdvcmtlcmAKICBkaXJlY3RseSwgYnlwYXNzaW5nIHRoZSBpbWFnZSdzIERCLXdhaXQg4oCUIHNvIHdpdGggYHNlcnZpY2Vfc3RhcnRlZGAKICBhbG9uZSBpdCB3b3VsZCBzdGFydCBiZWZvcmUgbWlncmF0aW9ucyBhbmQgbG9nIH44MAogIGBVbmRlZmluZWRUYWJsZTogcmVsYXRpb24gImNvcmVfam9iIiBkb2VzIG5vdCBleGlzdGAgZXJyb3JzLiBJdCBub3cgd2FpdHMKICB1bnRpbCBgbWFuYWdlLnB5IG1pZ3JhdGUgLS1jaGVja2Agc3VjY2VlZHMgKERCIHJlYWNoYWJsZSBhbmQgZnVsbHkKICBtaWdyYXRlZCksIHRoZW4gYGV4ZWNgcyBycXdvcmtlciAoc28gdGhlIGBwZ3JlcGAgaGVhbHRoY2hlY2sgc3RpbGwKICBtYXRjaGVzIHRoZSBmaW5hbCBwcm9jZXNzKS4KCiMjIFZhbGlkYXRpb24KClZhbGlkYXRlZCBvbiBkcmFmdCAjMjA5MCAod2hpY2ggY2FycmllcyB0aGUgY29udGFpbmVyLWxvZyArIGpvdXJuYWwKaW5zdHJ1bWVudGF0aW9uIHRoYXQgcGlubmVkIHRoZSByb290IGNhdXNlKTogKioxMC8xMCBub2RlLXNhbXBsZXMgY2xlYW4qKiDigJQKd29ya2VyIGBydW5uaW5nYCwgemVybyBycXdvcmtlciBEQiBlcnJvcnM7IHRoZSB3b3JrZXIgd2FpdHMgfjY1cyBmb3IKbWlncmF0aW9ucyB0aGVuIHN0YXJ0cyBycXdvcmtlciBjbGVhbmx5LiBUaGUgYWJhbmRvbiBpcyBub3cgc3RydWN0dXJhbGx5CmltcG9zc2libGUgKHRoZSB3b3JrZXIgbm8gbG9uZ2VyIGdhdGVzIG9uIG5ldGJveCBoZWFsdGgpLgoK8J+kliBHZW5lcmF0ZWQgd2l0aCBbQ2xhdWRlIENvZGVdKGh0dHBzOi8vY2xhdWRlLmNvbS9jbGF1ZGUtY29kZSk=
      patchset: 3689f221d0cdab29a510121197ed751a5e42fe6e
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 019f0261a526db7d8989ff1abefc2299a8c0ffbc
          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/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 019f0261a526db7d8989ff1abefc2299a8c0ffbc
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
        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: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/ansible-collection-services
        name: osism/ansible-collection-services
        short_name: ansible-collection-services
        src_dir: src/github.com/osism/ansible-collection-services
      projects:
        github.com/osism/ansible-collection-services:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          checkout: main
          checkout_description: zuul branch
          commit: 6ee225fd564b7a546547c115756223ddf30ce901
          name: osism/ansible-collection-services
          required: false
          short_name: ansible-collection-services
          src_dir: src/github.com/osism/ansible-collection-services
      ref: refs/pull/2091/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
