Deploy omnia_core¶
Install the omnia_core Podman container on your Omnia Infrastructure Manager
(OIM). The omnia_core container encapsulates the Ansible toolchain and all
Omnia playbooks, providing a reproducible and isolated control plane for cluster
management.
Overview¶
The omnia_core deployment process consists of three stages:
- Clone the Omnia Containers repository from Dell's GitHub repository.
- Build the container images using the
build_images.shscript. - Download the
omnia.shscript and install theomnia_corecontainer.
Once installed, omnia_core runs as a Podman container that starts automatically on boot.
Prerequisites¶
| Requirement | Details |
|---|---|
| Operating system | RHEL 10.0 on the OIM |
| RAM | Minimum 64 GB (128 GB recommended for clusters > 100 nodes) |
| Disk | Minimum 256 GB free (SSD recommended) |
| Network interfaces | At least 2 NICs: one for the admin network, one for the BMC/iDRAC network |
| Podman | Podman 4.x or later installed (dnf install -y podman) |
| Internet access | Required to clone the repository and pull base container images |
| Git | Git 2.x or later (dnf install -y git) |
Note
Ensure that SELinux is set to permissive or enforcing with the
appropriate container policies. Disabling SELinux is not recommended in
production environments.
Procedure¶
-
Clone the Omnia Containers repository and build the container image:
Run on: OIM hostgit clone https://github.com/dell/omnia-containers.git -b omnia-container-v2.2.0.0 cd omnia-containers ./build_images.sh core omnia_branch=v2.2.0.0 core_tag=2.2This builds the
omnia_corecontainer image locally. The build process takes approximately 10-15 minutes depending on network speed and hardware. -
Download the
omnia.shscript:Run on: OIM hostwget https://raw.githubusercontent.com/dell/omnia/refs/tags/v2.2.0.0/omnia.sh chmod +x omnia.sh -
Install the omnia_core container:
Run on: OIM host./omnia.sh --installThis script:
- Creates the
omnia_corePodman container. - Registers it as a systemd service (
omnia_core.service). - Mounts the necessary volumes for configuration and playbook storage.
- Starts the container and automatically ssh into the omnia_core.
Caution
The password must not contain special characters such as
, |, &, ;, \, <>, *, ?, !, $, (), {}, []`. - Creates the
-
Access the omnia_core container:
Run on: OIM hostssh omnia_coreYou will be automatically logged in to the omnia_core container.
Warning
Do not delete any key pairs generated by Omnia from
/root/.ssh-- this causesomnia_core.serviceexecution failure. Do not manually delete files from the Omnia shared directory. Use./omnia.sh --uninstallto safely remove.
Verification¶
-
Verify the omnia_core container is running:
Run on: OIM hostpodman ps --filter name=omnia_core --format "table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}"Expected output:
Expected outputNAMES IMAGE STATUS PORTS omnia_core localhost/omnia_core:2.2 Up 1 day 2222/tcp -
Enter the omnia_core container and verify Ansible is available:
Run on: OIM hostssh omnia_coreRun on: omnia_core containeransible --version -
Verify omnia source is available:
Run on: omnia_core containerls /omniaYou should see the omnia source code directory.
-
Verify input directory exists:
Run on: omnia_core containerls /opt/omnia/input/project_default/
Next Steps¶
- Create Mapping File -- Create the PXE mapping file for node discovery.
- Configure Inputs -- Configure Omnia input files.
- Configure Credentials -- Set up encrypted credentials.
Troubleshooting¶
Container fails to start Check the Podman logs for detailed error output:
podman logs omnia_core
systemd service not found Re-run the installation script:
bash omnia.sh --install
Build fails with network errors Ensure the OIM has internet access and DNS is configured correctly:
ping -c 3 github.com
cat /etc/resolv.conf
Podman not installed Install Podman from the default OS repositories:
dnf install -y podman
systemctl enable --now podman.socket
Insufficient disk space Check available disk space. At least 256 GB is required:
df -h /opt