fix(network_spec): add mandatory router field to admin_network for correct DHCP gateway#4821
Merged
snarthan merged 1 commit intoJul 9, 2026
Conversation
…rrect DHCP gateway (OMNDF-369) Previously, CoreDHCP advertised the OIM IP (primary_oim_admin_ip) as the DHCP gateway (option 3). In multi-subnet clusters, nodes on additional subnets could not route traffic back to the admin subnet because the OIM is not a network router. This caused Slurm compute nodes on different subnets to get stuck in Completing state due to broken node-to-controller communication. Changes: - Add mandatory 'router' field to admin_network in network_spec.yml with default value matching primary_oim_admin_ip (172.16.107.254) - Propagate router value to coredhcp_router in deploy_openchami.yml, refresh_openchami_configs.yml, and configs.yaml.j2 template - Add L1 validation: router added to required fields in network_spec.json schema with IPv4 pattern - Add L2 validation: mandatory IPv4 check in provision_validation.py with descriptive error message in en_us_validation_msg.py - Update upgrade template (network_spec.j2) to include router field with fallback to primary_oim_admin_ip for backward compatibility - Update upgrade_openchami_containers.yml to handle coredhcp_router in both configs_vars.yaml regeneration and existing config loading paths - Add router field to prepare_upgrade.yml review banner Signed-off-by: Sujit Jadhav <sujit.jadhav@dell.com>
abhishek-sa1
approved these changes
Jul 9, 2026
snarthan
approved these changes
Jul 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
In multi-subnet clusters, CoreDHCP advertised the OIM IP (primary_oim_admin_ip) as the DHCP gateway (option 3). Since the OIM is not a network router, nodes on additional subnets could not route traffic back to the admin subnet. This caused Slurm compute nodes on different subnets to get stuck in Completing state due to broken node-to-controller communication.
Example: nid009 (172.20.46.74) could not reach nid007/controller (172.20.44.89) because the gateway advertised was the OIM IP (172.20.44.51) instead of the actual router (172.20.44.1).
Root Cause
coredhcp_router was hardcoded to �dmin_nic_ip (the OIM's IP address). The OIM does not perform IP routing between subnets, so cross-subnet DHCP clients received a non-functional gateway.
Fix
Add a mandatory
outer field to �dmin_network in
etwork_spec.yml, allowing users to specify the actual network gateway. This value is propagated to coredhcp_router in CoreDHCP configuration.
Changes
Workflows Verified
efresh_openchami_configs.yml): Re-reads
etwork_spec.yml → updates CoreDHCP
etwork_spec.j2 defaults router to primary_oim_admin_ip for backward compatibility
JIRA
OMNDF-369
Signed-off-by: Sujit Jadhav sujit.jadhav@dell.com