all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe9f:9540
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 50d7f853-3c71-4074-8892-e7b98d5cfdbd
        host_id: d2c528664e1bd332192bb574345deb0c6c7158061222e4a6c036b5ef
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe9f:9540
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.102
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.197
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe9f:9540
        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 python-osism-test-setup explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/python-osism/.zuul.yaml@main#128>'
      - '<Job python-osism-test-setup explicit: None implied: None source: osism/python-osism/.zuul.yaml@main#143>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: dc8659cb4d3a4b5aa676407fdb896623
      build_refs:
      - branch: main
        change: '2409'
        change_message: "Exclude localhost from Ansible facts freshness check\n\n##
          Problem\n\n`osism apply <role>` warns about stale Ansible facts for `localhost`:\n\n```\nWARNING
          \ | Ansible facts in Redis are stale for 1 host(s) (older than 43200 seconds).
          Run 'osism sync facts' to update facts.\nWARNING  |   Host 'localhost':
          facts are 82075 seconds old\n```\n\nThe suggested remedy `osism sync facts`
          never clears it.\n\n## Root cause\n\n`check_ansible_facts()` scans **all**
          `ansible_facts*` keys in Redis, including `ansible_factslocalhost`. That
          cache entry is a byproduct of locally executed or delegated plays \u2014
          `localhost` is not a regular inventory host. The refresh path (`osism sync
          facts` and the periodic `gather_facts` task) only targets inventory hosts,
          so the `localhost` entry is never refreshed, ages past `FACTS_MAX_AGE` (12h
          default), and produces a permanent, unactionable warning.\n\n## Fix\n\nSkip
          `localhost`, `127.0.0.1`, and `::1` in `check_ansible_facts()`. The freshness
          check for real inventory hosts is unchanged.\n\n## Tests\n\n- `test_check_ansible_facts_local_hosts_never_stale`
          (parametrized over `localhost`/`127.0.0.1`/`::1`): far-overaged local facts
          produce no warning.\n- `test_check_ansible_facts_local_host_skipped_real_host_still_stale`:
          a real inventory host is still reported; `localhost` is excluded.\n\nCloses
          #2267"
        change_url: https://github.com/osism/python-osism/pull/2409
        commit_id: e2b51cf1ee3f3c12cac7ff648fc3469799b78710
        patchset: e2b51cf1ee3f3c12cac7ff648fc3469799b78710
        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: 4c3764a565a54e8b87f118edfee50c48
      buildset_refs:
      - branch: main
        change: '2409'
        change_message: "Exclude localhost from Ansible facts freshness check\n\n##
          Problem\n\n`osism apply <role>` warns about stale Ansible facts for `localhost`:\n\n```\nWARNING
          \ | Ansible facts in Redis are stale for 1 host(s) (older than 43200 seconds).
          Run 'osism sync facts' to update facts.\nWARNING  |   Host 'localhost':
          facts are 82075 seconds old\n```\n\nThe suggested remedy `osism sync facts`
          never clears it.\n\n## Root cause\n\n`check_ansible_facts()` scans **all**
          `ansible_facts*` keys in Redis, including `ansible_factslocalhost`. That
          cache entry is a byproduct of locally executed or delegated plays \u2014
          `localhost` is not a regular inventory host. The refresh path (`osism sync
          facts` and the periodic `gather_facts` task) only targets inventory hosts,
          so the `localhost` entry is never refreshed, ages past `FACTS_MAX_AGE` (12h
          default), and produces a permanent, unactionable warning.\n\n## Fix\n\nSkip
          `localhost`, `127.0.0.1`, and `::1` in `check_ansible_facts()`. The freshness
          check for real inventory hosts is unchanged.\n\n## Tests\n\n- `test_check_ansible_facts_local_hosts_never_stale`
          (parametrized over `localhost`/`127.0.0.1`/`::1`): far-overaged local facts
          produce no warning.\n- `test_check_ansible_facts_local_host_skipped_real_host_still_stale`:
          a real inventory host is still reported; `localhost` is excluded.\n\nCloses
          #2267"
        change_url: https://github.com/osism/python-osism/pull/2409
        commit_id: e2b51cf1ee3f3c12cac7ff648fc3469799b78710
        patchset: e2b51cf1ee3f3c12cac7ff648fc3469799b78710
        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: '2409'
      change_message: "Exclude localhost from Ansible facts freshness check\n\n##
        Problem\n\n`osism apply <role>` warns about stale Ansible facts for `localhost`:\n\n```\nWARNING
        \ | Ansible facts in Redis are stale for 1 host(s) (older than 43200 seconds).
        Run 'osism sync facts' to update facts.\nWARNING  |   Host 'localhost': facts
        are 82075 seconds old\n```\n\nThe suggested remedy `osism sync facts` never
        clears it.\n\n## Root cause\n\n`check_ansible_facts()` scans **all** `ansible_facts*`
        keys in Redis, including `ansible_factslocalhost`. That cache entry is a byproduct
        of locally executed or delegated plays \u2014 `localhost` is not a regular
        inventory host. The refresh path (`osism sync facts` and the periodic `gather_facts`
        task) only targets inventory hosts, so the `localhost` entry is never refreshed,
        ages past `FACTS_MAX_AGE` (12h default), and produces a permanent, unactionable
        warning.\n\n## Fix\n\nSkip `localhost`, `127.0.0.1`, and `::1` in `check_ansible_facts()`.
        The freshness check for real inventory hosts is unchanged.\n\n## Tests\n\n-
        `test_check_ansible_facts_local_hosts_never_stale` (parametrized over `localhost`/`127.0.0.1`/`::1`):
        far-overaged local facts produce no warning.\n- `test_check_ansible_facts_local_host_skipped_real_host_still_stale`:
        a real inventory host is still reported; `localhost` is excluded.\n\nCloses
        #2267"
      change_url: https://github.com/osism/python-osism/pull/2409
      child_jobs: []
      commit_id: e2b51cf1ee3f3c12cac7ff648fc3469799b78710
      event_id: 8eedc4f0-6bf6-11f1-897f-edb55ea31e8e
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/dc8659cb4d3a4b5aa676407fdb896623/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/dc8659cb4d3a4b5aa676407fdb896623/work/logs
        result_data_file: /var/lib/zuul/builds/dc8659cb4d3a4b5aa676407fdb896623/work/results.json
        src_root: /var/lib/zuul/builds/dc8659cb4d3a4b5aa676407fdb896623/work/src
        work_root: /var/lib/zuul/builds/dc8659cb4d3a4b5aa676407fdb896623/work
      include_vars: []
      items:
      - branch: main
        change: '2409'
        change_message: "Exclude localhost from Ansible facts freshness check\n\n##
          Problem\n\n`osism apply <role>` warns about stale Ansible facts for `localhost`:\n\n```\nWARNING
          \ | Ansible facts in Redis are stale for 1 host(s) (older than 43200 seconds).
          Run 'osism sync facts' to update facts.\nWARNING  |   Host 'localhost':
          facts are 82075 seconds old\n```\n\nThe suggested remedy `osism sync facts`
          never clears it.\n\n## Root cause\n\n`check_ansible_facts()` scans **all**
          `ansible_facts*` keys in Redis, including `ansible_factslocalhost`. That
          cache entry is a byproduct of locally executed or delegated plays \u2014
          `localhost` is not a regular inventory host. The refresh path (`osism sync
          facts` and the periodic `gather_facts` task) only targets inventory hosts,
          so the `localhost` entry is never refreshed, ages past `FACTS_MAX_AGE` (12h
          default), and produces a permanent, unactionable warning.\n\n## Fix\n\nSkip
          `localhost`, `127.0.0.1`, and `::1` in `check_ansible_facts()`. The freshness
          check for real inventory hosts is unchanged.\n\n## Tests\n\n- `test_check_ansible_facts_local_hosts_never_stale`
          (parametrized over `localhost`/`127.0.0.1`/`::1`): far-overaged local facts
          produce no warning.\n- `test_check_ansible_facts_local_host_skipped_real_host_still_stale`:
          a real inventory host is still reported; `localhost` is excluded.\n\nCloses
          #2267"
        change_url: https://github.com/osism/python-osism/pull/2409
        commit_id: e2b51cf1ee3f3c12cac7ff648fc3469799b78710
        patchset: e2b51cf1ee3f3c12cac7ff648fc3469799b78710
        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: python-osism-test-setup
      jobtags: []
      max_attempts: 3
      message: RXhjbHVkZSBsb2NhbGhvc3QgZnJvbSBBbnNpYmxlIGZhY3RzIGZyZXNobmVzcyBjaGVjawoKIyMgUHJvYmxlbQoKYG9zaXNtIGFwcGx5IDxyb2xlPmAgd2FybnMgYWJvdXQgc3RhbGUgQW5zaWJsZSBmYWN0cyBmb3IgYGxvY2FsaG9zdGA6CgpgYGAKV0FSTklORyAgfCBBbnNpYmxlIGZhY3RzIGluIFJlZGlzIGFyZSBzdGFsZSBmb3IgMSBob3N0KHMpIChvbGRlciB0aGFuIDQzMjAwIHNlY29uZHMpLiBSdW4gJ29zaXNtIHN5bmMgZmFjdHMnIHRvIHVwZGF0ZSBmYWN0cy4KV0FSTklORyAgfCAgIEhvc3QgJ2xvY2FsaG9zdCc6IGZhY3RzIGFyZSA4MjA3NSBzZWNvbmRzIG9sZApgYGAKClRoZSBzdWdnZXN0ZWQgcmVtZWR5IGBvc2lzbSBzeW5jIGZhY3RzYCBuZXZlciBjbGVhcnMgaXQuCgojIyBSb290IGNhdXNlCgpgY2hlY2tfYW5zaWJsZV9mYWN0cygpYCBzY2FucyAqKmFsbCoqIGBhbnNpYmxlX2ZhY3RzKmAga2V5cyBpbiBSZWRpcywgaW5jbHVkaW5nIGBhbnNpYmxlX2ZhY3RzbG9jYWxob3N0YC4gVGhhdCBjYWNoZSBlbnRyeSBpcyBhIGJ5cHJvZHVjdCBvZiBsb2NhbGx5IGV4ZWN1dGVkIG9yIGRlbGVnYXRlZCBwbGF5cyDigJQgYGxvY2FsaG9zdGAgaXMgbm90IGEgcmVndWxhciBpbnZlbnRvcnkgaG9zdC4gVGhlIHJlZnJlc2ggcGF0aCAoYG9zaXNtIHN5bmMgZmFjdHNgIGFuZCB0aGUgcGVyaW9kaWMgYGdhdGhlcl9mYWN0c2AgdGFzaykgb25seSB0YXJnZXRzIGludmVudG9yeSBob3N0cywgc28gdGhlIGBsb2NhbGhvc3RgIGVudHJ5IGlzIG5ldmVyIHJlZnJlc2hlZCwgYWdlcyBwYXN0IGBGQUNUU19NQVhfQUdFYCAoMTJoIGRlZmF1bHQpLCBhbmQgcHJvZHVjZXMgYSBwZXJtYW5lbnQsIHVuYWN0aW9uYWJsZSB3YXJuaW5nLgoKIyMgRml4CgpTa2lwIGBsb2NhbGhvc3RgLCBgMTI3LjAuMC4xYCwgYW5kIGA6OjFgIGluIGBjaGVja19hbnNpYmxlX2ZhY3RzKClgLiBUaGUgZnJlc2huZXNzIGNoZWNrIGZvciByZWFsIGludmVudG9yeSBob3N0cyBpcyB1bmNoYW5nZWQuCgojIyBUZXN0cwoKLSBgdGVzdF9jaGVja19hbnNpYmxlX2ZhY3RzX2xvY2FsX2hvc3RzX25ldmVyX3N0YWxlYCAocGFyYW1ldHJpemVkIG92ZXIgYGxvY2FsaG9zdGAvYDEyNy4wLjAuMWAvYDo6MWApOiBmYXItb3ZlcmFnZWQgbG9jYWwgZmFjdHMgcHJvZHVjZSBubyB3YXJuaW5nLgotIGB0ZXN0X2NoZWNrX2Fuc2libGVfZmFjdHNfbG9jYWxfaG9zdF9za2lwcGVkX3JlYWxfaG9zdF9zdGlsbF9zdGFsZWA6IGEgcmVhbCBpbnZlbnRvcnkgaG9zdCBpcyBzdGlsbCByZXBvcnRlZDsgYGxvY2FsaG9zdGAgaXMgZXhjbHVkZWQuCgpDbG9zZXMgIzIyNjc=
      patchset: e2b51cf1ee3f3c12cac7ff648fc3469799b78710
      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/python-osism:
            canonical_name: github.com/osism/python-osism
            checkout: main
            commit: c4e55357a7bac6edeebf3b2b65efa57e587154de
          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/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
          untrusted/project_3/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
        playbooks:
        - path: untrusted/project_0/github.com/osism/python-osism/playbooks/test-setup.yml
          roles:
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_1/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_1/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_2/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_2/openinfra-zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_3/zuul-jobs
            link_target: untrusted/project_3/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_3/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: c4e55357a7bac6edeebf3b2b65efa57e587154de
          name: osism/python-osism
          required: false
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
      ref: refs/pull/2409/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
