Skip to Content
Admin guidesPro node images

Pro node images

Warewulf Pro ships pre-built node images that, combined with the Pro overlays, give you a turn-key compute node for common HPC scheduler stacks. The images are tested by CIQ for specific scheduler-and-OS combinations.

For general node image concepts - importing, building, customizing - see the upstream node images documentation.

Catalog

rockylinux-ohpc

Rocky Linux 9 base image with OpenHPC 3 packages installed. Serves as the foundation for the scheduler-specific images, and can also be deployed independently for sites that build their own scheduler client on top.

Available tags: 3

rockylinux-slurm

Compute node image for a Slurm cluster. Built on rockylinux-ohpc with the OpenHPC Slurm client added.

Available tags: 24 (Slurm 24), 25 (Slurm 25 - newer versions ship with newer base OS).

rockylinux-openpbs

Compute node image for an OpenPBS cluster. Built on rockylinux-ohpc with the OpenPBS execution client added.

Available tags: 22 (OpenPBS 22).

rlc-fuzzball-substrate

Rocky Linux from CIQ image with Fuzzball Substrate packages installed. Used for joining compute nodes to a Fuzzball Orchestrate cluster. This image is only available in the RLC variant — there is no community-Rocky build.

Requires: an RLC entitlement in addition to Warewulf Pro. See RLC variants below.

Importing images

The Pro images are distributed as OCI artifacts in CIQ Depot at docker://depot.ciq.com/warewulf-pro/warewulf-node-images/. Import directly with wwctl:

# export WAREWULF_OCI_USERNAME=<depot username> # export WAREWULF_OCI_PASSWORD=<depot access key> # export IMAGES=docker://depot.ciq.com/warewulf-pro/warewulf-node-images # wwctl image import $IMAGES/rockylinux-ohpc:3 ohpc-3 # wwctl image import $IMAGES/rockylinux-slurm:24 slurm-24 # wwctl image import $IMAGES/rockylinux-openpbs:22 openpbs-22

Generate a Depot access key from CIQ Portal under My Account → Access Keys.

Multi-architecture support

Starting with Warewulf Pro v1.2.0, every Pro node image is published for both x86_64 and aarch64. Import them with the same wwctl image import commands shown under Importing images above.

Each image is published as a single multi-architecture manifest under one tag, so on a Warewulf server that matches the node architecture the standard wwctl image import above pulls the right build automatically.

For a mixed-architecture cluster, use wwctl image import --platform to select a specific architecture (amd64 or arm64), import each under its own local name, then point per-architecture profiles at the matching image:

# wwctl image import --platform amd64 $IMAGES/rockylinux-slurm:24 slurm-24-x86_64 # wwctl image import --platform arm64 $IMAGES/rockylinux-slurm:24 slurm-24-arm64 # wwctl profile add x86-compute --image slurm-24-x86_64 # wwctl profile add arm64-compute --image slurm-24-arm64

Warewulf v4.6.5 (shipped in Pro v1.2.0) also adds cross-architecture support for wwclient, via the wwclient.aarch64 and wwclient.x86_64 overlays.

RLC variants

Customers who hold both a Warewulf Pro entitlement and a Rocky Linux from CIQ (RLC) entitlement gain access to RLC-based variants of every Pro node image. The RLC images have the same scheduler integrations and are built, configured, and used identically to the community-Rocky-based images — the base OS is RLC instead of community Rocky Linux.

Available RLC images

ImageEquivalent Pro image
rlc-openhpcrockylinux-ohpc
rlc-slurmrockylinux-slurm
rlc-openpbsrockylinux-openpbs
rlc-fuzzball-substrate(n/a - only available in the RLC variant)

Accessing RLC images

RLC variants are distributed in a separate Depot repository - warewulf-pro-rlc - which is activated automatically for customers with both entitlements.

# depot enable warewulf-pro-rlc # wwctl image import docker://depot.ciq.com/warewulf-pro-rlc/warewulf-pro-rlc/rlc-slurm:24 slurm-24

Why use RLC images

  • Quality and performance modifications that CIQ applies on top of Rocky Linux.
  • Coordinated support - a single support contact for both the OS and the cluster provisioning layer.
  • Long-term support - RLC's LTS lifecycle applies to the cluster node OS.

For RLC details, see the Rocky Linux from CIQ documentation.

RLC Pro node images

Customers who hold both a Warewulf Pro entitlement and an RLC Pro entitlement have access to rlc-pro-wwp, a base node image built on RLC Pro. The image is distributed in a separate Depot repository, warewulf-pro-rlc-pro.

TagBase OSDepot product
9Latest RLC Pro 9 (currently 9.8)rlc-pro-9
9.6RLC Pro LTS 9.6lts-9.6
10Latest RLC Pro 10 (currently 10.2)rlc-pro-10

Import with wwctl, using the same Depot credentials as the other Pro images and the tag you need from the table above:

# export WAREWULF_OCI_USERNAME=<depot username> # export WAREWULF_OCI_PASSWORD=<depot access key> # export RLCPRO=docker://depot.ciq.com/warewulf-pro-rlc-pro/warewulf-pro-rlc-pro # wwctl image import $RLCPRO/rlc-pro-wwp:9 rlc-pro-9

Enabling package repositories

The rlc-pro-wwp images ship without any OS repositories enabled. The only configured repository is ciq-depot-client, so dnf install fails with No match for argument until the Depot product for the image's base OS is enabled. Use the Depot product from the table above. The depot client is already installed in the image.

In wwctl image shell: log in to Depot, enable the product inside the image, then install packages:

# wwctl image shell rlc-pro-9 [warewulf:rlc-pro-9] /# depot login -u <depot username> -t <depot access key> [warewulf:rlc-pro-9] /# depot enable rlc-pro-9 [warewulf:rlc-pro-9] /# dnf -y install <packages> [warewulf:rlc-pro-9] /# exit
Note

depot enable writes a repo file inside the image that contains your Depot credentials. It stays in the image, and on the booted node, where it is readable only by root. To take it back out before you exit the shell:

[warewulf:rlc-pro-9] /# depot disable rlc-pro-9 && rm -rf /root/.depot

In a Containerfile: run the same steps in a single RUN instruction, passing the access key as a build secret:

FROM depot.ciq.com/warewulf-pro-rlc-pro/warewulf-pro-rlc-pro/rlc-pro-wwp:9 RUN --mount=type=secret,id=depot_key \ depot login -u <depot username> -t "$(cat /run/secrets/depot_key)" \ && depot enable rlc-pro-9 \ && dnf -y install <packages> \ && dnf clean all
# podman build . --file Containerfile --tag rlc-pro-9 --secret id=depot_key,src=depot-key.txt
Note

The build secret keeps the access key out of the image layers, but the repo file depot enable writes is part of the image and contains your Depot credentials, readable only by root. To take it back out, append && depot disable rlc-pro-9 && rm -rf /root/.depot to the RUN instruction. If the image will be pushed to a registry that others can pull from, use the bind-mounted repo file below instead.

With a bind-mounted repo file: install the Depot Client on the Warewulf server and log in with depot login, then generate the repo file with depot enable --print and mount it into the build. This leaves the Containerfile free of any Depot steps. Set --osid, --osversion, and the product to match the image's base OS:

# depot enable --print --no-post-scripts --osid rocky --osversion 9.6 --arch x86_64 lts-9.6 > depot-lts-9.6.repo 2>/dev/null # chmod 600 depot-lts-9.6.repo

--print writes the repo configuration to stdout without enabling the product on the server. The file contains your Depot credentials, and mounting it with -v keeps it out of the built image:

FROM depot.ciq.com/warewulf-pro-rlc-pro/warewulf-pro-rlc-pro/rlc-pro-wwp:9.6 RUN dnf -y install <packages> && dnf clean all
# podman build . --file Containerfile --tag rlc-pro-9.6 \ -v $(pwd)/depot-lts-9.6.repo:/etc/yum.repos.d/depot-lts-9.6.repo:ro,Z # wwctl image import $(podman image mount localhost/rlc-pro-9.6) rlc-pro-9.6 # podman image unmount localhost/rlc-pro-9.6

Customizing a Pro image

Pro images are standard OCI images - you can extend them with wwctl image shell or by building a derivative Containerfile. For the customization workflow, see the upstream image creation guide.