Skip to content

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:

  1. Clone the Omnia Containers repository from Dell's GitHub repository.
  2. Build the container images using the build_images.sh script.
  3. Download the omnia.sh script and install the omnia_core container.

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

  1. Clone the Omnia Containers repository and build the container image:

    Run on: OIM host
    git 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.2
    

    This builds the omnia_core container image locally. The build process takes approximately 10-15 minutes depending on network speed and hardware.

  2. Download the omnia.sh script:

    Run on: OIM host
    wget https://raw.githubusercontent.com/dell/omnia/refs/tags/v2.2.0.0/omnia.sh
    chmod +x omnia.sh
    
  3. Install the omnia_core container:

    Run on: OIM host
    ./omnia.sh --install
    

    This script:

    • Creates the omnia_core Podman 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 , |, &, ;, \, <>, *, ?, !, $, (), {}, []`.

  4. Access the omnia_core container:

    Run on: OIM host
    ssh omnia_core
    

    You will be automatically logged in to the omnia_core container.

    Warning

    Do not delete any key pairs generated by Omnia from /root/.ssh -- this causes omnia_core.service execution failure. Do not manually delete files from the Omnia shared directory. Use ./omnia.sh --uninstall to safely remove.

Verification

  1. Verify the omnia_core container is running:

    Run on: OIM host
    podman ps --filter name=omnia_core --format "table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}"
    

    Expected output:

    Expected output
    NAMES        IMAGE                       STATUS       PORTS
    omnia_core   localhost/omnia_core:2.2     Up 1 day     2222/tcp
    
  2. Enter the omnia_core container and verify Ansible is available:

    Run on: OIM host
    ssh omnia_core
    
    Run on: omnia_core container
    ansible --version
    
  3. Verify omnia source is available:

    Run on: omnia_core container
    ls /omnia
    

    You should see the omnia source code directory.

  4. Verify input directory exists:

    Run on: omnia_core container
    ls /opt/omnia/input/project_default/
    

Next Steps

Troubleshooting

Container fails to start Check the Podman logs for detailed error output:

Run on: OIM host
podman logs omnia_core

systemd service not found Re-run the installation script:

Run on: OIM host
bash omnia.sh --install

Build fails with network errors Ensure the OIM has internet access and DNS is configured correctly:

Run on: OIM host
ping -c 3 github.com
cat /etc/resolv.conf

Podman not installed Install Podman from the default OS repositories:

Run on: OIM host
dnf install -y podman
systemctl enable --now podman.socket

Insufficient disk space Check available disk space. At least 256 GB is required:

Run on: OIM host
df -h /opt