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 repository from Dell's artifact repository.
- Build the container images using the
build_images.shscript. - Install the
omnia_coreservice usingomnia.sh --install.
Once installed, omnia_core runs as a systemd-managed Podman container that
starts automatically on boot.
Prerequisites¶
| Requirement | Details |
|---|---|
| Operating system | RHEL 8.8+ / 9.2+ or Rocky Linux 8.x / 9.x 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¶
-
Log in to the OIM as
rootor a user withsudoprivileges:Run on: OIM hostssh root@<oim-ip-address> -
Clone the Omnia repository from Dell's artifact repository:
Run on: OIM hostcd /opt git clone https://github.com/dell/omnia.git cd omniaNote
To use a specific release, check out the corresponding tag:
Run on: OIM hostgit checkout v2.1.0.0 -
Build the container images using the provided build script:
Run on: OIM hostbash build_images.sh coreThis builds the
omnia_corecontainer image locally. The build process takes approximately 10-15 minutes depending on network speed and hardware. -
Install the omnia_core service:
Run on: OIM hostbash 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 automatically.
- Creates the
-
Verify the service is running:
Run on: OIM hostsystemctl status omnia_core.serviceExpected output:
Expected output on: OIM host● omnia_core.service - Omnia Core Container Loaded: loaded (/etc/systemd/system/omnia_core.service; enabled; vendor preset: disabled) Active: active (running) since ...
Verification¶
-
Check the container is running:
Run on: OIM hostpodman ps --filter name=omnia_coreYou should see a running container named
omnia_core. -
Enter the omnia_core container and verify Ansible is available:
Run on: OIM hostpodman exec -it -u root omnia_core bashRun on: omnia_core containeransible --version -
Verify playbooks are accessible:
Run on: omnia_core containerls /omnia/*.ymlYou should see the key playbooks:
omnia_startup.yml,input_validator.yml,credentials_utility.yml,prepare_oim.yml,local_repo.yml,discovery.yml, and others. -
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