Skip to content

Fix: NFS directory creation and add NFS server reachability validation - #5082

Merged
sujit-jadhav merged 2 commits into
dell:issue-4849-omnia-modernizationfrom
SAYUK09:fix/orchestrator-nfs
Aug 28, 2026
Merged

Fix: NFS directory creation and add NFS server reachability validation#5082
sujit-jadhav merged 2 commits into
dell:issue-4849-omnia-modernizationfrom
SAYUK09:fix/orchestrator-nfs

Conversation

@SAYUK09

@SAYUK09 SAYUK09 commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR fixes a critical bug where NFS directories (ctld_track, openldap, slurm, slurm_backups) were not being created during Slurm/Kubernetes provisioning, and adds proactive validation to check NFS server reachability before provisioning begins.

Changes

  1. Fix NFS directory creation bug - The mount_config role was not actually mounting NFS shares on the OIM, preventing directory creation. Added mount_config_mode: "oim-mount" to:
  • provision_slurm.yml - mounts NFS for Slurm config directory creation
  • provision_kubernetes.yml - mounts NFS for K8s config directory creation
  • mount_config/tasks/main.yml - skip cloud-init generation when in oim-mount mode
  1. Fix OpenCHAMI URL variable collision - The validate_provisioning role was using cluster_name which gets overwritten by slurm_config (from openldap to slurm_cluster), causing DNS resolution failures.
    Changed to use stablehostvars['localhost']['oim_node_name']and domain_name instead.

  2. Fix incorrect variable name - Changed orchestrator_input_dir to omnia_project_input_dir in generate_inventories/tasks/main.yml for HA config file path resolution.

  3. Add NFS server reachability validation - New validation task that:

  • Reads storage_config.yml and omnia_config.yml
  • Resolves nfs_storage_name references from enabled features (slurm/k8s)
  • Extracts NFS server IP from mount source field (e.g., 10.49.2.200:/mnt/test-nfs)
  • Pings the NFS server to verify reachability
  • Fails early if NFS server is unreachable, preventing provisioning failures
  • Skips local devices (/dev/, UUID=, LABEL=) and CIFS shares (//)
  1. Add missing feature flags to orchestrator state - Added slurm_support, ucx_support, and openmpi_support to prepare_orchestrator.yml so downstream roles can correctly check these flags.

Testing

  • Verified NFS mount at /share_omnia is created and mounted.
  • Verified directories are created: ctld_track, openldap, slurm, slurm_backups.
  • Verified playbook runs to completion with zero failures.
  • Verified sinfo on slurm controller node.

@SAYUK09
SAYUK09 force-pushed the fix/orchestrator-nfs branch from 2b24a6a to a3a64fc Compare August 28, 2026 07:03
…hability validation.

Signed-off-by: sayuri <sayuri.kamble@dell.com>
…alidation

Move Jinja templates to end of task name fields to comply with
ansible-lint rule name[template]. The mount name is preserved in
task messages for debugging.

Signed-off-by: sayuri <sayuri.kamble@dell.com>
@SAYUK09
SAYUK09 force-pushed the fix/orchestrator-nfs branch from b85c17b to 9c5ecc0 Compare August 28, 2026 07:56
@sujit-jadhav
sujit-jadhav merged commit 208e1cc into dell:issue-4849-omnia-modernization Aug 28, 2026
13 checks passed
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.

3 participants