all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    ubuntu-focal:
      ansible_connection: ssh
      ansible_host: 199.204.45.157
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      molecule_scenario: forget-package
      nodepool:
        az: nova
        cloud: public
        external_id: 3c96fae5-4754-47e3-81a9-1d02f128ad47
        host_id: 571d5e5ab8f99eb6066d22838dc03059a55de74ec327a875b342f73d
        interface_ip: 199.204.45.157
        label: ubuntu-focal
        node_properties: {}
        private_ipv4: 199.204.45.157
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.204.45.157
        public_ipv6: 2604:e100:1:0:f816:3eff:feb0:e0cc
        region: ca-ymq-1
        slot: null
      zuul_node:
        az: nova
        cloud: public
        external_id: 3c96fae5-4754-47e3-81a9-1d02f128ad47
        host_id: 571d5e5ab8f99eb6066d22838dc03059a55de74ec327a875b342f73d
        interface_ip: 199.204.45.157
        label: ubuntu-focal
        node_properties: {}
        private_ipv4: 199.204.45.157
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.204.45.157
        public_ipv6: 2604:e100:1:0:f816:3eff:feb0:e0cc
        region: ca-ymq-1
        slot: null
        uuid: null
  vars:
    molecule_scenario: forget-package
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/zuul-config/zuul.d/jobs.yaml@main#1>'
      - '<Job molecule explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/zuul-jobs/zuul.d/ansible-jobs.yaml@main#1>'
      - '<Job ansible-collection-containers-molecule explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/ansible-collection-containers/.zuul.yaml@main#1>'
      - '<Job ansible-collection-containers-molecule-forget-package explicit: None
        implied: {MatchAny:{ImpliedBranchMatcher:main}} source: vexxhost/ansible-collection-containers/.zuul.yaml@main#77>'
      - '<Job ansible-collection-containers-molecule-forget-package-ubuntu-focal explicit:
        None implied: {MatchAny:{ImpliedBranchMatcher:main}} source: vexxhost/ansible-collection-containers/.zuul.yaml@main#89>'
      - '<Job ansible-collection-containers-molecule-forget-package-ubuntu-focal explicit:
        None implied: None source: vexxhost/ansible-collection-containers/.zuul.yaml@main#136>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: ed9a7f0118ba44d2bacc9189e3ea567a
      build_refs:
      - branch: main
        change: '122'
        change_message: "containerd: fix systemd race in concurrent role invocations\n\n##
          Problem\n\nWhen two `ansible-playbook` processes invoke this role on the
          same host concurrently \u2014 e.g. [atmosphere](https://github.com/vexxhost/atmosphere)'s
          parallel deploy orchestrator running the `ceph` and `kubernetes` playbooks
          in parallel, both of which depend on this role \u2014 the `Reload systemd`
          handler's `daemon_reexec: true` causes systemd to re-execute itself, briefly
          putting all managed units into a transient/unknown state.\n\nIf a sibling
          `ansible-playbook` is mid-flight on `service: state=started` at that moment,
          it fails with:\n\n```\nfatal: [instance]: FAILED! => {\n  \"changed\": false,\n
          \ \"msg\": \"Service is in unknown state\",\n  \"status\": {}\n}\n```\n\nObserved
          in vexxhost/atmosphere CI: https://github.com/vexxhost/atmosphere/pull/3818
          (aio-ovn build `638df89892284`).\n\n## Fix\n\n1. **Drop `daemon_reexec:
          true` from the `Reload systemd` handler.** `daemon_reexec` is only required
          when the systemd binary itself is upgraded; templating a unit file only
          needs `daemon_reload`. Removing reexec eliminates the unknown-state window
          without changing behaviour for the supported use case.\n2. **Add a small
          retry loop on `Enable and start service`** as defence-in-depth against any
          other transient systemd states (e.g. coincident operations from sibling
          roles such as `docker`).\n\n## Diff\n\n```diff\n- name: Reload systemd\n
          \ ansible.builtin.systemd:\n    daemon_reload: true\n-    daemon_reexec:
          true\n```\n\n```diff\n- name: Enable and start service\n  ansible.builtin.service:\n
          \   name: containerd\n    enabled: true\n    state: started\n+  register:
          _containerd_start\n+  retries: 5\n+  delay: 3\n+  until: _containerd_start
          is succeeded\n```"
        change_url: https://github.com/vexxhost/ansible-collection-containers/pull/122
        commit_id: 9304e35ac82193d535c38257c7e74c62489376d7
        patchset: 9304e35ac82193d535c38257c7e74c62489376d7
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-containers
          name: vexxhost/ansible-collection-containers
          short_name: ansible-collection-containers
          src_dir: src/github.com/vexxhost/ansible-collection-containers
        src_dir: src/github.com/vexxhost/ansible-collection-containers
        topic: null
      buildset: 67a8ac3f62bd4d3fae81b28ceda180f9
      buildset_refs:
      - branch: main
        change: '122'
        change_message: "containerd: fix systemd race in concurrent role invocations\n\n##
          Problem\n\nWhen two `ansible-playbook` processes invoke this role on the
          same host concurrently \u2014 e.g. [atmosphere](https://github.com/vexxhost/atmosphere)'s
          parallel deploy orchestrator running the `ceph` and `kubernetes` playbooks
          in parallel, both of which depend on this role \u2014 the `Reload systemd`
          handler's `daemon_reexec: true` causes systemd to re-execute itself, briefly
          putting all managed units into a transient/unknown state.\n\nIf a sibling
          `ansible-playbook` is mid-flight on `service: state=started` at that moment,
          it fails with:\n\n```\nfatal: [instance]: FAILED! => {\n  \"changed\": false,\n
          \ \"msg\": \"Service is in unknown state\",\n  \"status\": {}\n}\n```\n\nObserved
          in vexxhost/atmosphere CI: https://github.com/vexxhost/atmosphere/pull/3818
          (aio-ovn build `638df89892284`).\n\n## Fix\n\n1. **Drop `daemon_reexec:
          true` from the `Reload systemd` handler.** `daemon_reexec` is only required
          when the systemd binary itself is upgraded; templating a unit file only
          needs `daemon_reload`. Removing reexec eliminates the unknown-state window
          without changing behaviour for the supported use case.\n2. **Add a small
          retry loop on `Enable and start service`** as defence-in-depth against any
          other transient systemd states (e.g. coincident operations from sibling
          roles such as `docker`).\n\n## Diff\n\n```diff\n- name: Reload systemd\n
          \ ansible.builtin.systemd:\n    daemon_reload: true\n-    daemon_reexec:
          true\n```\n\n```diff\n- name: Enable and start service\n  ansible.builtin.service:\n
          \   name: containerd\n    enabled: true\n    state: started\n+  register:
          _containerd_start\n+  retries: 5\n+  delay: 3\n+  until: _containerd_start
          is succeeded\n```"
        change_url: https://github.com/vexxhost/ansible-collection-containers/pull/122
        commit_id: 9304e35ac82193d535c38257c7e74c62489376d7
        patchset: 9304e35ac82193d535c38257c7e74c62489376d7
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-containers
          name: vexxhost/ansible-collection-containers
          short_name: ansible-collection-containers
          src_dir: src/github.com/vexxhost/ansible-collection-containers
        src_dir: src/github.com/vexxhost/ansible-collection-containers
        topic: null
      change: '122'
      change_message: "containerd: fix systemd race in concurrent role invocations\n\n##
        Problem\n\nWhen two `ansible-playbook` processes invoke this role on the same
        host concurrently \u2014 e.g. [atmosphere](https://github.com/vexxhost/atmosphere)'s
        parallel deploy orchestrator running the `ceph` and `kubernetes` playbooks
        in parallel, both of which depend on this role \u2014 the `Reload systemd`
        handler's `daemon_reexec: true` causes systemd to re-execute itself, briefly
        putting all managed units into a transient/unknown state.\n\nIf a sibling
        `ansible-playbook` is mid-flight on `service: state=started` at that moment,
        it fails with:\n\n```\nfatal: [instance]: FAILED! => {\n  \"changed\": false,\n
        \ \"msg\": \"Service is in unknown state\",\n  \"status\": {}\n}\n```\n\nObserved
        in vexxhost/atmosphere CI: https://github.com/vexxhost/atmosphere/pull/3818
        (aio-ovn build `638df89892284`).\n\n## Fix\n\n1. **Drop `daemon_reexec: true`
        from the `Reload systemd` handler.** `daemon_reexec` is only required when
        the systemd binary itself is upgraded; templating a unit file only needs `daemon_reload`.
        Removing reexec eliminates the unknown-state window without changing behaviour
        for the supported use case.\n2. **Add a small retry loop on `Enable and start
        service`** as defence-in-depth against any other transient systemd states
        (e.g. coincident operations from sibling roles such as `docker`).\n\n## Diff\n\n```diff\n-
        name: Reload systemd\n  ansible.builtin.systemd:\n    daemon_reload: true\n-
        \   daemon_reexec: true\n```\n\n```diff\n- name: Enable and start service\n
        \ ansible.builtin.service:\n    name: containerd\n    enabled: true\n    state:
        started\n+  register: _containerd_start\n+  retries: 5\n+  delay: 3\n+  until:
        _containerd_start is succeeded\n```"
      change_url: https://github.com/vexxhost/ansible-collection-containers/pull/122
      child_jobs: []
      commit_id: 9304e35ac82193d535c38257c7e74c62489376d7
      event_id: 1b10a210-4175-11f1-9d04-fb4ed4f3c7b1
      executor:
        hostname: 0a8996d2b663
        inventory_file: /var/lib/zuul/builds/ed9a7f0118ba44d2bacc9189e3ea567a/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/ed9a7f0118ba44d2bacc9189e3ea567a/work/logs
        result_data_file: /var/lib/zuul/builds/ed9a7f0118ba44d2bacc9189e3ea567a/work/results.json
        src_root: /var/lib/zuul/builds/ed9a7f0118ba44d2bacc9189e3ea567a/work/src
        work_root: /var/lib/zuul/builds/ed9a7f0118ba44d2bacc9189e3ea567a/work
      include_vars: []
      items:
      - branch: main
        change: '122'
        change_message: "containerd: fix systemd race in concurrent role invocations\n\n##
          Problem\n\nWhen two `ansible-playbook` processes invoke this role on the
          same host concurrently \u2014 e.g. [atmosphere](https://github.com/vexxhost/atmosphere)'s
          parallel deploy orchestrator running the `ceph` and `kubernetes` playbooks
          in parallel, both of which depend on this role \u2014 the `Reload systemd`
          handler's `daemon_reexec: true` causes systemd to re-execute itself, briefly
          putting all managed units into a transient/unknown state.\n\nIf a sibling
          `ansible-playbook` is mid-flight on `service: state=started` at that moment,
          it fails with:\n\n```\nfatal: [instance]: FAILED! => {\n  \"changed\": false,\n
          \ \"msg\": \"Service is in unknown state\",\n  \"status\": {}\n}\n```\n\nObserved
          in vexxhost/atmosphere CI: https://github.com/vexxhost/atmosphere/pull/3818
          (aio-ovn build `638df89892284`).\n\n## Fix\n\n1. **Drop `daemon_reexec:
          true` from the `Reload systemd` handler.** `daemon_reexec` is only required
          when the systemd binary itself is upgraded; templating a unit file only
          needs `daemon_reload`. Removing reexec eliminates the unknown-state window
          without changing behaviour for the supported use case.\n2. **Add a small
          retry loop on `Enable and start service`** as defence-in-depth against any
          other transient systemd states (e.g. coincident operations from sibling
          roles such as `docker`).\n\n## Diff\n\n```diff\n- name: Reload systemd\n
          \ ansible.builtin.systemd:\n    daemon_reload: true\n-    daemon_reexec:
          true\n```\n\n```diff\n- name: Enable and start service\n  ansible.builtin.service:\n
          \   name: containerd\n    enabled: true\n    state: started\n+  register:
          _containerd_start\n+  retries: 5\n+  delay: 3\n+  until: _containerd_start
          is succeeded\n```"
        change_url: https://github.com/vexxhost/ansible-collection-containers/pull/122
        commit_id: 9304e35ac82193d535c38257c7e74c62489376d7
        patchset: 9304e35ac82193d535c38257c7e74c62489376d7
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-containers
          name: vexxhost/ansible-collection-containers
          short_name: ansible-collection-containers
          src_dir: src/github.com/vexxhost/ansible-collection-containers
        topic: null
      job: ansible-collection-containers-molecule-forget-package-ubuntu-focal
      jobtags: []
      max_attempts: 3
      message: Y29udGFpbmVyZDogZml4IHN5c3RlbWQgcmFjZSBpbiBjb25jdXJyZW50IHJvbGUgaW52b2NhdGlvbnMKCiMjIFByb2JsZW0KCldoZW4gdHdvIGBhbnNpYmxlLXBsYXlib29rYCBwcm9jZXNzZXMgaW52b2tlIHRoaXMgcm9sZSBvbiB0aGUgc2FtZSBob3N0IGNvbmN1cnJlbnRseSDigJQgZS5nLiBbYXRtb3NwaGVyZV0oaHR0cHM6Ly9naXRodWIuY29tL3ZleHhob3N0L2F0bW9zcGhlcmUpJ3MgcGFyYWxsZWwgZGVwbG95IG9yY2hlc3RyYXRvciBydW5uaW5nIHRoZSBgY2VwaGAgYW5kIGBrdWJlcm5ldGVzYCBwbGF5Ym9va3MgaW4gcGFyYWxsZWwsIGJvdGggb2Ygd2hpY2ggZGVwZW5kIG9uIHRoaXMgcm9sZSDigJQgdGhlIGBSZWxvYWQgc3lzdGVtZGAgaGFuZGxlcidzIGBkYWVtb25fcmVleGVjOiB0cnVlYCBjYXVzZXMgc3lzdGVtZCB0byByZS1leGVjdXRlIGl0c2VsZiwgYnJpZWZseSBwdXR0aW5nIGFsbCBtYW5hZ2VkIHVuaXRzIGludG8gYSB0cmFuc2llbnQvdW5rbm93biBzdGF0ZS4KCklmIGEgc2libGluZyBgYW5zaWJsZS1wbGF5Ym9va2AgaXMgbWlkLWZsaWdodCBvbiBgc2VydmljZTogc3RhdGU9c3RhcnRlZGAgYXQgdGhhdCBtb21lbnQsIGl0IGZhaWxzIHdpdGg6CgpgYGAKZmF0YWw6IFtpbnN0YW5jZV06IEZBSUxFRCEgPT4gewogICJjaGFuZ2VkIjogZmFsc2UsCiAgIm1zZyI6ICJTZXJ2aWNlIGlzIGluIHVua25vd24gc3RhdGUiLAogICJzdGF0dXMiOiB7fQp9CmBgYAoKT2JzZXJ2ZWQgaW4gdmV4eGhvc3QvYXRtb3NwaGVyZSBDSTogaHR0cHM6Ly9naXRodWIuY29tL3ZleHhob3N0L2F0bW9zcGhlcmUvcHVsbC8zODE4IChhaW8tb3ZuIGJ1aWxkIGA2MzhkZjg5ODkyMjg0YCkuCgojIyBGaXgKCjEuICoqRHJvcCBgZGFlbW9uX3JlZXhlYzogdHJ1ZWAgZnJvbSB0aGUgYFJlbG9hZCBzeXN0ZW1kYCBoYW5kbGVyLioqIGBkYWVtb25fcmVleGVjYCBpcyBvbmx5IHJlcXVpcmVkIHdoZW4gdGhlIHN5c3RlbWQgYmluYXJ5IGl0c2VsZiBpcyB1cGdyYWRlZDsgdGVtcGxhdGluZyBhIHVuaXQgZmlsZSBvbmx5IG5lZWRzIGBkYWVtb25fcmVsb2FkYC4gUmVtb3ZpbmcgcmVleGVjIGVsaW1pbmF0ZXMgdGhlIHVua25vd24tc3RhdGUgd2luZG93IHdpdGhvdXQgY2hhbmdpbmcgYmVoYXZpb3VyIGZvciB0aGUgc3VwcG9ydGVkIHVzZSBjYXNlLgoyLiAqKkFkZCBhIHNtYWxsIHJldHJ5IGxvb3Agb24gYEVuYWJsZSBhbmQgc3RhcnQgc2VydmljZWAqKiBhcyBkZWZlbmNlLWluLWRlcHRoIGFnYWluc3QgYW55IG90aGVyIHRyYW5zaWVudCBzeXN0ZW1kIHN0YXRlcyAoZS5nLiBjb2luY2lkZW50IG9wZXJhdGlvbnMgZnJvbSBzaWJsaW5nIHJvbGVzIHN1Y2ggYXMgYGRvY2tlcmApLgoKIyMgRGlmZgoKYGBgZGlmZgotIG5hbWU6IFJlbG9hZCBzeXN0ZW1kCiAgYW5zaWJsZS5idWlsdGluLnN5c3RlbWQ6CiAgICBkYWVtb25fcmVsb2FkOiB0cnVlCi0gICAgZGFlbW9uX3JlZXhlYzogdHJ1ZQpgYGAKCmBgYGRpZmYKLSBuYW1lOiBFbmFibGUgYW5kIHN0YXJ0IHNlcnZpY2UKICBhbnNpYmxlLmJ1aWx0aW4uc2VydmljZToKICAgIG5hbWU6IGNvbnRhaW5lcmQKICAgIGVuYWJsZWQ6IHRydWUKICAgIHN0YXRlOiBzdGFydGVkCisgIHJlZ2lzdGVyOiBfY29udGFpbmVyZF9zdGFydAorICByZXRyaWVzOiA1CisgIGRlbGF5OiAzCisgIHVudGlsOiBfY29udGFpbmVyZF9zdGFydCBpcyBzdWNjZWVkZWQKYGBg
      patchset: 9304e35ac82193d535c38257c7e74c62489376d7
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 298983cd1253e6833abdb49d87d912527e0e6597
          trusted/project_1/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: 9f5c1d680d573485f0ccdb18d2184d4f1d446419
          trusted/project_2/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: a6e68243e02ef030ce5e75f8b67630880c475f33
          untrusted/project_0/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: a6e68243e02ef030ce5e75f8b67630880c475f33
          untrusted/project_1/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 298983cd1253e6833abdb49d87d912527e0e6597
          untrusted/project_2/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: 9f5c1d680d573485f0ccdb18d2184d4f1d446419
        playbooks:
        - path: untrusted/project_0/github.com/vexxhost/zuul-jobs/playbooks/molecule/run.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_1/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/playbook_0/role_1/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/vexxhost/zuul-jobs
            role_path: ansible/playbook_0/role_2/zuul-jobs/roles
        post_playbooks:
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/post.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_0/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_0/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_0/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_0/role_2/zuul-jobs/roles
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/post-logs.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_1/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_1/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_1/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_1/role_2/zuul-jobs/roles
        pre_playbooks:
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/pre.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_0/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_0/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_0/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_0/role_2/zuul-jobs/roles
        - path: untrusted/project_0/github.com/vexxhost/zuul-jobs/playbooks/molecule/pre.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_1/role_1/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_1/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_1/role_2/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_1/role_2/zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/vexxhost/ansible-collection-containers
        name: vexxhost/ansible-collection-containers
        short_name: ansible-collection-containers
        src_dir: src/github.com/vexxhost/ansible-collection-containers
      projects:
        github.com/vexxhost/ansible-collection-containers:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-containers
          checkout: main
          checkout_description: zuul branch
          commit: 222933475fc061992bd1d1781fd5b03334194217
          name: vexxhost/ansible-collection-containers
          required: false
          short_name: ansible-collection-containers
          src_dir: src/github.com/vexxhost/ansible-collection-containers
      ref: refs/pull/122/head
      resources: {}
      tenant: oss
      timeout: 1800
      topic: null
      voting: true
