Skip to content

Remove slurm_preferred_addr_family (ER-ORCH-005 FR-7 violation) - #5674

Open
sujit-jadhav wants to merge 1 commit into
pub/rhel10.2from
fix/remove-slurm-preferred-addr-family
Open

sujit-jadhav wants to merge 1 commit into
pub/rhel10.2from
fix/remove-slurm-preferred-addr-family

Conversation

@sujit-jadhav

Copy link
Copy Markdown
Collaborator

Summary

Fixes #5398

Remove the slurm_preferred_addr_family configuration variable which contradicts ER-ORCH-005 FR-7:

FR-7: Given the node is in dual-stack mode with both IPv4 and IPv6 IPoIB addresses, when Slurm configuration is rendered, then NodeAddr is set to the approved IPv6 IPoIB address.

Per FR-7, dual-stack mode must automatically use IPv6 — no operator choice.

Root Cause

The actual NodeAddr injection logic (roles/slurm_config/tasks/inject_ib_nodeaddr.yml) already correctly implements FR-7 — it prefers IB_IPV6 and falls back to IB_IPV4. The slurm_preferred_addr_family variable was dead configuration that was never referenced by the injection logic.

Changes

  • input/network_spec.yml: Replace slurm_preferred_addr_family comments with FR-7 behavior documentation, remove the variable from the example ib_network section
  • schema/network_spec.json: Remove slurm_preferred_addr_family from both schema variants (ipv4_subnet and legacy subnet)

Verification

grep -r "slurm_preferred_addr_family" src/orchestrator/

Returns zero results after this change.

Remove the slurm_preferred_addr_family configuration variable which
contradicts ER-ORCH-005 FR-7. FR-7 states that in dual-stack mode,
NodeAddr must automatically use IPv6 — no operator choice.

The actual NodeAddr injection logic (inject_ib_nodeaddr.yml) already
correctly implements FR-7 by preferring IB_IPV6 and falling back to
IB_IPV4. The variable was dead configuration that was never referenced
by the injection logic.

Changes:
- network_spec.yml: Replace slurm_preferred_addr_family comments with
  FR-7 behavior documentation, remove the variable from the example
- network_spec.json: Remove slurm_preferred_addr_family from both
  schema variants (ipv4_subnet and legacy subnet)
- test_slurm_nodeaddr_ipv6.py: Remove derive_nodeaddr_af preference
  param, remove validate_dual_stack_preference and
  detect_preference_mismatch helpers and their test classes
- test_backward_compat_ipv6.py: Replace schema presence assertion
  with absence assertion (field must not exist)
- _pxeboot_helpers.py: Simplify resolve_ib_addr_family to return
  ipv6 for dual-stack per FR-7

Fixes #5398

Signed-off-by: Sujit Jadhav <sujit.jadhav@dell.com>
@sujit-jadhav
sujit-jadhav force-pushed the fix/remove-slurm-preferred-addr-family branch from a871eb3 to fe641a3 Compare November 1, 2026 14:18

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant