Create a Mapping File¶
Nodes in Omnia are discovered and provisioned based on the groups and functional groups defined in a PXE mapping file. By combining both, Omnia provides a flexible approach to managing large-scale node infrastructures, ensuring both logical organization and physical optimization of resources.
-
A group is based on the physical characteristics of nodes. Nodes in the same rack or Scalable Unit (SU) are grouped together with a shared
GROUP_NAME. Groups help with physical organization and management. -
A functional group defines what a node does in the cluster. It categorizes nodes by their role, such as:
service_kube_control_planeservice_kube_nodeslurm_control_nodeslurm_nodelogin_nodelogin_compiler_nodeos(Minimal OS)
Discovery methods¶
Omnia supports two methods for discovering target nodes and creating PXE mapping files:
- Manual PXE mapping -- Manually collect PXE NIC information and define entries in
pxe_mapping_file.csv. See Create PXE file manually. - OME-based PXE file generation (Recommended) -- Use OpenManage Enterprise (OME) to discover cluster nodes and auto-generate the mapping file via the
discovery.ymlplaybook. See Create PXE file using OME.
Create PXE file manually¶
Manually collect PXE NIC information for each node and define it in pxe_mapping_file.csv. Provide the file path to the pxe_mapping_file_path variable in /opt/omnia/input/project_default/provision_config.yml.
Each node entry requires the following fields: FUNCTIONAL_GROUP_NAME, GROUP_NAME, SERVICE_TAG, PARENT_SERVICE_TAG, HOSTNAME, ADMIN_MAC, ADMIN_IP, BMC_MAC, BMC_IP, IB_NIC_NAME, and IB_IP.
Column reference¶
| Column | Required | Description |
|---|---|---|
FUNCTIONAL_GROUP_NAME |
Yes | Node role with architecture suffix (e.g., slurm_node_x86_64, login_node_aarch64). |
GROUP_NAME |
Yes | Physical grouping identifier (e.g., grp0, grp1). Nodes in the same group must share the same parent. |
SERVICE_TAG |
Yes | Dell service tag of the server. |
PARENT_SERVICE_TAG |
No | Service tag of the parent chassis for blade servers. Leave empty for rack servers. |
HOSTNAME |
Yes | Custom hostname for the node. Do not include the domain name. |
ADMIN_MAC |
Yes | MAC address of the PXE NIC on the admin network. |
ADMIN_IP |
Yes | Static IP address on the admin network. |
BMC_MAC |
Yes | MAC address of the BMC/iDRAC interface. |
BMC_IP |
Yes | Static IP address on the BMC network. |
IB_NIC_NAME |
No | FQDD of the InfiniBand NIC port (e.g., InfiniBand.Slot.7-1). Leave empty if no IB NIC is present. |
IB_IP |
No | Static IP address on the InfiniBand network. Leave empty if no IB NIC is present. |
Sample mapping file (x86_64 cluster)¶
FUNCTIONAL_GROUP_NAME,GROUP_NAME,SERVICE_TAG,PARENT_SERVICE_TAG,HOSTNAME,ADMIN_MAC,ADMIN_IP,BMC_MAC,BMC_IP,IB_NIC_NAME,IB_IP
slurm_control_node_x86_64,grp0,ABCD12,,slurm-control-node1,a1:b2:c3:d4:e5:f6,172.16.107.52,a2:b3:c4:d5:e6:f7,172.17.107.52,InfiniBand.Slot.7-1,192.168.0.100
slurm_node_x86_64,grp1,ABCD34,ABFL82,slurm-node1,b1:c2:d3:e4:f5:a6,172.16.107.43,b2:c3:d4:e5:f6:a7,172.17.107.43,InfiniBand.Slot.7-1,192.168.0.101
slurm_node_x86_64,grp1,ABFG34,ABKD88,slurm-node2,c1:d2:e3:f4:a5:b6,172.16.107.44,c2:d3:e4:f5:a6:b7,172.17.107.44,InfiniBand.Slot.7-1,192.168.0.102
login_compiler_node_x86_64,grp8,ABCD78,,login-compiler-node1,d1:e2:f3:a4:b5:c6,172.16.107.41,d2:e3:f4:a5:b6:c7,172.17.107.41,InfiniBand.Slot.7-1,192.168.0.103
service_kube_control_plane_x86_64,grp3,ABFG79,,service-kube-cp1,f1:a2:b3:c4:d5:e6,172.16.107.53,f2:a3:b4:c5:d6:e7,172.17.107.53,,
service_kube_node_x86_64,grp5,ABFL82,,service-kube-node1,33:44:55:66:77:88,172.16.107.56,34:45:56:67:78:89,172.17.107.56,InfiniBand.Slot.7-1,192.168.0.108
os_x86_64,grp6,ABEF56,,os-node1,77:88:99:aa:bb:cc,172.16.107.60,78:89:aa:bb:cc:dd,172.17.107.60,,
Sample mapping file (mixed x86_64 and aarch64 cluster)¶
FUNCTIONAL_GROUP_NAME,GROUP_NAME,SERVICE_TAG,PARENT_SERVICE_TAG,HOSTNAME,ADMIN_MAC,ADMIN_IP,BMC_MAC,BMC_IP,IB_NIC_NAME,IB_IP
slurm_control_node_x86_64,grp0,ABCD12,,slurm-control-node1,a1:b2:c3:d4:e5:f6,172.16.107.52,a2:b3:c4:d5:e6:f7,172.17.107.52,InfiniBand.Slot.7-1,192.168.0.100
slurm_node_aarch64,grp1,ABCD34,ABFL82,slurm-node1,b1:c2:d3:e4:f5:a6,172.16.107.43,b2:c3:d4:e5:f6:a7,172.17.107.43,InfiniBand.Slot.7-2,192.168.0.101
login_compiler_node_aarch64,grp8,ABCD78,,login-compiler-node1,d1:e2:f3:a4:b5:c6,172.16.107.41,d2:e3:f4:a5:b6:c7,172.17.107.41,InfiniBand.PCIe.Slot.8-1,192.168.0.103
login_node_aarch64,grp9,ABFG78,,login-node1,e1:f2:a3:b4:c5:d6,172.16.107.42,e2:f3:a4:b5:c6:d7,172.17.107.42,NIC.InfiniBand.1-1,192.168.0.104
service_kube_control_plane_x86_64,grp3,ABFG79,,service-kube-cp1,f1:a2:b3:c4:d5:e6,172.16.107.53,f2:a3:b4:c5:d6:e7,172.17.107.53,,
os_aarch64,grp7,ABEF78,,os-node2,99:aa:bb:cc:dd:ee,172.16.107.61,9a:ab:bc:cd:de:ef,172.17.107.61,,
Warning
- Header fields are case-sensitive. Use uppercase exactly as shown.
- IP addresses in the mapping file are not validated by Omnia. Incorrect IPs cause unexpected failures.
- Service tags are not validated by Omnia. Verify correctness before discovery.
- Hostnames must not include the domain name.
- All fields are mandatory. Use an empty value (two consecutive commas) where a value is not applicable.
ADMIN_MACandBMC_MACmust refer to the PXE NIC and BMC NIC on the target nodes respectively.- Target servers must be configured to boot in PXE mode with the appropriate NIC as the first boot device.
- Nodes in the same group must have the same parent (
PARENT_SERVICE_TAG).
Minimal OS functional groups
The os_x86_64 and os_aarch64 functional groups provide a clean operating system baseline with only essential OS packages and LDMS telemetry packages -- no schedulers, container runtimes, or orchestration software. Administrators can optionally include additional packages by creating additional_packages.json files in input/config/{arch}/rhel/10.0/.
Create PXE file using OME¶
OME-based BMC discovery is the recommended method for discovering target nodes. This method leverages OpenManage Enterprise to automatically discover servers through their BMC/iDRAC interfaces, reducing manual configuration effort.
Note
In Dell Omnia deployments integrated with OME, server identification during PXE boot relies on information retrieved from OME and iDRAC inventory. Depending on the DNS environment, the DnsName value may not align with naming conventions required for cluster configuration. Users must explicitly define GROUP_NAME and PARENT_SERVICE_TAG in the pxe_mapping_file to ensure accurate PXE provisioning.
Prerequisites¶
- OpenManage Enterprise is installed and accessible.
- All target servers have iDRAC configured with network connectivity.
- OME has discovered the devices (servers are visible in OME inventory).
- You have administrative access to OME.
- Servers have the correct NIC order and configuration. Verify NIC ordering in the server BIOS or iDRAC settings before discovery. Omnia uses the following NIC selection logic:
- Admin NIC: Priority 1: First NIC that is active/UP. Priority 2: Second NIC if UP. Priority 3: First NIC regardless of link state (fallback).
- InfiniBand NIC: If detected, IB NIC Name is captured and
IB_IPis assigned. If absent, IB fields are left empty.
- For a deployment with N Scalable Units, ensure one dedicated
service_kube_nodeper Scalable Unit. -
iDRAC hostnames must follow the Omnia naming convention:
Exampleidrac-<SU><1-100>R<000-999>OU<1-54><Type><Instance>- SU -- Scalable Unit number (
SU1throughSU100, case-insensitive) - R -- Rack number within the SU (
R1throughR999) - OU -- ORv3 (Open Rack v3) Unit position (
OU1throughOU54) - C -- Compute Node number (
C1throughC99)
Example breakdownSU02 R1 OU05 C7 │ │ │ │ │ │ │ └── Compute Node number │ │ └───────── ORv3 Unit position in the rack │ └─────────────── Rack number within the Scalable Unit └────────────────────── Scalable Unit number - SU -- Scalable Unit number (
Warning
If the iDRAC hostname is not set correctly using this convention before discovery, Omnia generates incorrect PXE mapping information. Accurate, consistent naming is mandatory.
Next Steps¶
- Configure Inputs -- Configure software and cluster input files.
- Configure Credentials -- Set up encrypted provisioning credentials.
- Discover Nodes -- Run the discovery playbook using this mapping file.
Related References
- Discover Nodes -- Run the discovery playbook.
- Provision Config -- Configure
pxe_mapping_file_pathand other provisioning parameters.