BMC

For automatic provisioning of servers and discovery, the BMC method can be used.

Pre requisites

  • The control plane NIC connected to remote servers (through the switch) should be configured with two IPs in a shared LOM set up. This NIC is configured by Omnia with the IP xx.yy.255.254, aa.bb.255.254 (where xx.yy are taken from bmc_nic_subnet and aa.bb are taken from admin_nic_subnet) when discovery_mechanism is set to bmc.

../../../_images/ControlPlaneNic.png
  • IP ranges (bmc_static_start_range, bmc_static_start_range) provided to Omnia for BMC discovery should be within the same subnet.

Note

To create a meaningful range of discovery, ensure that the last two octets of bmc_static_end_range are equal to or greater than the last two octets of the bmc_static_start_range. That is, for the range a.b.c.d - a.b.e.f, e and f should be greater than or equal to c and d. Ex: 172.20.0.50 - 172.20.1.101 is a valid range however, 172.20.0.101 - 172.20.1.50 is not.

  • All iDRACs should be reachable from the admin_nic.

Note

When iDRACs are in DHCP mode*
  • The IP range x.y.246.1 - x.y.255.253 (where x and y are provided by the first two octets of bmc_nic_subnet) are reserved by Omnia.

  • x.y.246.1 - x.y.250.253 will be the range of IPs reserved for dynamic assignment by Omnia.

  • During provisioning, Omnia updates servers to static mode and assigns IPs from x.y.251.1 - x.y.255.253.

  • Users can see the IPs (that have been assigned from x.y.251.1 - x.y.255.253) in the DB after provisioning the servers.

  • For example:

    If the provided bmc_subnet is 10.3.0.0 and there are two iDRACs in DHCP mode, the IPs assigned will be 10.3.251.1 and 10.3.251.2.

The following parameters need to be populated in input/provision_config.yml to discover target nodes using BMC.

Name

Default, Accepted Values

Required?

Additional Information

public_nic

eno2

required

The NIC/ethernet card that is connected to the public internet.

admin_nic

eno1

required

The NIC/ethernet card that is used for shared LAN over Management (LOM) capability.

admin_nic_subnet

10.5.0.0

required

The intended subnet for shared LOM capability. Note that since the last 16 bits/2 octets of IPv4 are dynamic, please ensure that the parameter value is set to x.x.0.0.

pxe_nic

eno1

required

This NIC used to obtain routing information.

discovery_mechanism

mapping, bmc, snmp

required

Indicates the mechanism through which omnia will discover nodes for provisioning. mapping indicates that the user has provided a valid mapping file path with details regarding MAC ID of the NIC, IP address and hostname. bmc indicates the servers in the cluster will be discovered by Omnia using BMC. The requirement in this case is user should enable IPMI over LAN in iDRAC settings if the iDRACs are in static mode. snmp indicates Omnia will discover the nodes based on the switch IP (to which the cluster servers are connected) provided. SNMP should be enabled on the switch.

bmc_nic_subnet

10.3.0.0

optional

If provided, Omnia will assign static IPs to IB NICs on the compute nodes within the provided subnet. Note that since the last 16 bits/2 octets of IPv4 are dynamic, please ensure that the parameter value is set to x.x.0.0. When the PXE range and BMC subnet are provided, corresponding NICs will be assigned IPs with the same 3rd and 4th octets.

bmc_static_start_range

optional

The start of the IP range for iDRACs in static mode. Ex: 172.20.0.50 - 172.20.1.101 is a valid range however, 172.20.0.101 - 172.20.1.50 is not.

bmc_static_end_range

optional

The end of the IP range for iDRACs in static mode. Note: To create a meaningful range of discovery, ensure that the last two octets of bmc_static_end_range are equal to or greater than the last two octets of the bmc_static_start_range. That is, for the range a.b.c.d - a.b.e.f, e and f should be greater than or equal to c and d.

bmc_username

optional

The username for iDRAC. The username must not contain -,, ‘,”. Required only if iDRAC_support: true and the discovery mechanism is BMC.

bmc_password

optional

The password for iDRAC. The username must not contain -,, ‘,”. Required only if iDRAC_support: true and the discovery mechanism is BMC.

pxe_subnet

10.5.0.0

optional

The pxe subnet details should be provided. This is required only when discovery mechanism is BMC. For mapping and snmp based discovery provide the pxe_nic_start_range and pxe_nic_end_range.

ib_nic_subnet

optional

Infiniband IP range used to assign IPv4 addresses. When the PXE range and BMC subnet are provided, corresponding NICs will be assigned IPs with the same 3rd and 4th octets.

node_name

node

required

The intended node name for nodes in the cluster.

domain_name

required

DNS domain name to be set for iDRAC.

provision_os

rocky, rhel

required

The operating system image that will be used for provisioning compute nodes in the cluster.

provision_os_version

8.6, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5, 8.7

required

OS version of provision_os to be installed

iso_file_path

/home/RHEL-8.6.0-20220420.3-x86_64-dvd1.iso

required

The path where the user places the ISO image that needs to be provisioned in target nodes. The iso file should be Rocky8-DVD or RHEL-8.x-DVD. iso_file_path should contain provision_os and provision_os_version values in filename.

timezone

GMT

required

The timezone that will be set during provisioning of OS. Available timezones are provided in provision/roles/xcat/files/timezone.txt.

language

en-US

required

The language that will be set during provisioning of the OS

default_lease_time

86400

required

Default lease time in seconds that will be used by DHCP.

provision_password

required

Password used while deploying OS on bare metal servers. The Length of the password should be at least 8 characters. The password must not contain -,, ‘,”.

postgresdb_password

required

Password used to authenticate into the PostGresDB used by xCAT. Only alphanumeric characters (no special characters) are accepted.

primary_dns

optional

The primary DNS host IP queried to provide Internet access to Compute Node (through DHCP routing)

secondary_dns

optional

The secondary DNS host IP queried to provide Internet access to Compute Node (through DHCP routing)

disk_partition

  • { mount_point: “”, desired_capacity: “” }

optional

User defined disk partition applied to remote servers. The disk partition desired_capacity has to be provided in MB. Valid mount_point values accepted for disk partition are /home, /var, /tmp, /usr, swap. Default partition size provided for /boot is 1024MB, /boot/efi is 256MB and the remaining space to / partition. Values are accepted in the form of JSON list such as: , - { mount_point: “/home”, desired_capacity: “102400” }

mlnx_ofed_path

optional

Absolute path to a local copy of the .iso file containing Mellanox OFED packages. The image can be downloaded from https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/. Sample value: /root/MLNX_OFED_LINUX-5.8-1.1.2.1-rhel8.6-x86_64.iso

cuda_toolkit_path

optional

Absolute path to local copy of .rpm file containing CUDA packages. The cuda rpm can be downloaded from https://developer.nvidia.com/cuda-downloads. CUDA will be installed post provisioning without any user intervention. Eg: cuda_toolkit_path: “/root/cuda-repo-rhel8-12-0-local-12.0.0_525.60.13-1.x86_64.rpm”

Warning

The IP address 192.168.25.x is used for PowerVault Storage communications. Therefore, do not use this IP address for other configurations.

To continue to the next steps: