[OMN-DEF] IPv6-only mode fails to assign IB addresses due to netmask check

Open Beginner friendly
#5,748 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
ansible, python

Research direction

Start with configure-ib-network.sh.j2, especially the unconditional NETMASK_BITS check at lines 68–71, and trace how ib_addr_mode selects IPv4 or IPv6 configuration. Check the related network configuration tests if available. Done when ipv6-only mode with empty IPv4 settings configures the IB IPv6 address without failing the IPv4 netmask check.

Written by the indexing model from the issue text.

Description

Defect

When ib_addr_mode is set to ipv6-only, the configure-ib-network.sh script fails to assign IPv6 addresses to IB interfaces. The script exits early with an error about missing IPv4 netmask before reaching the IPv6 configuration section.

Steps to Reproduce

  1. Set ib_addr_mode to ipv6-only in network_spec.yml
  2. Set ipv6_subnet and ipv6_netmask_bits
  3. Leave ipv4_subnet and ipv4_netmask_bits empty
  4. Run orchestrator provision
  5. Check node IB interface — no IPv6 address is assigned

Expected Result

In ipv6-only mode, the script should only require ipv6_netmask_bits and configure IPv6 addresses on the IB interface.

Actual Result

The script exits with error: "ERROR: IB network netmask_bits is not configured in network_spec.yml" because it unconditionally requires IPv4 netmask even in ipv6-only mode. The IB interface exists but has no IP address.

Root Cause

Line 68-71 in configure-ib-network.sh.j2 unconditionally checks NETMASK_BITS (IPv4 netmask) without considering ib_addr_mode. In ipv6-only mode, ipv4_netmask_bits is empty, causing the script to exit before IPv6 configuration.

Dominant language
Python
Stars
9
Forks
175
Avg merge
1d 2h
Merged PRs (30d)
171

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from dell/omnia

All issues in dell/omnia

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.