Skip to content

fix(build): support legacy hardware via configurable base image#787

Open
xnaveenx wants to merge 1 commit intolitmuschaos:masterfrom
xnaveenx:fix/786-legacy-hardware-support
Open

fix(build): support legacy hardware via configurable base image#787
xnaveenx wants to merge 1 commit intolitmuschaos:masterfrom
xnaveenx:fix/786-legacy-hardware-support

Conversation

@xnaveenx
Copy link
Contributor

@xnaveenx xnaveenx commented Jan 3, 2026

What this PR does / why we need it:
This PR introduces a BASE_IMAGE build argument to the Dockerfile, allowing users to override the default UBI 9 base image with a legacy-compatible image (e.g., UBI 8 or Rocky Linux 8) at build time.

  • Issue: The default UBI 9 base image requires x86-64-v2 CPU instructions (AVX/SSE4.2). This causes a Fatal glibc error crash on legacy hardware (e.g., Intel Pentium Gold, older Celerons) commonly used in home labs and edge devices
  • Fix: Users can now build a compatible runner image using docker build --build-arg BASE_IMAGE=rockylinux:8
  • Safety: The default behaviour remains unchanged (UBI 9.4), ensuring no impact on existing enterprise users.
  • Refactor: Replaces hardcoded RPM downloads with generic yum install commands and dynamic EPEL detection ($(rpm -E %rhel)) to support both RHEL 8 and RHEL 9 environments.

Which issue this PR fixes :
fixes #786

Special notes for your reviewer:
I have verified these changes locally on two environments:

  1. Standard Build (Default/UBI 9): docker build . -> SUCCESS. Verified that stress-ng is correctly installed via the Oracle RPMs (matching original behavior).
  2. Legacy Build (Rocky 8): docker build --build-arg BASE_IMAGE=rockylinux:8 . -> SUCCESS. Verified on Intel Pentium Gold hardware where the standard image previously crashed. The legacy image runs experiments to completion.

Checklist:

  • Fixes Support for Legacy Hardware (x86-64-v2) via configurable Base Image #786
  • PR messages has document related information
  • Labelled this PR & related issue with breaking-changes tag
  • PR messages has breaking changes related information
  • Labelled this PR & related issue with requires-upgrade tag
  • PR messages has upgrade related information
  • Commit has unit tests
  • Commit has integration tests
  • E2E run Required for the changes

@xnaveenx xnaveenx force-pushed the fix/786-legacy-hardware-support branch from 2fdfb4c to 63abda4 Compare January 20, 2026 03:52
@xnaveenx xnaveenx force-pushed the fix/786-legacy-hardware-support branch from 63abda4 to cd3a5f6 Compare January 30, 2026 15:51
This introduces a BASE_IMAGE build argument to allow building the runner on legacy base images (e.g., UBI 8) for hardware lacking x86-64-v2 support. Default behavior (UBI 9) remains unchanged.

Fixes litmuschaos#786

Signed-off-by: xnaveen <naveen010210@gmail.com>
@xnaveenx xnaveenx force-pushed the fix/786-legacy-hardware-support branch from cd3a5f6 to 006078b Compare March 1, 2026 14:56
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.

Support for Legacy Hardware (x86-64-v2) via configurable Base Image

1 participant