Verify OIM Services¶
Perform a comprehensive health check of all Omnia Infrastructure Manager (OIM)
services after running prepare_oim.yml. This guide walks through every
service in the omnia.target dependency tree.
Overview¶
After the OIM is prepared, the following services should be running as systemd-managed Podman containers:
- omnia_core -- Ansible control plane
- OpenCHAMI stack -- SMD, BSS, CoreDHCP, TFTP, DNS, and related services
- Pulp -- RPM repository management
- MinIO -- S3-compatible object storage
- Registry -- Local container image registry
- Omnia Auth (optional) -- Centralized authentication
This guide helps you verify each service is healthy and troubleshoot any that are not.
Prerequisites¶
- The Prepare OIM procedure has been completed successfully.
- You have
rootorsudoaccess to the OIM host.
Procedure¶
-
Check the omnia_core service:
Run on: OIM hostsystemctl status omnia_core.serviceExpected:
Active: active (running) -
List the complete omnia.target dependency tree:
Run on: OIM hostsystemctl list-dependencies omnia.targetExpected output:
Expected output on: OIM hostomnia.target ● ├─minio.service ● ├─omnia_auth.service ● ├─omnia_build_stream.service ● ├─omnia_core.service ● ├─omnia_postgres.service ● ├─playbook_watcher.service ● ├─pulp.service ● ├─registry.service ● ├─network-online.target ● │ └─NetworkManager-wait-online.service ● └─openchami.target ● ├─acme-deploy.service ● ├─acme-register.service ● ├─bss-init.service ● ├─bss.service ● ├─cloud-init-server.service ● ├─coresmd.service ● ├─haproxy.service ● ├─hydra-gen-jwks.service ● ├─hydra-migrate.service ● ├─hydra.service ● ├─opaal-idp.service ● ├─opaal.service ● ├─openchami-cert-trust.service ● ├─postgres.service ● ├─smd.service ● └─step-ca.serviceThe following service status indicators are displayed on the live cluster:
- A green circle indicates the service is running.
- A grey circle indicates the service is not running.
- A circle with a cross indicates the service failed to start.
Note
The
omnia_auth.serviceruns only when OpenLDAP is specified in/opt/omnia/input/project_default/software_config.json.Note
The
omnia_build_stream.service,omnia_postgres.service, andplaybook_watcher.servicerun only when BuildStreaM is enabled in/opt/omnia/input/project_default/build_stream_config.yml. -
Check each top-level service individually:
Run on: OIM hostfor svc in minio omnia_auth omnia_build_stream omnia_core omnia_postgres playbook_watcher pulp registry; do echo "=== $svc ===" systemctl is-active ${svc}.service done -
Check OpenCHAMI sub-services:
Run on: OIM hostfor svc in acme-deploy acme-register bss-init bss cloud-init-server coresmd haproxy hydra-gen-jwks hydra-migrate hydra opaal-idp opaal openchami-cert-trust postgres smd step-ca; do echo "=== $svc ===" systemctl is-active ${svc}.service done -
Verify running Podman containers:
Run on: OIM hostpodman ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" -
Test the OpenCHAMI CLI:
Run on: omnia_core containerochami --helpThe help menu lists the supported commands for node discovery, provisioning, and service management:
bss-- Communicate with the Boot Script Service (BSS).cloud-init-- Interact with the cloud-init service.completion-- Generate the autocompletion script for the specified shell.config-- View or modify configuration options.discover-- Perform static or dynamic discovery of nodes.pcs-- Interact with the Power Control Service (PCS).smd-- Communicate with the State Management Database (SMD).version-- Display detailed version information and exit.help-- Display help for a specific command.
For more details about a specific command, run:
Run on: omnia_core containerochami [command] --helpUseful
ochamicommands:Run on: omnia_core container# Check SMD status ochami smd status # List boot configurations ochami bss list -
Test MinIO / S3 access:
Run on: omnia_core containers3cmd ls -
Test Pulp accessibility:
Run on: OIM hostcurl -s http://localhost:8080/pulp/api/v3/status/ | python3 -m json.toolExpected: a JSON response with
"online_workers"and"versions". -
Verify PowerScale S3 connection (if PowerScale is configured as S3 storage):
Run on: omnia_core container# Verify the S3 buckets are created s3cmd ls # List the images present in a specific S3 bucket s3cmd ls s3://<bucket-name>/See Configure PowerScale as S3 storage for setup instructions.
Verification¶
All services should report active (running). Use this summary check:
systemctl is-active omnia.target
Expected output: active
If any service is inactive or failed, note which one and refer to the
Troubleshooting section below.
Quick health summary script:
echo "=== Omnia Service Health ==="
echo "omnia.target: $(systemctl is-active omnia.target)"
echo "omnia_core: $(systemctl is-active omnia_core.service)"
echo "openchami.target: $(systemctl is-active openchami.target)"
echo "pulp: $(systemctl is-active pulp.service)"
echo "minio: $(systemctl is-active minio.service)"
echo "registry: $(systemctl is-active registry.service)"
echo "omnia_auth: $(systemctl is-active omnia_auth.service)"
echo "omnia_build_stream: $(systemctl is-active omnia_build_stream.service)"
echo "omnia_postgres: $(systemctl is-active omnia_postgres.service)"
echo "playbook_watcher: $(systemctl is-active playbook_watcher.service)"
Note
omnia_auth, omnia_build_stream, omnia_postgres, and playbook_watcher report inactive when OpenLDAP or BuildStreaM are not enabled -- this does not indicate a failure.
Next Steps¶
- Create Local Repos -- Sync RPM repositories via Pulp.
- Build Cluster Images -- Build OS boot images.
- Discover Nodes -- Discover and provision bare-metal servers.
Troubleshooting¶
A service shows "inactive (dead)" Restart the specific service:
systemctl restart <service-name>.service
journalctl -u <service-name>.service --no-pager -n 50
OpenCHAMI services fail with connection errors Verify if all openchami services are running:
systemctl list-dependencies openchami.target
systemctl restart openchami.target
omnia.target not found
Re-run the prepare_oim.yml playbook to regenerate systemd unit files:
cd /omnia/prepare_oim
ansible-playbook prepare_oim.yml