Skip to content

inventory: add ironic-dnsmasq service group#601

Merged
berendt merged 1 commit into
mainfrom
inventory-ironic-dnsmasq
Jun 25, 2026
Merged

inventory: add ironic-dnsmasq service group#601
berendt merged 1 commit into
mainfrom
inventory-ironic-dnsmasq

Conversation

@ideaship

Copy link
Copy Markdown
Contributor

What

Add the ironic-dnsmasq inventory group (child of ironic) to
inventory/51-kolla, mirroring kolla-ansible stable/2025.2
ansible/inventory/multinode.

Why

kolla-ansible stable/2025.2 ships an ironic-dnsmasq group in its
multinode inventory, but this inventory never gained it. The ironic role
dereferences groups['ironic-dnsmasq'] unconditionally — it appears as
groups['ironic-dnsmasq'] | length > 0 in:

  • ironic/tasks/config.yml (4×) and ironic/tasks/precheck.yml when: conditions
  • the ironic-http.json.j2 and ironic-tftp.json.j2 container config templates

These expressions are evaluated on every ironic deployment, before any
enable check. With the group undefined, Ansible aborts with:

'dict object' has no attribute 'ironic-dnsmasq'

(the "dict object" being the groups var). This breaks every ironic-enabled
deployment; only setups that do not deploy ironic (e.g. the virtualized
testbed) are unaffected.

Same class of fix as the neutron 2025.2 groups

This is the identical failure mode and remedy as the recent neutron change:

Validation

  • tox -e check (inventory sorting) passes with the group inserted in
    alphabetical order between ironic-conductor and ironic-http.

🤖 Generated with Claude Code

kolla-ansible stable/2025.2 ships an ironic-dnsmasq inventory group in
ansible/inventory/multinode, but this inventory never gained it. The
ironic role dereferences groups['ironic-dnsmasq'] unconditionally: it
appears as "groups['ironic-dnsmasq'] | length > 0" in the ironic
config.yml and precheck.yml when-conditions and in the ironic-http and
ironic-tftp container config templates. These expressions are evaluated
on every ironic deployment, before any enable check.

When the referenced inventory group is absent, Ansible aborts with
"'dict object' has no attribute 'ironic-dnsmasq'" (the "dict object" is
the groups var). This breaks every ironic-enabled deployment; only
setups that do not deploy ironic (e.g. the virtualized testbed) are
unaffected.

Add the group as a child of ironic, mirroring kolla-ansible
stable/2025.2 ansible/inventory/multinode, which also places it there.
This is the same class of fix as commit 62b6274 (neutron 2025.2 service
groups).

Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Roger Luethi <luethi@osism.tech>
@ideaship ideaship requested a review from berendt June 24, 2026 19:50
@ideaship ideaship marked this pull request as ready for review June 24, 2026 19:50
@ideaship ideaship moved this from Ready to In review in Human Board Jun 24, 2026
@berendt berendt merged commit 4fa9b2e into main Jun 25, 2026
3 checks passed
@berendt berendt deleted the inventory-ironic-dnsmasq branch June 25, 2026 06:11
@github-project-automation github-project-automation Bot moved this from In review to Done in Human Board Jun 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants