all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe1d:5e8f
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 44b023c4-5293-458d-bf87-20210932c80a
        host_id: 82101243836454d7401d5893feae9e2c5df7cc291646d8a99b33b53b
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe1d:5e8f
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.99
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.250
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe1d:5e8f
        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-unit-tests explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/python-osism/.zuul.yaml@main#133>'
      - '<Job python-osism-unit-tests explicit: None implied: None source: osism/python-osism/.zuul.yaml@main#143>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: b8e9c49cd3414263b9f4b3655d7e9325
      build_refs:
      - branch: main
        change: '2579'
        change_message: "rabbitmq: honour the console_interface fallback\n\n`osism/defaults`
          resolves a node's internal address as\n\n```jinja\n{{ hostvars[inventory_hostname]['ansible_'
          +\n   internal_interface|default(console_interface)]['ipv4']['address']
          }}\n```\n\n(`defaults/manager/000-defaults.yml`). The expression used here
          left the fallback out and referenced `internal_interface` directly, so a
          host that sets `console_interface` explicitly and leaves `internal_interface`
          unset \u2014 a configuration that resolves in the deployment \u2014 did
          not resolve here.\n\nThis adds the fallback so the two agree.\n\nWhere neither
          variable is set it still fails, and loudly: `defaults/all/099-interfaces.yml`
          defines `console_interface: \"{{ internal_interface|default(loopback0) }}\"`,
          and `loopback0` is **not defined as a variable anywhere** in `osism/defaults`
          (the name occurs only as an interface key in netplan and cloud-init files),
          so the lookup raises `'loopback0' is undefined` rather than returning an
          address that was never configured.\n\n**Verification.** On ansible-core
          2.19.11, both the case this fixes (`console_interface` set to a real interface,
          `internal_interface` absent \u2192 resolves to that interface's address)
          and the case it must not paper over (neither set \u2192 raises).\n\nNote
          this **widens** what resolves rather than narrowing it: the code preceding
          this stack required `internal_interface` outright and skipped the host without
          it.\n\nSeparable \u2014 this is not needed to fix osism/issues#1425, and
          can be deferred or dropped without affecting the rest of the stack.\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)\n"
        change_url: https://github.com/osism/python-osism/pull/2579
        commit_id: 17fa97b99fde2c90899e6e80dce28e7254c19c33
        patchset: 17fa97b99fde2c90899e6e80dce28e7254c19c33
        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: 6470e2af0c5248df8edda61e83fd9756
      buildset_refs:
      - branch: main
        change: '2579'
        change_message: "rabbitmq: honour the console_interface fallback\n\n`osism/defaults`
          resolves a node's internal address as\n\n```jinja\n{{ hostvars[inventory_hostname]['ansible_'
          +\n   internal_interface|default(console_interface)]['ipv4']['address']
          }}\n```\n\n(`defaults/manager/000-defaults.yml`). The expression used here
          left the fallback out and referenced `internal_interface` directly, so a
          host that sets `console_interface` explicitly and leaves `internal_interface`
          unset \u2014 a configuration that resolves in the deployment \u2014 did
          not resolve here.\n\nThis adds the fallback so the two agree.\n\nWhere neither
          variable is set it still fails, and loudly: `defaults/all/099-interfaces.yml`
          defines `console_interface: \"{{ internal_interface|default(loopback0) }}\"`,
          and `loopback0` is **not defined as a variable anywhere** in `osism/defaults`
          (the name occurs only as an interface key in netplan and cloud-init files),
          so the lookup raises `'loopback0' is undefined` rather than returning an
          address that was never configured.\n\n**Verification.** On ansible-core
          2.19.11, both the case this fixes (`console_interface` set to a real interface,
          `internal_interface` absent \u2192 resolves to that interface's address)
          and the case it must not paper over (neither set \u2192 raises).\n\nNote
          this **widens** what resolves rather than narrowing it: the code preceding
          this stack required `internal_interface` outright and skipped the host without
          it.\n\nSeparable \u2014 this is not needed to fix osism/issues#1425, and
          can be deferred or dropped without affecting the rest of the stack.\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)\n"
        change_url: https://github.com/osism/python-osism/pull/2579
        commit_id: 17fa97b99fde2c90899e6e80dce28e7254c19c33
        patchset: 17fa97b99fde2c90899e6e80dce28e7254c19c33
        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: '2579'
      change_message: "rabbitmq: honour the console_interface fallback\n\n`osism/defaults`
        resolves a node's internal address as\n\n```jinja\n{{ hostvars[inventory_hostname]['ansible_'
        +\n   internal_interface|default(console_interface)]['ipv4']['address'] }}\n```\n\n(`defaults/manager/000-defaults.yml`).
        The expression used here left the fallback out and referenced `internal_interface`
        directly, so a host that sets `console_interface` explicitly and leaves `internal_interface`
        unset \u2014 a configuration that resolves in the deployment \u2014 did not
        resolve here.\n\nThis adds the fallback so the two agree.\n\nWhere neither
        variable is set it still fails, and loudly: `defaults/all/099-interfaces.yml`
        defines `console_interface: \"{{ internal_interface|default(loopback0) }}\"`,
        and `loopback0` is **not defined as a variable anywhere** in `osism/defaults`
        (the name occurs only as an interface key in netplan and cloud-init files),
        so the lookup raises `'loopback0' is undefined` rather than returning an address
        that was never configured.\n\n**Verification.** On ansible-core 2.19.11, both
        the case this fixes (`console_interface` set to a real interface, `internal_interface`
        absent \u2192 resolves to that interface's address) and the case it must not
        paper over (neither set \u2192 raises).\n\nNote this **widens** what resolves
        rather than narrowing it: the code preceding this stack required `internal_interface`
        outright and skipped the host without it.\n\nSeparable \u2014 this is not
        needed to fix osism/issues#1425, and can be deferred or dropped without affecting
        the rest of the stack.\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)\n"
      change_url: https://github.com/osism/python-osism/pull/2579
      child_jobs: []
      commit_id: 17fa97b99fde2c90899e6e80dce28e7254c19c33
      event_id: 813d5550-9252-11f1-933c-d84174241d2a
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/b8e9c49cd3414263b9f4b3655d7e9325/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/b8e9c49cd3414263b9f4b3655d7e9325/work/logs
        result_data_file: /var/lib/zuul/builds/b8e9c49cd3414263b9f4b3655d7e9325/work/results.json
        src_root: /var/lib/zuul/builds/b8e9c49cd3414263b9f4b3655d7e9325/work/src
        work_root: /var/lib/zuul/builds/b8e9c49cd3414263b9f4b3655d7e9325/work
      include_vars: []
      items:
      - branch: main
        change: '2579'
        change_message: "rabbitmq: honour the console_interface fallback\n\n`osism/defaults`
          resolves a node's internal address as\n\n```jinja\n{{ hostvars[inventory_hostname]['ansible_'
          +\n   internal_interface|default(console_interface)]['ipv4']['address']
          }}\n```\n\n(`defaults/manager/000-defaults.yml`). The expression used here
          left the fallback out and referenced `internal_interface` directly, so a
          host that sets `console_interface` explicitly and leaves `internal_interface`
          unset \u2014 a configuration that resolves in the deployment \u2014 did
          not resolve here.\n\nThis adds the fallback so the two agree.\n\nWhere neither
          variable is set it still fails, and loudly: `defaults/all/099-interfaces.yml`
          defines `console_interface: \"{{ internal_interface|default(loopback0) }}\"`,
          and `loopback0` is **not defined as a variable anywhere** in `osism/defaults`
          (the name occurs only as an interface key in netplan and cloud-init files),
          so the lookup raises `'loopback0' is undefined` rather than returning an
          address that was never configured.\n\n**Verification.** On ansible-core
          2.19.11, both the case this fixes (`console_interface` set to a real interface,
          `internal_interface` absent \u2192 resolves to that interface's address)
          and the case it must not paper over (neither set \u2192 raises).\n\nNote
          this **widens** what resolves rather than narrowing it: the code preceding
          this stack required `internal_interface` outright and skipped the host without
          it.\n\nSeparable \u2014 this is not needed to fix osism/issues#1425, and
          can be deferred or dropped without affecting the rest of the stack.\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)\n"
        change_url: https://github.com/osism/python-osism/pull/2579
        commit_id: 17fa97b99fde2c90899e6e80dce28e7254c19c33
        patchset: 17fa97b99fde2c90899e6e80dce28e7254c19c33
        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-unit-tests
      jobtags: []
      max_attempts: 3
      message: cmFiYml0bXE6IGhvbm91ciB0aGUgY29uc29sZV9pbnRlcmZhY2UgZmFsbGJhY2sKCmBvc2lzbS9kZWZhdWx0c2AgcmVzb2x2ZXMgYSBub2RlJ3MgaW50ZXJuYWwgYWRkcmVzcyBhcwoKYGBgamluamEKe3sgaG9zdHZhcnNbaW52ZW50b3J5X2hvc3RuYW1lXVsnYW5zaWJsZV8nICsKICAgaW50ZXJuYWxfaW50ZXJmYWNlfGRlZmF1bHQoY29uc29sZV9pbnRlcmZhY2UpXVsnaXB2NCddWydhZGRyZXNzJ10gfX0KYGBgCgooYGRlZmF1bHRzL21hbmFnZXIvMDAwLWRlZmF1bHRzLnltbGApLiBUaGUgZXhwcmVzc2lvbiB1c2VkIGhlcmUgbGVmdCB0aGUgZmFsbGJhY2sgb3V0IGFuZCByZWZlcmVuY2VkIGBpbnRlcm5hbF9pbnRlcmZhY2VgIGRpcmVjdGx5LCBzbyBhIGhvc3QgdGhhdCBzZXRzIGBjb25zb2xlX2ludGVyZmFjZWAgZXhwbGljaXRseSBhbmQgbGVhdmVzIGBpbnRlcm5hbF9pbnRlcmZhY2VgIHVuc2V0IOKAlCBhIGNvbmZpZ3VyYXRpb24gdGhhdCByZXNvbHZlcyBpbiB0aGUgZGVwbG95bWVudCDigJQgZGlkIG5vdCByZXNvbHZlIGhlcmUuCgpUaGlzIGFkZHMgdGhlIGZhbGxiYWNrIHNvIHRoZSB0d28gYWdyZWUuCgpXaGVyZSBuZWl0aGVyIHZhcmlhYmxlIGlzIHNldCBpdCBzdGlsbCBmYWlscywgYW5kIGxvdWRseTogYGRlZmF1bHRzL2FsbC8wOTktaW50ZXJmYWNlcy55bWxgIGRlZmluZXMgYGNvbnNvbGVfaW50ZXJmYWNlOiAie3sgaW50ZXJuYWxfaW50ZXJmYWNlfGRlZmF1bHQobG9vcGJhY2swKSB9fSJgLCBhbmQgYGxvb3BiYWNrMGAgaXMgKipub3QgZGVmaW5lZCBhcyBhIHZhcmlhYmxlIGFueXdoZXJlKiogaW4gYG9zaXNtL2RlZmF1bHRzYCAodGhlIG5hbWUgb2NjdXJzIG9ubHkgYXMgYW4gaW50ZXJmYWNlIGtleSBpbiBuZXRwbGFuIGFuZCBjbG91ZC1pbml0IGZpbGVzKSwgc28gdGhlIGxvb2t1cCByYWlzZXMgYCdsb29wYmFjazAnIGlzIHVuZGVmaW5lZGAgcmF0aGVyIHRoYW4gcmV0dXJuaW5nIGFuIGFkZHJlc3MgdGhhdCB3YXMgbmV2ZXIgY29uZmlndXJlZC4KCioqVmVyaWZpY2F0aW9uLioqIE9uIGFuc2libGUtY29yZSAyLjE5LjExLCBib3RoIHRoZSBjYXNlIHRoaXMgZml4ZXMgKGBjb25zb2xlX2ludGVyZmFjZWAgc2V0IHRvIGEgcmVhbCBpbnRlcmZhY2UsIGBpbnRlcm5hbF9pbnRlcmZhY2VgIGFic2VudCDihpIgcmVzb2x2ZXMgdG8gdGhhdCBpbnRlcmZhY2UncyBhZGRyZXNzKSBhbmQgdGhlIGNhc2UgaXQgbXVzdCBub3QgcGFwZXIgb3ZlciAobmVpdGhlciBzZXQg4oaSIHJhaXNlcykuCgpOb3RlIHRoaXMgKip3aWRlbnMqKiB3aGF0IHJlc29sdmVzIHJhdGhlciB0aGFuIG5hcnJvd2luZyBpdDogdGhlIGNvZGUgcHJlY2VkaW5nIHRoaXMgc3RhY2sgcmVxdWlyZWQgYGludGVybmFsX2ludGVyZmFjZWAgb3V0cmlnaHQgYW5kIHNraXBwZWQgdGhlIGhvc3Qgd2l0aG91dCBpdC4KClNlcGFyYWJsZSDigJQgdGhpcyBpcyBub3QgbmVlZGVkIHRvIGZpeCBvc2lzbS9pc3N1ZXMjMTQyNSwgYW5kIGNhbiBiZSBkZWZlcnJlZCBvciBkcm9wcGVkIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSByZXN0IG9mIHRoZSBzdGFjay4KCvCfpJYgR2VuZXJhdGVkIHdpdGggW0NsYXVkZSBDb2RlXShodHRwczovL2NsYXVkZS5jb20vY2xhdWRlLWNvZGUpCg==
      patchset: 17fa97b99fde2c90899e6e80dce28e7254c19c33
      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: b7c70f39598a39998dbbc6f833779355630f3a39
          untrusted/project_0/github.com/osism/python-osism:
            canonical_name: github.com/osism/python-osism
            checkout: main
            commit: 38cfc23911b28accacfe988aff3efd37c7c90e59
          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
          untrusted/project_3/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: b7c70f39598a39998dbbc6f833779355630f3a39
        playbooks:
        - path: untrusted/project_0/github.com/osism/python-osism/playbooks/test-unit.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: 38cfc23911b28accacfe988aff3efd37c7c90e59
          name: osism/python-osism
          required: false
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
      ref: refs/pull/2579/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
