Step 5: Prepare the OIM
The prepare_oim.yml playbook is used to prepare the Omnia Infrastructure Manager (OIM). The playbook performs the following on the OIM:
Sets up the OpenCHAMI containers.
Sets up the BuildStreamM container if BuildStreaM is enabled in
/opt/omnia/input/project_default/build_stream_config.yml.Sets up the Omnia Auth container if
"name": "openldap", "arch": ["x86_64"]entry is present in/opt/omnia/input/project_default/software_config.json.Sets up the Pulp container:
pulp
Prerequisite
Ensure that the system time is synchronized across all compute nodes and the OIM. Time mismatch can lead to certificate-related issues during or after the prepare_oim.yml playbook execution.
Input files for the playbook
The prepare_oim.yml playbook is dependent on the inputs provided to the following input files:
network_spec.yml: This input file is located in the/opt/omnia/input/project_defaultfolder and contains the necessary configurations for the cluster network.provision_config.yml: This input file is located in the/opt/omnia/input/project_defaultfolder and contains the details about provisioning of clusters.build_stream_config.yml: This input file is located in the/opt/omnia/input/project_defaultfolder and contains the details about the BuildStreamM pipeline.
1. network_spec.yml
Add necessary inputs to the network_spec.yml file to configure the network on which the cluster will operate. Use the below table as reference while doing so:
Network Name |
Parameters for the network |
Parameter details |
|---|---|---|
Note This name cannot be modified. This is mandatory for discovery and provisioning of the cluster nodes. |
oim_nic_name
Mandatory |
The name of the NIC on which the administrative network is accessible to the OIM. Default value: |
netmask_bits
Mandatory |
The 32-bit “mask” used to divide an IP address into subnets and specify the network’s available hosts. Default value: |
|
primary_oim_admin_ip
Mandatory |
The admin IP address of the OIM server. Default value: |
|
primary_oim_bmc_ip
Conditional mandatory |
|
|
dynamic_range
Mandatory |
The dynamic range of IPs to be provisioned on target nodes. Default value: |
|
dns
Optional |
External DNS server IP addresses for the admin network. |
|
ib_network Note This network is used for the InfiniBand (IB) interface configuration. Provide the subnet and netmask only if IB configuration is desirable. |
Subnet
Mandatory |
The subnet address for the InfiniBand network. Default value: 192.168.0.0 |
netmask_bits
Mandatory |
|
Caution
All provided network ranges and NIC IP addresses should be distinct with no overlap.
All iDRACs must be reachable from the OIM.
A sample of the network_spec.yml where nodes are discovered using a mapping file is provided below:
Networks:
- admin_network:
oim_nic_name: "eno1"
netmask_bits: "24"
primary_oim_admin_ip: "172.16.107.67"
primary_oim_bmc_ip: ""
dynamic_range: "172.16.107.201-172.16.107.250"
dns: []
2. provision_config.yml
Add necessary inputs to the provision_config.yml file for the provisioning of the cluster. Use the below table as reference while doing so:
Parameter |
Details |
|---|---|
pxe_mapping_file_path
Optional |
|
timezone
Required |
Timezone to be used during OS provisioning. Available timezones are provided here. Choices:
|
language
Required |
Language to be used during OS provisioning. Default value: |
default_lease_time
Required |
Default lease time for IPs assigned by DHCP. Range: 21600-86400 Default value: |
3. build_stream_config.yml
Add necessary inputs to the build_stream_config.yml file for the BuildStreamMpipeline. Use the below table as reference while doing so:
Parameter |
Mandatory/Optional |
Description |
|---|---|---|
enable_build_stream |
Optional |
|
build_stream_port: 443 |
Optional |
|
postgres_db_name |
Optional |
Specify the PostgreSQL database name for BuildStreaM. |
Playbook Execution
After you have filled in the input files as mentioned above, execute the following commands to trigger the playbook:
ssh omnia_core
cd /omnia/prepare_oim
ansible-playbook prepare_oim.yml
Note
After prepare_oim.yml execution, ssh omnia_core may fail if you switch from a non-root to root user using sudo command. To avoid this, log in directly as a root user before executing the playbook or follow the steps mentioned here.
If you have any feedback about Omnia documentation, please reach out at omnia.readme@dell.com.