Build Cluster Image Issues¶
Issues related to building diskless cluster node images, S3/MinIO image storage, and architecture-specific build failures.
S3 upload fails¶
Symptom
The build_image_x86_64.yml or build_image_aarch64.yml playbook fails
during the image upload stage. The built image is not visible in the
boot-images S3 bucket.
Cause
- The MinIO service on the OIM is not running or is unreachable.
- S3 credentials are misconfigured.
- Insufficient disk space on the MinIO storage volume.
Resolution
- Verify MinIO is running and accessible:
s3cmd ls
- If MinIO is unreachable, restart it on the OIM host:
systemctl restart minio.service
- Verify the
boot-imagesbucket exists:
s3cmd ls s3://boot-images
- After resolving the issue, re-run the build image playbook.
Kernel image not found in S3¶
Symptom
provision.ymlfails with a kernel validation error.- The specified
kernel_version_overrideis not found in S3.
Cause
The build image step did not complete successfully, or the kernel packages were not available in the Pulp repository when the image was built.
Resolution
- Verify that the build image step completed successfully and uploaded images to S3:
s3cmd ls -Hr s3://boot-images
- Look for kernel and initramfs entries matching your functional group:
s3://boot-images/efi-images/<functional_group>/rhel-<functional_group>_omnia_<version>/vmlinuz-<kernel_version>
s3://boot-images/efi-images/<functional_group>/rhel-<functional_group>_omnia_<version>/initramfs-<kernel_version>.img
-
If the expected kernel is missing, verify that the kernel packages were available in the Pulp repository before running
build_image_x86_64.yml. The build process selects the latest kernel available across all configured repositories. -
Re-run the build image playbook to rebuild with the correct kernel:
cd /omnia/build_image_x86_64
ansible-playbook build_image_x86_64.yml
- After the build completes, verify the new kernel image in S3 using
s3cmd ls -Hr s3://boot-imagesand then re-runprovision.yml.
Build image fails for aarch64 — missing inventory¶
Symptom
The build_image_aarch64.yml playbook fails with:
"aarch64 functional groups detected in pxe_mapping_file but no hosts
found in 'admin_aarch64' inventory group" or "The inventory group
'admin_aarch64' does not exist or has no hosts."
Cause
The PXE mapping file contains aarch64 functional groups, but the playbook
was run without an inventory file containing the [admin_aarch64] group.
Resolution
- Create an inventory file with the
[admin_aarch64]group containing exactly one ARM admin node:
[admin_aarch64]
<arm_admin_node_ip>
- Re-run the build image playbook with the inventory file:
cd /omnia/build_image_aarch64
ansible-playbook build_image_aarch64.yml -i inventory
Note
The [admin_aarch64] group must have exactly one host. NFS must be
configured on the OIM for aarch64 image building.
Repository sync issues¶
Symptom
local_repo.ymlfails to sync the additional kernel repositories.- Kernel packages are not available in Pulp after sync.
build_image_x86_64.ymlbuilds an image with an older kernel than expected.
Cause
Repository URLs in local_repo_config.yml are incorrect or
unreachable, or RHEL subscription certificates are invalid or expired.
Resolution
- Verify repository URLs are correct and accessible from the
omnia_corecontainer:
podman exec -it omnia_core curl -I <repository_url>
- For RHEL subscription (EUS) repositories, verify that the entitlement certificates are valid and correctly placed:
ls -la /opt/omnia/rhel_repo_certs/
- Validate kernel packages are available in the synced Pulp
repository. From within the
omnia_corecontainer, list the repository distributions:
pulp rpm distribution list
- Query the Pulp content endpoint to check for kernel packages.
Replace
<oim_admin_ip>with the OIM admin IP and<repo_name>with the distribution name from the previous step:
curl -k https://<oim_admin_ip>:2225/pulp/content/opt/omnia/offline_repo/cluster/x86_64/rhel/10.0/rpms/<repo_name>/Packages/k/ | grep kernel
- If no kernel packages are found, correct the repository URLs in
local_repo_config.ymland re-runlocal_repo.yml.
Images not created for all functional groups¶
Symptom
After running the build image playbook, s3cmd ls -Hr s3://boot-images
shows images for some functional groups but not all groups defined in the
mapping file.
Cause
- The mapping file contains functional groups that do not match the target architecture of the playbook being run.
local_repo.ymlwas not executed with software packages for all required functional groups.
Resolution
- Verify which functional groups are defined in the mapping file:
cat /opt/omnia/input/project_default/pxe_mapping_file.csv
-
Ensure
local_repo.ymlwas executed withsoftware_config.jsonthat includes software for all required architectures and functional groups. -
Re-run the appropriate build image playbook and verify images:
s3cmd ls -Hr s3://boot-images
Info
- Build Cluster Node Images -- Full image build procedure.
- Create Local Repos -- Local repository setup.
- Create Mapping File -- Mapping file configuration.