Input parameters for the cluster

These parameters are located in input/omnia_config.yml, input/security_config.yml, input/telemetry_config.yml and [optional] input/storage_config.yml.

Caution

Do not remove or comment any lines in the input/omnia_config.yml, input/security_config.yml and [optional] input/storage_config.yml file.

omnia_config.yml

Parameters for kubernetes setup

Variables

Details

mariadb_password

string

Required

  • Password used for Slurm database.

  • The Length of the password should be at least 8.

  • The password must not contain -,, ‘,”

  • Default value: “password”

k8s_cni

string

Required

  • Kubernetes SDN network.

  • Required when scheduler_type: "k8s"

    Choices:

    • "calico" <- default

    • "flannel"

pod_external_ip_range

string

Required

  • These addresses will be used by Loadbalancer for assigning External IPs to K8s services

  • Make sure the IP range is not assigned to any node in the cluster.

  • Sample values: “10.11.0.100-10.11.0.150” , “10.11.0.0/16”

ansible_config_file_path

string

Required

  • Path to directory hosting ansible config file (ansible.cfg file)

  • This directory is on the host running ansible, if ansible is installed using dnf

  • If ansible is installed using pip, this path should be set

  • Default value: /etc/ansible

slurm_installation_type

string

Optional

  • Indicates whether the slurm installation will support configless or nfs mode.

    Choices:

    • nfs_share <- default

    • configless

k8s_service_addresses

string

Optional

  • Kubernetes internal network for services.

  • This network must be unused in your network infrastructure.

  • Default value: “10.233.0.0/18”

k8s_pod_network_cidr

string

Optional

  • Kubernetes pod network CIDR for internal network. When used, it will assign IP addresses from this range to individual pods.

  • This network must be unused in your network infrastructure.

  • Default value: “10.233.64.0/18”

Parameters for slurm setup

Variables

Details

mariadb_password

string

Required

  • Password used for Slurm database.

  • The Length of the password should be at least 8.

  • The password must not contain -,, ‘,”

  • Default value: “password”

ansible_config_file_path

string

Required

  • Path to directory hosting ansible config file (ansible.cfg file)

  • This directory is on the host running ansible, if ansible is installed using dnf

  • If ansible is installed using pip, this path should be set

  • Default value: /etc/ansible

slurm_installation_type

string

Optional

  • Indicates whether the slurm installation will support configless or nfs mode

    Choices:

    • nfs_share <- default

    • configless

restart_slurm_services

boolean

Optional

  • Indicates whether slurm services should be restarted.

  • Choices

* true <- Default

* false

security_config.yml

Parameters for Authentication

Parameter

Details

domain_name

string Required

  • Sets the intended domain name.

  • If dc=omnia,dc=test, Provide omnia.test

  • If dc=dell,dc=omnia,dc=com Provide dell.omnia.com

    Default values: omnia.test

Parameters for OpenLDAP configuration

Parameter

Details

ldap_connection_type

string Required

For a TLS connection, provide a valid certification path. For an SSL connection, ensure port 636 is open.

Choices:

  • TLS <- Default

  • SSL

tls_ca_certificate

string Optional

File path pointing to the Certificate Authority (CA) issued certificate path. Certificate files should be saved with a .pem or .crt extension. If not provided, a self-signed certificate is generated by Omnia.

tls_certificate

string Optional

File path pointing to the certificate used to authorize the LDAP server. Certificate files should be saved with a .pem or .crt extension.

tls_certificate_key

string Optional

The private key that matches the LDAP certificate.

openldap_db_username

string Required

The username used to manage the LDAP database.

Default value: "admin"

openldap_db_password

string Required

The password used to configure and manage the LDAP database. Ensure that this value is 8 characters long.

openldap_config_username

string Required

The username used to configure the LDAP database.

Default value: "admin"

openldap_config_password

string Required

The password used to configure the LDAP database. Ensure that this value is 8 characters long.

openldap_monitor_password

string Required

The password used to monitor the LDAP database. Ensure that this value is 8 characters long.

openldap_organization

string Required

LDAP server is configured using organizations. They are necessary for user creation and group mapping.

Default value: "omnia"

openldap_organizationational_unit

string Required

LDAP server is configured using organizations. They are necessary for user creation and group mapping.

Default value: "People"

Parameters for FreeIPA configuration

Parameter

Details

realm_name

string Required

  • Sets the intended kerberos realm name.

  • It is required for FreeIPA setups.

  • A realm name is often, but not always the upper case version of the name of the DNS domain over which it presides.

  • Default value: "OMNIA.TEST"

directory_manager_password

string Required

  • The directory server operations require an administrative user. This user is referred to as the Directory Manager and has full access to the Directory for system management tasks and will be added to the instance of directory server created for IPA.

  • The password must be at least 8 characters long.

  • The password must not contain -,, ‘,”

kerberos_admin_password

string Required

  • kerberos_admin_password used by IPA admin user. The IPA server requires an administrative user, named ‘admin’.

  • The password must be at least 8 characters long.

  • The password must not contain -,, ‘,”

storage_config.yml

Parameters for Storage

Variables

Details

nfs_client_params

JSON List

Required

  • This JSON list contains all parameters required to set up NFS.

  • For a bolt-on set up where there is a pre-existing NFS export, set nfs_server to false.

  • When nfs_server is set to true, an NFS share is created on the control plane for access by all cluster nodes.

  • For more information on the different kinds of configuration available, click here.

beegfs_rdma_support

boolean Optional

This variable is used if user has RDMA-capable network hardware (e.g., InfiniBand)

Choices:

  • false <- Default

  • true

beegfs_ofed_kernel_modules_path

string Optional

  • The path where separate OFED kernel modules are installed.

  • Ensure that the path provided here exists on all target nodes.

    Default value: "/usr/src/ofa_kernel/default/include"

beegfs_mgmt_server

string Required

BeeGFS management server IP.

Note

The provided IP should have an explicit BeeGFS management server running .

beegfs_mounts

string Optional

Beegfs-client file system mount location. If storage_yml is being used to change the BeeGFS mounts location, set beegfs_unmount_client to true.

Default value: “/mnt/beegfs”

beegfs_unmount_client

boolean Optional

Changing this value to true will unmount running instance of BeeGFS client and should only be used when decommisioning BeeGFS, changing the mount location or changing the BeeGFS version.

Choices:

  • false <- Default

  • true

beegfs_version_change

boolean Optional

Use this variable to change the BeeGFS version on the target nodes.

Choices:

  • false <- Default

  • true

ansible_config_file_path

string

Required

  • Path to directory hosting ansible config file (ansible.cfg file)

  • This directory is on the host running ansible, if ansible is installed using dnf

  • If ansible is installed using pip, this path should be set

    Default values: /etc/ansible

beegfs_secret_storage_filepath

string Required

  • The filepath (including the filename) where the connauthfile is placed.

  • Required for Beegfs version >= 7.2.7

    Default values: /home/connauthfile

telemetry_config.yml

Parameters

Parameter

Details

idrac_telemetry_support

boolean [1]

Required

  • Enables iDRAC telemetry support and visualizations.

  • Values:

* false <- Default

* true

Note

When idrac_telemetry_support is true, mysqldb_user, mysqldb_password and mysqldb_root_password become mandatory.

omnia_telemetry_support

boolean [1]

Required

  • Starts or stops Omnia telemetry

  • If omnia_telemetry_support is true, then at least one of collect_regular_metrics or collect_health_check_metrics or collect_gpu_metrics should be true, to collect metrics.

  • If omnia_telemetry_support is false, telemetry acquisition will be stopped.

  • Values:

* false <- Default

* true

visualization_support

boolean [1]

Required

  • Enables visualizations.

  • Values:

* false <- Default

* true

Note

When visualization_support is true, grafana_username and grafana_password become mandatory.

appliance_k8s_pod_net_cidr

string

Required

  • Kubernetes pod network CIDR for appliance k8s network.

  • Make sure this value does not overlap with any of the host networks.

  • Default value: "192.168.0.0/16"

pod_external_ip_start_range

string

Required

  • The start of the range that will be used by Loadbalancer for assigning IPs to K8s services in admin NIC subnet configured on the control plane.

  • The first and second octets (x,y) are not used/validated by Omnia. These values are internally calculated based on the value of admin_nic_subnet in input/provision_config.yml.

  • If pod_external_ip_start_range: “x.y.240.100” and pod_external_ip_end_range: “x.y.240.105” and

  • If admin_nic_subnet provided in provision_config.yml is 10.5.0.0, pod_external_ip_start_range will be 10.5.240.100 and pod_external_ip_end_range will be 10.5.240.105

Note

Make sure the IP range is not assigned to any node in the cluster.

  • Default value: "x.y.240.100"

pod_external_ip_end_range

string

Required

  • The end of the range that will be used by Loadbalancer for assigning IPs to K8s services in admin NIC subnet configured on the control plane.

  • The first and second octets (x,y) are not used/validated by Omnia. These values are internally calculated based on the value of admin_nic_subnet in input/provision_config.yml.

  • To create a meaningful range, the third octet of pod_external_ip_end_range should equal or exceed the third octet of pod_external_ip_start_range. If the third octets are equal, the forth octet of pod_external_ip_end_range should exceed the forth octet of pod_external_ip_start_range.

  • If pod_external_ip_start_range: “x.y.240.100” and pod_external_ip_end_range: “x.y.240.105” and

  • If admin_nic_subnet provided in provision_config.yml is 10.5.0.0, pod_external_ip_start_range will be 10.5.240.100 and pod_external_ip_end_range will be 10.5.240.105

Note

Make sure the IP range is not assigned to any node in the cluster.

  • Default value: "x.y.240.105"

timescaledb_user

string

Required

  • Username used to access timescaleDB.

  • The username must not contain -,, ‘,”.

  • The Length of the username should be at least 2 characters.

timescaledb_password

string

Required

  • Password used to used to access timescaleDB.

  • The password must not contain -,, ‘,”.

  • The length of the password should be at least 2 characters.

  • The first character of the string should be an alphabet.

idrac_username

string

Optional

  • Username used to authenticate to iDRAC.

  • The username must not contain -,, ‘,”.

  • Required if idrac_telemetry_support is true.

idrac_password

string

Optional

  • Password used to authenticate to iDRAC.

  • The password must not contain -,, ‘,”.

  • Required if idrac_telemetry_support is true.

  • The first character of the string should be an alphabet.

mysqldb_user

string

Optional

  • Username used to authenticate to mysqldb.

  • The username must not contain -,, ‘,”.

  • The length of the username should be at least 2 characters.

  • Required if idrac_telemetry_support is true.

mysqldb_password

string

Optional

  • Password used to authenticate to mysqldb.

  • The password must not contain -,, ‘,”.

  • The length of the password should be at least 2 characters.

  • Required if idrac_telemetry_support is true.

  • The first character of the string should be an alphabet.

mysqldb_root_password

string

Optional

  • Password used to authenticate to mysqldb as a root user.

  • The password must not contain -,, ‘,”.

  • The length of the password should be at least 2 characters.

  • Required if idrac_telemetry_support is true.

  • The first character of the string should be an alphabet.

omnia_telemetry_collection_interval

integer

Required

  • This variable denotes the time interval (seconds) of telemetry data collection from required compute nodes.

  • Range (seconds): 60-3600 [1 minute to 1 hour]

  • Default value: 300

collect_regular_metrics

boolean [1]

Required

  • This variable is used to enable metric collection part of the regular metric group.

  • For a list of regular metrics collected, click here.

  • Values:

* true <- Default

* false

collect_health_check_metrics

boolean [1]

Required

  • This variable is used to enable metric collection part of the health check metric group.

  • For a list of health metrics collected, click here.

  • Values:

* true <- Default

* false

collect_gpu_metrics

boolean [1]

Required

  • This variable is used to enable metric collection related to GPU.

  • For a list of GPU metrics collected, click here.

  • Values:

* true <- Default

* false

fuzzy_offset

integer

Required

  • This variable is used to set an appropriate time interval in seconds for all cluster nodes so that they do not congest the admin network.

  • Individual nodes generate a random number between 0 and fuzzy_offset and telemetry data collection of that node initially waits for that much of second before starting data collection.

  • Default value (seconds): 60

  • For large clusters, a higher value is recommended.

  • This value should be less than or equal to the value of omnia_telemetry_collection_interval but greater than or equal to 60.

metric_collection_timeout

integer

Required

  • This variable is used to define data collection timeout period in seconds.

  • Default value: 5

  • This value should be less than the value of omnia_telemetry_collection_interval but greater than 0.

grafana_username

string

Optional

  • The username for grafana UI

  • The length of username should be at least 5

  • The username must not contain -,, ‘,”

  • Mandatory when visualization_support is true.

grafana_password

string

Optional

  • The password for grafana UI

  • The length of password should be at least 5

  • The password must not contain -,, ‘,”

  • The password cannot be set to ‘admin’.

  • The first character of the string should be an alphabet.

  • Mandatory when visualization_support is true.

mount_location

string

Optional

  • At this location grafana persistent volume will be created.

  • If using telemetry, all telemetry related files will also be stored and both timescale and mysql databases will be mounted to this location.

  • ‘/’ is mandatory at the end of the path.

  • Default value: “/opt/omnia/telemetry/”

Click here for more information on OpenLDAP, FreeIPA, Telemetry, BeeGFS or, NFS.

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