Eikon Image Deploy¶
Eikon is a specialized storage and image deployment tool designed to work with Digital Rebar Provision (DRP). It enables operators to define complex storage configurations and deploy operating system images in an automated, repeatable way across bare metal systems. Rather than using traditional installation methods, Eikon streamlines deployment through two primary methods:
- Raw Disk Images - Complete disk images written directly to storage devices (simpler, less flexible)
- Rootfs Archives - Filesystem archives applied to custom storage configurations (more complex, highly flexible)
Understanding eikon/plan¶
The eikon/plan
parameter is the core configuration that defines how Eikon
will deploy your system. It supports two
primary deployment approaches:
Raw Image Deployment¶
The simplest form, where a complete disk image is written directly to disk:
eikon/plan:
disks:
- name: disk-0 # Readable identifier for the disk
grub_device: true # Mark this disk for bootloader installation
path: /dev/sda # Target device path
# Can also use persistent paths:
# - /dev/disk/by-id/wwn-0x5002...
# - /dev/disk/by-path/pci-0000...
# - /dev/disk/by-uuid/123a...
image:
type: dd-zst # Image type (dd-raw, dd-gz, dd-zst, etc.)
url: "https://..." # Image location
Rootfs Deployment¶
A more flexible approach that allows custom storage configuration:
eikon/plan:
disks: # Physical disks
vgs: # LVM Volume Groups
swraids: # Software RAID arrays
images: # OS images
Initial Setup¶
Before beginning deployment, you'll need to prepare your environment:
- Download the RHEL 9 image:
- Upload to DRP:
- Verify upload: Should return the checksum header of the file
Note
While you can use the S3 URLs directly in your
profiles, like `https://eikon-images.s3.us-west-2.amazonaws.com/rhel9-uefi-rootfs.tar.zst` for image url,
it's recommended to download images and upload them to your DRP server. This significantly improves deployment speed and
reliability.
Creating Images for Eikon¶
Eikon supports two types of images: raw disk images and rootfs archives. Here's how to create both types:
Creating Rootfs Archives¶
To create a rootfs archive, first install your OS normally on a machine, then:
- Boot into the installed system
- Install required compression tools:
- Create the tar archive:
- Compress the archive
The resulting my-rootfs.tar.zst
can be used with Eikon
.
Important
The tar flags are critical:
- --numeric-owner: Preserves UIDs/GIDs
- --acls: Preserves Access Control Lists
- --selinux: Preserves SELinux contexts
- --xattrs and --xattrs-include=*: Preserves extended attributes
Creating Raw Images¶
Raw images can be created in several ways:
- Direct from disk:
- Converting from virtual machine disks:
Next, compress the raw image:
Note
Using virtual machine disk conversion can be easier than direct disk capture as you can:
- Create and test the system in a VM first
- Ensure clean shutdown state
- Avoid potential issues with physical hardware differences
Pre-made Images¶
We provide several pre-made images ready for use with Eikon:
Image | Type | Description |
---|---|---|
alma9-uefi-rootfs.tar.zst | Rootfs | AlmaLinux 9 UEFI rootfs |
alma93-uefi-raw.zst | Raw | AlmaLinux 9.3 UEFI raw disk |
rhel8-uefi-raw.gz | Raw | RHEL 8 UEFI raw disk |
rhel8-uefi-rootfs.tar.zst | Rootfs | RHEL 8 UEFI rootfs |
rhel9-uefi-raw.zst | Raw | RHEL 9 UEFI raw disk |
rhel9-uefi-rootfs.tar.zst | Rootfs | RHEL 9 UEFI rootfs |
ubuntu20-uefi-raw.zst | Raw | Ubuntu 20.04 UEFI raw disk |
ubuntu20-uefi-rootfs.tar.zst | Rootfs | Ubuntu 20.04 UEFI rootfs |
ubuntu22-uefi-rootfs.tar.zst | Rootfs | Ubuntu 22.04 UEFI rootfs |
ubuntu22.raw.zst | Raw | Ubuntu 22.04 UEFI raw disk |
Each image has a corresponding test profile in the eikon
content pack prefixed with test-eikon-*
. For
example, test-eikon-uefi-rootfs-disk-plan-rhel9
corresponds to the RHEL 9 UEFI rootfs image.
Getting Started: Deploying RHEL 9¶
This guide demonstrates deploying RHEL 9 using a rootfs archive with a custom storage configuration.
Pre-requisites¶
- DRP server version v4.14 or greater installed and configured
- Eikon and Universal content packs installed
- Target machine registered with DRP (discovered)
- RHEL 9 uefi rootfs image downloaded from eikon-images S3 bucket
- Verified target machine has required disk (/dev/sda) available
Using Pre-configured Profiles¶
The eikon content pack includes pre-configured profiles designed to work with our standard images. The profile contains a pre-defined eikon/plan which is compatible with the rhel9-uefi-rootfs image available in the s3 bucket. Here's an example profile for RHEL 9 deployment:
Name: test-eikon-uefi-rootfs-disk-plan-rhel9
Params:
eikon/plan:
disks:
- name: disk1
path: /dev/sda
ptable: gpt
grub_device: true
partitions:
- name: part1
id: 1
ptype: vfat
size: 1G
fs:
name: fs1
fstype: vfat
mount: /boot/efi
- name: part2
id: 2
ptype: xfs
size: 1G
fs:
name: fs2
fstype: xfs
mount: /boot
- name: part3
id: 3
size: 17G
ptype: LVM2_member
vgs:
- name: vg1
pvs:
- part3
lvs:
- name: lv1
size: 14G
fs:
name: fs3
fstype: xfs
mount: /
- name: lv2
size: 1G
fs:
name: fs5
fstype: swap
images:
- url: "{{.ProvisionerURL}}/files/eikon/images/rhel9-uefi-rootfs.tar.zst"
type: tar-zst
This profile:
- Creates a GPT-partitioned disk
- Configures UEFI boot with /boot/efi partition
- Sets up a separate /boot partition
- Uses LVM for root filesystem and swap space
- Deploys RHEL 9 from a compressed tar archive
Note
Additional profiles can be found by looking for profiles that start with `test-eikon-*`. There are a combination of raw
and rootfs profiles. The links to the images for these profiles have been detailed in the `Creating Images for Eikon` section.
Starting eikon-image-deploy¶
The eikon
content pack provides a workflow called eikon-image-deploy
which can be used in combination with the
profiles
to do an image deploy on your Machine. We will be using this workflow to deploy the image. For more information on the
workflow itself please look at the Architecture Docs
Follow these steps to begin eikon-image-deploy:
- Navigate to the test machine in the UX
- Go to the Editor tab
- Under
Collections
click the plus sign next toProfiles
- Add the following profiles:
- sledgehammer-alma9-v4.12.0
- test-eikon-uefi-rootfs-disk-plan-rhel9
- Under
Workflow Managememt
click on the minus sign next toPipeline
and selecteikon-image-deploy
- Click
Select Workflow
next toWORKFLOW
and selectuniversal-image-deploy
from the drop-down.
This will kick off the eikon image deploy process. At a high level, this will:
- Boot into sledgehammer
- Configure storage according to the eikon plan provided
- Deploy and extract the RHEL 9 image
- Configure bootloader
- Reboot into the deployed system
Validating Deployment¶
Once the workflow completes and the system boots, verify the deployment by:
- Check storage layout:
- Verify OS installation:
In DRP, the system should show up as Online
(which means it is connected to DRP)
Common Issues and Troubleshooting¶
- Image Not Found:
Verify that the image being deployed exists in the path suggested in the image URL. In this case, the image is
expected to be located at
{{.ProvisionerURL}}/files/eikon/images/rhel9-uefi-rootfs.tar.zst
. You can verify this by navigating to<drp-host>:8091/files
and ensuring that the image is presetn in eikon/images. - Boot Failures
- UEFI/Legacy mismatch
- Currently only UEFI boot is supported by eikon. The test machine's boot mode has to be UEFI
- Ensure that secure boot is disabled
- UEFI/Legacy mismatch
- Machine does not show online:
It could be that the network on the image has not been enabled so enable network on the machine and restart the
drp-agent
. Make sure to run the following command asroot
This should restart the drp-agent and the machine should show up asOnline
Additional Assistance¶
For additional assistance open a zendesk ticket with the following information:
- Capture the output of failed tasks
- Capture system logs
- Note any error messages from the DRP UI