Skip to content

feat: PR5 — RPM build separation, aarch64 image-builder, container & RPM documentation`#4803

Merged
abhishek-sa1 merged 13 commits into
dell:q3_mainfrom
abhishek-sa1:feature/mono-pr5-rpm-build
Jul 3, 2026
Merged

feat: PR5 — RPM build separation, aarch64 image-builder, container & RPM documentation`#4803
abhishek-sa1 merged 13 commits into
dell:q3_mainfrom
abhishek-sa1:feature/mono-pr5-rpm-build

Conversation

@abhishek-sa1

@abhishek-sa1 abhishek-sa1 commented Jun 29, 2026

Copy link
Copy Markdown
Collaborator

Summary

Separates RPM build infrastructure into src/rpm_build/, adds dual-architecture (x86_64 / aarch64) support to the image-builder container, and rewrites container and RPM documentation. Built on top of PR4 (merged as #4795).

Changes

1. RPM Build Separation (src/rpm_build/)

2. aarch64 Image Builder Support

  • image_builder/build.sh — build_image_builder() now auto-detects host architecture:
    • x86_64 → produces image-build-el10 with linux/amd64 platform
    • aarch64 → produces image-build-aarch64 with linux/arm64 platform
    • Docker mode uses docker info for platform detection and maps to correct image name
  • image_builder/Containerfile.el10 — already multi-arch (downloads correct Go toolchain based on uname -m); no Containerfile changes needed

3. Container README Rewrite (src/containers/README.md)

  • Complete rewrite: directory layout, container table with base images, build groups with use cases
  • New Architecture Support section documenting dual-arch image-builder behavior
  • Parameters table, Docker vs Podman comparison, troubleshooting table
  • Removed stale omnia_branch parameter (not wired up in new build system — core uses COPY from local repo)

4. RPM Build README (new: src/rpm_build/README.md)

  • Documents build_rpm.sh workflow, parameters (-v, -u, -n), prerequisites
  • Architecture support table (x86_64 + aarch64 auto-detected)
  • Explains relationship between LDMS container image (src/containers/ldms/) vs LDMS RPM (src/rpm_build/) — different deployment models

Files Changed

File Change
src/containers/image_builder/build.sh Added arch detection, dual image name logic
src/containers/README.md Complete rewrite (148 deletions, 148 insertions)
src/rpm_build/README.md New file — RPM build documentation
src/rpm_build/build_rpm.sh Existing (from earlier commit) — LDMS RPM entry point
src/rpm_build/ldms/* Existing (from earlier commit) — LDMS build scripts

Architecture Matrix

Component x86_64 aarch64
image-build-el10
image-build-aarch64
LDMS RPM build
omnia_core

Testing

Backward Compatibility

  • No breaking changes — existing x86_64 builds produce same image-build-el10 image name
  • aarch64 builds now auto-produce image-build-aarch64 instead of incorrectly using image-build-el10

Additional changes

  • Sync latest staging changes from Omnia 2.2

…ignore BATS helpers

Signed-off-by: Abhishek S A <abhishek.sa3@dell.com>
Signed-off-by: Abhishek S A <abhishek.sa3@dell.com>
- Migrate container build scripts and Containerfiles to src/containers/
- Add build_images.sh, _common.sh, README.md for container build infra
- Add per-container build.sh for: omnia_core, omnia_auth, omnia_build_stream,
  ldms, kafkapump, victoriapump, telemetry_receiver, image_builder
- Replace Dockerfile with Containerfile naming convention
- Fix .gitignore: stale build_stream/ paths updated to src/build_stream/

Signed-off-by: Abhishek S A <abhishek.sa3@dell.com>
- Import LDMS RPM build scripts from omnia-artifactory RpmFile/ldms/build/
- Add src/rpm_build/build_rpm.sh (entry point, updated paths for monorepo)
- Add src/rpm_build/ldms/build_ldms.rockylinux10.bash (Rocky 10 build)
- Add src/rpm_build/ldms/start_build_container.rockylinux10.bash (container launcher)
- Add src/rpm_build/ldms/configure.sh (LDMS configure flags)
- Add src/rpm_build/ldms/rpm_postuninstall.txt (RPM post-uninstall hook)
- Source: omnia-artifactory (omnia-container branch) RpmFile/

Signed-off-by: Abhishek S A <abhishek.sa3@dell.com>
* PR4: monorepo path fixes — omnia.sh, containers, playbook paths, .gitignore BATS helpers

* PR4: remove legacy test_pr4_validation.sh (replaced by BATS test)

* feat(PR4): migrate containers to src/containers/ + fix .gitignore paths

- Migrate container build scripts and Containerfiles to src/containers/
- Add build_images.sh, _common.sh, README.md for container build infra
- Add per-container build.sh for: omnia_core, omnia_auth, omnia_build_stream,
  ldms, kafkapump, victoriapump, telemetry_receiver, image_builder
- Replace Dockerfile with Containerfile naming convention
- Fix .gitignore: stale build_stream/ paths updated to src/build_stream/

* Update omnia.sh

Signed-off-by: Abhishek S A <abhishek.sa3@dell.com>

---------

Signed-off-by: Abhishek S A <abhishek.sa3@dell.com>
…EADMEs

- image_builder/build.sh: auto-detect host arch (uname -m) to produce
  image-build-el10 (x86_64) or image-build-aarch64 (aarch64); same
  Containerfile.el10 handles both via multi-arch Go download
- Docker mode maps platform from docker info to correct image name
- containers/README.md: complete rewrite with directory layout, dual-arch
  docs, build groups, parameters table, Docker vs Podman comparison,
  troubleshooting; removed stale omnia_branch parameter (not implemented)
- rpm_build/README.md: new file documenting build_rpm.sh workflow, arch
  support (x86_64 + aarch64 auto-detected), parameters, prerequisites,
  relationship between container images and RPM packages

Signed-off-by: Abhishek S A <abhishek.sa3@dell.com>
@abhishek-sa1 abhishek-sa1 force-pushed the feature/mono-pr5-rpm-build branch from cc5120a to e398380 Compare June 29, 2026 17:02
Signed-off-by: Abhishek S A <abhishek.sa3@dell.com>
@abhishek-sa1 abhishek-sa1 marked this pull request as ready for review July 3, 2026 16:20
Signed-off-by: abhishek-sa1 <abhishek.sa3@dell.com>
Signed-off-by: Abhishek S A <abhishek.sa3@dell.com>
Signed-off-by: abhishek-sa1 <abhishek.sa3@dell.com>
Signed-off-by: Abhishek S A <abhishek.sa3@dell.com>
- src/main/omnia.sh (chmod +x)
- src/containers/build_images.sh (chmod +x)
- src/rpm_build/build_rpm.sh (chmod +x)
- Update copyright year to 2026 in omnia.sh

These scripts need execute permissions to run properly on Linux systems. Signed-off-by: abhishek-sa1 <abhishek.sa3@dell.com>

Signed-off-by: Abhishek S A <abhishek.sa3@dell.com>
- Remove git pull from main branch (causes rebase conflicts)
- Skip update if OVIS repo already exists (use cloned version tag)
- Add execute permissions to all shell scripts in:
  - src/rpm_build/ (4 scripts)
  - src/containers/ (14 scripts)

Fixes:
- OVIS v4.5.2 tag clone conflicts with main branch pull
- Permission denied errors on build scripts
- Incorrect relative path in container

Signed-off-by: abhishek-sa1 <abhishek.sa3@dell.com>
Signed-off-by: Abhishek S A <abhishek.sa3@dell.com>
Signed-off-by: abhishek-sa1 <abhishek.sa3@dell.com>
Signed-off-by: Abhishek S A <abhishek.sa3@dell.com>
Changes:
- Fix array expansion in [[ ]] - use \ instead of \
  * build_images.sh line 94: VALID_PARAMS check
  * build_images.sh line 152: COMMON_PARAMS check
  * build_images.sh line 155: allowed_params check
- Move shebang to first line in migrate_strimzi_crds.sh
- Revert LDMS version to 4.5.1 (user preference)
- Remove v4.5.2 autoconf patch (not needed for 4.5.1)

The [*] expansion concatenates array elements with spaces, which is
exactly what the regex pattern matching needs. The surrounding spaces
in the pattern ensure exact parameter name matching.

ShellCheck: 0 errors, 38 warnings (warnings not fixed per user request)

Signed-off-by: abhishek-sa1 <abhishek.sa3@dell.com>
Signed-off-by: Abhishek S A <abhishek.sa3@dell.com>
@abhishek-sa1 abhishek-sa1 force-pushed the feature/mono-pr5-rpm-build branch from c20f1fe to 1916239 Compare July 3, 2026 17:33
@abhishek-sa1 abhishek-sa1 merged commit ba1c50a into dell:q3_main Jul 3, 2026
9 checks passed
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