mapping

Manually collect PXE NIC information for target servers and manually define them to Omnia using a mapping file using the below format:

pxe_mapping_file.csv

MAC,Hostname,IP

xx:yy:zz:aa:bb:cc,server,10.5.0.101

aa:bb:cc:dd:ee:ff,server2, 10.5.0.102

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

Parameters

Parameter

Details

network_interface_type

string

Required

The network type used on the Omnia cluster.

Choices:

  • lom <- default

  • dedicated

discovery_mechanism

string

Required

The mechanism through which Omnia will discover nodes for provisioning. For more information on how the mechanisms work, go to DiscoveryMechanisms.

Choices:

  • switch_based <-default

  • mapping

  • bmc

  • snmpwalk

provision_os

string

Required

The operating system to be provisioned on target nodes in the cluster.

Choices:

  • rhel <-default

  • rocky

provision_os_version

string

Required

OS version of provision_os to be installed.

Choices:

  • 8.0

  • 8.1

  • 8.2

  • 8.3

  • 8.4

  • 8.5

  • 8.6 <- default

  • 8.7

iso_file_path

string

Required

Path where user has placed the iso image that needs to be provisioned on target nodes. Accepted files are Rocky8-DVD or RHEL-8.x-DVD (full OS). iso_file_path should contain the provision_os and provision_os_version values in the filename.

Default values: "/home/RHEL-8.6.0-20220420.3-x86_64-dvd1.iso"

timezone

string

Required

Timezone to be used during OS provisioning. Available timezones are provided here.

Choices:

  • GMT <- default

  • EST

  • CET

  • MST

  • CST6CDT

  • PST8PDT

language

string

Required

Language to be used during OS provisioning.

Default values: en-US

default_lease_time

integer

Required

Default lease time for IPs assigned by DHCP. Range: 21600-86400

Default values: 86400

provision_password

string

Required

  • Password set for the root account of target nodes during provisioning.

  • Length >= 8 characters

  • Password must not contain -,, ‘,”

postgresdb_password

string

Required

  • Password set for the postgresDB on target nodes during provisioning.

  • Length >= 8 characters

  • Password must not contain -,, ‘,”

node_name

string

Required

  • Prefix for target node names, if dynamically allocated.

  • Hostname = node_name + ‘0000x’ + domain_name

  • Hostname <= 65 characters

  • Example: servernode00001.Omnia.test , where node_name =servernode, domain_name =Omnia.test , 00001 used by Omnia.

Default values: node

domain_name

string

Required

  • Domain name the user intends to configure on the cluster.

  • Hostname = node_name + ‘0000x’ + domain_name

  • Hostname <= 65 characters

  • Please provide a valid domain name according to the domain name standards.

  • Example: servernode00001.Omnia.test , where node_name=servernode, domain_name=Omnia.test , 00001 used by Omnia.

public_nic

string

Required

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

Default values: eno2

admin_nic

string

Required

Admin NIC of Control Plane. This is the shared LOM NIC.

Default values: eno1

admin_nic_subnet

string

Required

The subnet within which all Admin IPs are assigned.

Default values: 10.5.0.0

pxe_mapping_file_path

string

Required

  • The mapping file consists of the MAC address and its respective IP address and hostname.

  • If static IPs are required, create a csv file in the format MAC,Hostname,IP.

  • A sample file is provided here: examples/pxe_mapping_file.csv.

  • If not provided, ensure that pxe_switch_ip is provided.

ib_nic_subnet

string

Optional

  • If provided, Omnia will handle and assign static IPs to compute node’s IB network.

  • Only the last 16 bits/2 octets of IPv4 are dynamic

  • If provided, the DB entry will be in parallel with the pxe_subnet.

  • Example: If admin_ip: 10.5.0.50 and ib_nic_subnet: 10.10.0.0, then ib_ip: 10.10.0.50

bmc_nic_subnet

string

Required

  • If provided, Omnia will assign static IPs to IB NICs on the compute nodes within the provided subnet.

  • If network_interface_type: lom, mandatory for discovery_mechanism: mapping, switch_based and bmc.

  • If network_interface_type: dedicated, optional for discovery_mechanism: mapping, switch_based.

  • 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.

update_repos

boolean

Required

  • Indicates whether provision.yml will update offline RHEL repos (applicable from the second run of provision.yml)

  • In the first execution of provision.yml, Omnia updates the BaseOS, Appstream and CRB repos.

  • If update_repos: false, none of the repos required for compute nodes will be updated provided the repos are already available.

  • If update_repos: true, BaseOS, Appstream and CRB repos created for compute nodes will be updated

Choices:

false <- Default

true

rhel_repo_alphabetical_folders boolean

Required

  • Indicates whether the packages in local or subscription repos should be ordered in alphabetical directories.

  • This variable should be filled if control plane OS is RHEL and local RHEL repository is available.

Choices:

false <- Default

true

rhel_repo_local_path

JSON list

Optional

  • The repo path and names of the software repository to be configured on the compute nodes.

  • Provide the repo data file path, which ends with .repo extension in repo_url parameter.

  • Provide the url for BaseOS, Appstream and CRB repositories.

  • This variable should be filled if control plane OS is RHEL and subscription is not activated.

  • This variable should be filled if the control plane OS is Rocky and the provision_os is rhel.

Default value:

  • { repo: “AppStream”, repo_url: “”, repo_name: “” }

  • { repo: “BaseOS”, repo_url: “”, repo_name: “” }

  • { repo: “CRB”, repo_url: “”, repo_name: “” }

primary_dns

string

Optional

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

  • Currently, the primary_dns value stored in input/provision_config.yml cannot be part of any of the subnets (admin_nic_subnet, ib_nic_subnet and bmc_nic_subnet) also defined in input/provision_config.yml.

Ex: If the primary_dns is set to 10.15.0.7, the subnet 10.15.0.0 cannot be used for admin_nic_subnet, ib_nic_subnet or bmc_nic_subnet.

secondary_dns

string

Optional

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

disk_partition

JSON list

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” }

Default values: - { mount_point: "", desired_capacity: "" }

mlnx_ofed_path

string

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

string

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.

Note

The input/provision_config.yml file is encrypted on the first run of the provision tool:

To view the encrypted parameters:

ansible-vault view provision_config.yml --vault-password-file .provision_vault_key

To edit the encrypted parameters:

ansible-vault edit provision_config.yml --vault-password-file .provision_vault_key

To continue to the next steps:

If you have any feedback about Omnia documentation, please reach out at omnia.readme@dell.com.