Skip to content

E2E image mode enablement for DPUs#373

Open
SamD2021 wants to merge 2 commits intobn222:mainfrom
SamD2021:e2e-image-mode
Open

E2E image mode enablement for DPUs#373
SamD2021 wants to merge 2 commits intobn222:mainfrom
SamD2021:e2e-image-mode

Conversation

@SamD2021
Copy link
Contributor

@SamD2021 SamD2021 commented Aug 8, 2025

This PR brings in all changes needed to fully build, provision and deploy the dpu operator on RHEL Image Mode.
It makes the microshift extra config more idempotent since many parts of the post step is already part of the image and fixes some parts of iso builder to allow for full automation. It also now uses Centos Stream boot iso the base for ISO Surgeon which means now any vendor should be able to bake their own ISO's on x86 targeting arm64 (Tested on IPU's for now). To use it I generally make a iso-builder.yaml like below and run it with -s pre:
Note: Does not really require a dpu apart for detecting the flavour of the dpu and could be used with a non dpu server after a few tweaks

clusters:
  - name: "microshift"
    api_vip: "192.168.122.99"
    ingress_vip: "192.168.122.101"
    network_api_port: "eno12409"
    kind: "iso"
    install_iso: "" # leaving it empty makes uses the default iso filename
    # install_iso: "./RHEL-DPU-CUSTOM-LATEST-20250730-aarch64.iso"
    kubeconfig: "/root/kubeconfig.microshift"
    masters:
      - name: "215-acc"
        node: "localhost"
        kind: "dpu"
        bmc:
          url: "wsfd-advnetlab215-intel-ipu-imc.anl.eng.bos2.dc.redhat.com"
        bmc_host:
          user: "root"
          password: "calvin"
          url: "wsfd-advnetlab215-drac.anl.eng.bos2.dc.redhat.com"
        dpu_host: "wsfd-advnetlab215.anl.eng.bos2.dc.redhat.com"
        ip: "172.16.3.16"
        mac: "10:2e:00:01:b1:f2"
    preconfig:
      - name: host_registries # formats the registry credentials in the authfile format, by default merges your cluster pull secret for access to registry.redhat.io
        registries:
          - registry_url: "quay.io"
            user: "sadasilv+ipu_kickstart"
            token: "REDACTED"
            auth_path: "/tmp/auth.json"
      - name: iso_builder
        organization_id: "REDACTED"
        activation_key: "REDACTED"
        iso_builder_auth_file: "/tmp/auth.json" # Uses the auth for private registry access and building
        image_mode_url: "docker://quay.io/sadasilv/rhel-image-mode-4-dpu:latest" # will build from current image mode dir and push to destination

An awesome feature bootc allows is that the ISO distribution doesn't really matter.
All we need is an iso that uses a kickstart and has the iscsi and other modules we
need and the ostreecontainer directive in the kickstart. Therefore we can easily deploy RHEL on the DPU using RHEL and
Centos boot iso. Currently fedora CoreOS doesn't seem to have the iscsi
modules by default. Switching to CentOS-Stream for the ISO allows users
without internal Red Hat access to build these images.
@SamD2021
Copy link
Contributor Author

SamD2021 commented Aug 8, 2025

This is related to changes in DPU Operator though it works independently then this when using our current package mode iso's:
openshift/dpu-operator#494

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant