Input Parameters for Local Repositories
The local_repo.yml playbook is dependent on the inputs provided to the following input files:
/opt/omnia/input/project_default/software_config.json/opt/omnia/input/project_default/local_repo_config.yml/opt/omnia/input/project_default/additional_packages.json
/opt/omnia/input/project_default/software_config.json
Based on the inputs provided to the /opt/omnia/input/project_default/software_config.json, the software packages/images are accessed from the Pulp container and the desired software stack is deployed on the cluster nodes.
Note
To download a software with both x86_64 and aarch64 architectures, the arch key input is mandatory. Ensure that you check if the .json files for all the specified architectures are available in the input or configuration file. Else, update the .json files.
For additional_software support, update the input/config/{arch}/rhel/10.0/additional_packages.json file with the required {arch} data, where {arch} can either be x86_64 or aarch64, or a combination of both.
Parameter |
Mandatory/Optional |
Details |
|---|---|---|
cluster_os_type |
Mandatory |
|
cluster_os_version |
Mandatory |
|
repo_config |
Mandatory |
Note The following packages will always be downloaded from the local Pulp repository, regardless of the value of
|
softwares |
Mandatory |
Note The accepted names for software are taken from |
slurm_custom |
Mandatory |
Specify the functional roles of the Slurm nodes, login and login compiler on which basic software packages must be deployed. |
service_k8s |
Mandatory |
Specify the functional roles of the Service Kubernetes Cluster nodes on which basic software packages must be deployed. |
additional_packages |
Optional |
Specify the functional roles of the cluster nodes on which additional software packages must be deployed. |
The following is the sample software_config.json file:
{
"cluster_os_type": "rhel",
"cluster_os_version": "10.0",
"repo_config": "always",
"softwares": [
{"name": "default_packages", "arch": ["x86_64","aarch64"]},
{"name": "admin_debug_packages", "arch": ["x86_64","aarch64"]},
{"name": "openldap", "arch": ["x86_64"]},
{"name": "nfs", "arch": ["x86_64","aarch64"]},
{"name": "service_k8s","version": "1.31.4", "arch": ["x86_64"]},
{"name": "slurm_custom", "arch": ["x86_64","aarch64"]},
{"name": "additional_packages", "arch": ["x86_64","aarch64"]}
],
"slurm_custom": [
{"name": "slurm_control_node"},
{"name": "slurm_node"},
{"name": "login_node"},
{"name": "login_compiler_node"}
],
"service_k8s": [
{"name": "service_kube_control_plane_first"},
{"name": "service_kube_control_plane"},
{"name": "service_kube_node"}
]
"additional_packages": [
{"name": "slurm_control_node"},
{"name": "slurm_node"},
{"name": "login_node"},
{"name": "login_compiler_node"},
{"name": "service_kube_control_plane_first"},
{"name": "service_kube_control_plane"},
{"name": "service_kube_node"}
]
}
For a list of packages included in admin_debug_packages, see Default Admin Debug Packages.
To deploy additional software packages on the cluster nodes, update the additional_packages.json available at /opt/omnia/input/project_default/. For detailed steps on how to deploy additional packages, see Deploy Additional Packages.
Parameter |
Details |
Supported Package Type |
|---|---|---|
additional_packages |
|
|
service_kube_control_plane |
|
|
service_kube_control_plane_first |
|
|
service_kube_node |
|
|
slurm_control_node |
|
|
slurm_node |
|
|
login_node |
|
|
login_compiler_node |
|
|
The following is the sample additional_packages.json file:
{
"additional_packages": {
"cluster": [
{ "package": "fuse-overlayfs", "type": "rpm", "repo_name": "x86_64_appstream" },
{ "package": "python3-PyMySQL", "type": "rpm", "repo_name": "x86_64_appstream" },
{ "package": "sssd", "type": "rpm", "repo_name": "x86_64_baseos" },
{ "package": "oddjob-mkhomedir", "type": "rpm", "repo_name": "x86_64_appstream" },
{ "package": "quay.io/strimzi/kafka-bridge", "type": "image", "tag": "0.33.1" },
{ "package": "registry.k8s.io/pause", "type": "image", "digest": "sha256:7031c1b283388c2c47cc389c74e7a6a1f91e3c23f7f9c2d9e25f7c8b1a2d3e4f" }
]
},
"service_kube_control_plane": {
"cluster": [
{ "package": "git", "type": "rpm", "repo_name": "x86_64_appstream" },
{ "package": "docker.io/curlimages/curl", "type": "image", "tag": "8.17.0" },
{ "package": "docker.io/mohr/activemq", "type": "image", "tag": "5.15.9" }
]
},
"service_kube_control_plane_first": {
"cluster": [
{ "package": "kernel-devel", "type": "rpm", "repo_name": "x86_64_appstream" },
{ "package": "kernel-headers", "type": "rpm", "repo_name": "x86_64_appstream" }
]
}
}
Software name |
x86_64 |
aarch64 |
|---|---|---|
default_packages.json |
Yes |
Yes |
openldap.json |
Yes |
No |
nfs.json |
Yes |
Yes |
slurm_custom.json |
Yes |
Yes |
service_k8s.json |
Yes |
No |
ucx.json |
Yes |
No |
openmpi |
Yes |
No |
additional_packages.json |
Yes |
Yes |
admin_debug_packages.json |
Yes |
Yes |
Note
For a list of accepted
softwares, go to the/opt/omnia/input/project_default/config/<cluster_os_type>/<cluster_os_version>and view the list of JSON files available. The filenames present in this location are the list of accepted softwares. For a cluster running RHEL 10.0, go to/opt/omnia/input/project_default/config/<architecture>/rhel/10.0/and view the file list for accepted softwares.Omnia supports a single version of any software packages in the
software_config.jsonfile. Ensure that multiple versions of the same package are not mentioned.
/opt/omnia/input/project_default/local_repo_config.yml
Parameter |
Mandatory/Optional |
Details |
|---|---|---|
user_registry |
Optional |
Note User registry certificates and private keys specified in |
user_repo_url_x86_64 |
Optional |
Note All SSL related certificates must be kept in |
user_repo_url_aarch64 |
Optional |
Note All SSL related certificates must be kept in |
rhel_os_url_x86_64 |
Mandatory |
Note All SSL related certificates must be kept in |
rhel_os_url_aarch64 |
Mandatory |
Note All SSL related certificates must be kept in |
omnia_repo_url_rhel_x86_64 |
Mandatory |
Note
|
omnia_repo_url_rhel_aarch64 |
Mandatory |
Note
|
additional_repos_x86_64 |
Optional |
Example: yaml additional_repos_x86_64:
|
additional_repos_aarch64 |
Optional |
Example: yaml additional_repos_aarch64:
|
Note
For systems with RedHat subscription, subscription URLs override
rhel_os_urlsand are processed automatically by thelocal_repo.ymlplaybook.
If you have any feedback about Omnia documentation, please reach out at omnia.readme@dell.com.