all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe18:4e49
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 956f770e-6139-4bf7-b187-d14425f22bbf
        host_id: 82101243836454d7401d5893feae9e2c5df7cc291646d8a99b33b53b
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe18:4e49
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.224
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.127
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe18:4e49
        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 ansible-lint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#7>'
      - '<Job ansible-lint explicit: None implied: None source: osism/container-image-inventory-reconciler/.zuul.yaml@main#108>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 834b35ba1b4e44929040f036e80bea8a
      build_refs:
      - branch: main
        change: '536'
        change_message: 'Close cycle=0 ansible.cfg startup window


          ## Summary


          PR #521 closed the recurring cycle>=1 `ansible.cfg` absent-window by staging

          that file before the final rsync and carrying it with `--delay-updates`.


          The initial reconciliation cycle still has a separate startup gap, though:

          `/inventory` starts empty and `ansible.cfg` is only published after the
          slow

          `ansible-inventory --list` render completes. On slower CI workers, consumers
          can

          resolve `ANSIBLE_CONFIG` during that gap, fall through to the image-default

          `/etc/ansible/ansible.cfg`, pick up the stale `private_key_file`, and reproduce

          the silent gather-facts cache-miss fingerprint.


          ## Change


          Publish the merged `ansible.cfg` immediately after the input inventory has
          been

          prepared, before the expensive inventory render begins. The final staged
          rsync

          still re-carries the same file with `--delay-updates`, so the cycle>=1 atomic

          update behavior from #521 remains unchanged.


          ## Why this shape


          This closes the remaining cycle=0 path at the writer side without relying
          on

          consumer timing or orchestration waits. It deliberately publishes only the

          config file early; the full inventory tree is still built and committed
          by the

          existing final rsync.


          ## Validation notes


          The prior TRACE validation for #521 measured cycle=0 with `ansible.cfg`
          absent

          from reconciler start until the first final rsync. This change moves the
          publish

          point ahead of the measured slow step in that path.'
        change_url: https://github.com/osism/container-image-inventory-reconciler/pull/536
        commit_id: 2fff9d4a293258d15de96023fd9ac68010b5ef37
        patchset: 2fff9d4a293258d15de96023fd9ac68010b5ef37
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-inventory-reconciler
          name: osism/container-image-inventory-reconciler
          short_name: container-image-inventory-reconciler
        src_dir: src/github.com/osism/container-image-inventory-reconciler
        topic: null
      buildset: 9ada9b5825264e469de7b557db173214
      buildset_refs:
      - branch: main
        change: '536'
        change_message: 'Close cycle=0 ansible.cfg startup window


          ## Summary


          PR #521 closed the recurring cycle>=1 `ansible.cfg` absent-window by staging

          that file before the final rsync and carrying it with `--delay-updates`.


          The initial reconciliation cycle still has a separate startup gap, though:

          `/inventory` starts empty and `ansible.cfg` is only published after the
          slow

          `ansible-inventory --list` render completes. On slower CI workers, consumers
          can

          resolve `ANSIBLE_CONFIG` during that gap, fall through to the image-default

          `/etc/ansible/ansible.cfg`, pick up the stale `private_key_file`, and reproduce

          the silent gather-facts cache-miss fingerprint.


          ## Change


          Publish the merged `ansible.cfg` immediately after the input inventory has
          been

          prepared, before the expensive inventory render begins. The final staged
          rsync

          still re-carries the same file with `--delay-updates`, so the cycle>=1 atomic

          update behavior from #521 remains unchanged.


          ## Why this shape


          This closes the remaining cycle=0 path at the writer side without relying
          on

          consumer timing or orchestration waits. It deliberately publishes only the

          config file early; the full inventory tree is still built and committed
          by the

          existing final rsync.


          ## Validation notes


          The prior TRACE validation for #521 measured cycle=0 with `ansible.cfg`
          absent

          from reconciler start until the first final rsync. This change moves the
          publish

          point ahead of the measured slow step in that path.'
        change_url: https://github.com/osism/container-image-inventory-reconciler/pull/536
        commit_id: 2fff9d4a293258d15de96023fd9ac68010b5ef37
        patchset: 2fff9d4a293258d15de96023fd9ac68010b5ef37
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-inventory-reconciler
          name: osism/container-image-inventory-reconciler
          short_name: container-image-inventory-reconciler
        src_dir: src/github.com/osism/container-image-inventory-reconciler
        topic: null
      change: '536'
      change_message: 'Close cycle=0 ansible.cfg startup window


        ## Summary


        PR #521 closed the recurring cycle>=1 `ansible.cfg` absent-window by staging

        that file before the final rsync and carrying it with `--delay-updates`.


        The initial reconciliation cycle still has a separate startup gap, though:

        `/inventory` starts empty and `ansible.cfg` is only published after the slow

        `ansible-inventory --list` render completes. On slower CI workers, consumers
        can

        resolve `ANSIBLE_CONFIG` during that gap, fall through to the image-default

        `/etc/ansible/ansible.cfg`, pick up the stale `private_key_file`, and reproduce

        the silent gather-facts cache-miss fingerprint.


        ## Change


        Publish the merged `ansible.cfg` immediately after the input inventory has
        been

        prepared, before the expensive inventory render begins. The final staged rsync

        still re-carries the same file with `--delay-updates`, so the cycle>=1 atomic

        update behavior from #521 remains unchanged.


        ## Why this shape


        This closes the remaining cycle=0 path at the writer side without relying
        on

        consumer timing or orchestration waits. It deliberately publishes only the

        config file early; the full inventory tree is still built and committed by
        the

        existing final rsync.


        ## Validation notes


        The prior TRACE validation for #521 measured cycle=0 with `ansible.cfg` absent

        from reconciler start until the first final rsync. This change moves the publish

        point ahead of the measured slow step in that path.'
      change_url: https://github.com/osism/container-image-inventory-reconciler/pull/536
      child_jobs: []
      commit_id: 2fff9d4a293258d15de96023fd9ac68010b5ef37
      event_id: ed803580-5034-11f1-8a5b-380f218179d7
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/834b35ba1b4e44929040f036e80bea8a/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/834b35ba1b4e44929040f036e80bea8a/work/logs
        result_data_file: /var/lib/zuul/builds/834b35ba1b4e44929040f036e80bea8a/work/results.json
        src_root: /var/lib/zuul/builds/834b35ba1b4e44929040f036e80bea8a/work/src
        work_root: /var/lib/zuul/builds/834b35ba1b4e44929040f036e80bea8a/work
      include_vars: []
      items:
      - branch: main
        change: '536'
        change_message: 'Close cycle=0 ansible.cfg startup window


          ## Summary


          PR #521 closed the recurring cycle>=1 `ansible.cfg` absent-window by staging

          that file before the final rsync and carrying it with `--delay-updates`.


          The initial reconciliation cycle still has a separate startup gap, though:

          `/inventory` starts empty and `ansible.cfg` is only published after the
          slow

          `ansible-inventory --list` render completes. On slower CI workers, consumers
          can

          resolve `ANSIBLE_CONFIG` during that gap, fall through to the image-default

          `/etc/ansible/ansible.cfg`, pick up the stale `private_key_file`, and reproduce

          the silent gather-facts cache-miss fingerprint.


          ## Change


          Publish the merged `ansible.cfg` immediately after the input inventory has
          been

          prepared, before the expensive inventory render begins. The final staged
          rsync

          still re-carries the same file with `--delay-updates`, so the cycle>=1 atomic

          update behavior from #521 remains unchanged.


          ## Why this shape


          This closes the remaining cycle=0 path at the writer side without relying
          on

          consumer timing or orchestration waits. It deliberately publishes only the

          config file early; the full inventory tree is still built and committed
          by the

          existing final rsync.


          ## Validation notes


          The prior TRACE validation for #521 measured cycle=0 with `ansible.cfg`
          absent

          from reconciler start until the first final rsync. This change moves the
          publish

          point ahead of the measured slow step in that path.'
        change_url: https://github.com/osism/container-image-inventory-reconciler/pull/536
        commit_id: 2fff9d4a293258d15de96023fd9ac68010b5ef37
        patchset: 2fff9d4a293258d15de96023fd9ac68010b5ef37
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-inventory-reconciler
          name: osism/container-image-inventory-reconciler
          short_name: container-image-inventory-reconciler
          src_dir: src/github.com/osism/container-image-inventory-reconciler
        topic: null
      job: ansible-lint
      jobtags: []
      max_attempts: 3
      message: Q2xvc2UgY3ljbGU9MCBhbnNpYmxlLmNmZyBzdGFydHVwIHdpbmRvdwoKIyMgU3VtbWFyeQoKUFIgIzUyMSBjbG9zZWQgdGhlIHJlY3VycmluZyBjeWNsZT49MSBgYW5zaWJsZS5jZmdgIGFic2VudC13aW5kb3cgYnkgc3RhZ2luZwp0aGF0IGZpbGUgYmVmb3JlIHRoZSBmaW5hbCByc3luYyBhbmQgY2FycnlpbmcgaXQgd2l0aCBgLS1kZWxheS11cGRhdGVzYC4KClRoZSBpbml0aWFsIHJlY29uY2lsaWF0aW9uIGN5Y2xlIHN0aWxsIGhhcyBhIHNlcGFyYXRlIHN0YXJ0dXAgZ2FwLCB0aG91Z2g6CmAvaW52ZW50b3J5YCBzdGFydHMgZW1wdHkgYW5kIGBhbnNpYmxlLmNmZ2AgaXMgb25seSBwdWJsaXNoZWQgYWZ0ZXIgdGhlIHNsb3cKYGFuc2libGUtaW52ZW50b3J5IC0tbGlzdGAgcmVuZGVyIGNvbXBsZXRlcy4gT24gc2xvd2VyIENJIHdvcmtlcnMsIGNvbnN1bWVycyBjYW4KcmVzb2x2ZSBgQU5TSUJMRV9DT05GSUdgIGR1cmluZyB0aGF0IGdhcCwgZmFsbCB0aHJvdWdoIHRvIHRoZSBpbWFnZS1kZWZhdWx0CmAvZXRjL2Fuc2libGUvYW5zaWJsZS5jZmdgLCBwaWNrIHVwIHRoZSBzdGFsZSBgcHJpdmF0ZV9rZXlfZmlsZWAsIGFuZCByZXByb2R1Y2UKdGhlIHNpbGVudCBnYXRoZXItZmFjdHMgY2FjaGUtbWlzcyBmaW5nZXJwcmludC4KCiMjIENoYW5nZQoKUHVibGlzaCB0aGUgbWVyZ2VkIGBhbnNpYmxlLmNmZ2AgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGlucHV0IGludmVudG9yeSBoYXMgYmVlbgpwcmVwYXJlZCwgYmVmb3JlIHRoZSBleHBlbnNpdmUgaW52ZW50b3J5IHJlbmRlciBiZWdpbnMuIFRoZSBmaW5hbCBzdGFnZWQgcnN5bmMKc3RpbGwgcmUtY2FycmllcyB0aGUgc2FtZSBmaWxlIHdpdGggYC0tZGVsYXktdXBkYXRlc2AsIHNvIHRoZSBjeWNsZT49MSBhdG9taWMKdXBkYXRlIGJlaGF2aW9yIGZyb20gIzUyMSByZW1haW5zIHVuY2hhbmdlZC4KCiMjIFdoeSB0aGlzIHNoYXBlCgpUaGlzIGNsb3NlcyB0aGUgcmVtYWluaW5nIGN5Y2xlPTAgcGF0aCBhdCB0aGUgd3JpdGVyIHNpZGUgd2l0aG91dCByZWx5aW5nIG9uCmNvbnN1bWVyIHRpbWluZyBvciBvcmNoZXN0cmF0aW9uIHdhaXRzLiBJdCBkZWxpYmVyYXRlbHkgcHVibGlzaGVzIG9ubHkgdGhlCmNvbmZpZyBmaWxlIGVhcmx5OyB0aGUgZnVsbCBpbnZlbnRvcnkgdHJlZSBpcyBzdGlsbCBidWlsdCBhbmQgY29tbWl0dGVkIGJ5IHRoZQpleGlzdGluZyBmaW5hbCByc3luYy4KCiMjIFZhbGlkYXRpb24gbm90ZXMKClRoZSBwcmlvciBUUkFDRSB2YWxpZGF0aW9uIGZvciAjNTIxIG1lYXN1cmVkIGN5Y2xlPTAgd2l0aCBgYW5zaWJsZS5jZmdgIGFic2VudApmcm9tIHJlY29uY2lsZXIgc3RhcnQgdW50aWwgdGhlIGZpcnN0IGZpbmFsIHJzeW5jLiBUaGlzIGNoYW5nZSBtb3ZlcyB0aGUgcHVibGlzaApwb2ludCBhaGVhZCBvZiB0aGUgbWVhc3VyZWQgc2xvdyBzdGVwIGluIHRoYXQgcGF0aC4=
      patchset: 2fff9d4a293258d15de96023fd9ac68010b5ef37
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 58f24f5b479e15eb2d520850d27e3b1b6fc66aa6
          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: 58f24f5b479e15eb2d520850d27e3b1b6fc66aa6
          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/ansible-lint/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/container-image-inventory-reconciler
        name: osism/container-image-inventory-reconciler
        short_name: container-image-inventory-reconciler
        src_dir: src/github.com/osism/container-image-inventory-reconciler
      projects:
        github.com/osism/container-image-inventory-reconciler:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-inventory-reconciler
          checkout: main
          checkout_description: zuul branch
          commit: 749f1bdf666215bc5a1862b2517c7dcaac60472f
          name: osism/container-image-inventory-reconciler
          required: false
          short_name: container-image-inventory-reconciler
          src_dir: src/github.com/osism/container-image-inventory-reconciler
      ref: refs/pull/536/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
