Skip to content

AGENT-1577: Use master branch of appliance as image builder - #333

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
zaneb:agent-release-iso-builder
Aug 31, 2026
Merged

AGENT-1577: Use master branch of appliance as image builder#333
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
zaneb:agent-release-iso-builder

Conversation

@zaneb

@zaneb zaneb commented Aug 6, 2026

Copy link
Copy Markdown
Member

Switch to the agent-release-iso-builder CI image that is built from the current OCP release branch.

This replaces agent-preinstall-image-builder, which is now built from the branch of the same name and does not use stable branches.

This depends on openshift/release#83022

Summary by CodeRabbit

  • Chores
    • Updated ISO construction to use the latest release ISO builder image.
    • Updated the live ISO creation workflow to reference the new builder image.
    • Revised related documentation to reflect the updated image name.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Aug 6, 2026
@openshift-ci-robot

openshift-ci-robot commented Aug 6, 2026

Copy link
Copy Markdown

@zaneb: This pull request references AGENT-1577 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Switch to the agent-release-iso-builder CI image that is built from the current OCP release branch.

This replaces agent-preinstall-image-builder, which is now built from the branch of the same name and does not use stable branches.

This depends on openshift/release#83022

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 6, 2026
@openshift-ci

openshift-ci Bot commented Aug 6, 2026

Copy link
Copy Markdown

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Walkthrough

The ISO builder now uses agent-release-iso-builder for its documented image, Dockerfile builder stage, and live ISO default appliance image.

Changes

ISO Builder Image Update

Layer / File(s) Summary
Update ISO builder image references
tools/iso_builder/CLAUDE.md, tools/iso_builder/Dockerfile, tools/iso_builder/hack/build-ove-image.sh
The documented image, Dockerfile base image, and live ISO fallback image now use agent-release-iso-builder. The previous preinstall image reference is removed.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Suggested reviewers: bfournie

🚥 Pre-merge checks | ✅ 14 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title refers to the image builder but incorrectly states that it uses the appliance master branch; the change uses the current OCP release branch. Update the title to state that the change switches to the agent-release-iso-builder image built from the current OCP release branch.
✅ Passed checks (14 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed The PR changes only image references in documentation, Dockerfile, and shell setup; it adds no Ginkgo tests or test titles, so the check is not applicable.
Test Structure And Quality ✅ Passed The PR changes only documentation, a Dockerfile, and a shell script. It adds or modifies no Ginkgo tests, so the test-structure requirements are not applicable.
Microshift Test Compatibility ✅ Passed The patch changes only image references in documentation, Dockerfile, and a shell script. It adds no Ginkgo e2e tests or MicroShift-incompatible test usage.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The pull request changes only documentation, a Dockerfile base image, and a shell-script default; it adds no Ginkgo e2e tests requiring SNO compatibility review.
Topology-Aware Scheduling Compatibility ✅ Passed The patch changes only three appliance image references in documentation, a Dockerfile, and a shell script; it adds no deployment, operator, controller, or scheduling constraints.
Ote Binary Stdout Contract ✅ Passed The PR only changes ISO-builder image references; the repository has no OTE/openshift-tests binary or suite setup. Its sole main is the unrelated agent-tui tool.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The pull request changes only ISO-builder documentation, Dockerfile, and shell image selection; no new Ginkgo e2e tests or test network assumptions were added.
No-Weak-Crypto ✅ Passed The PR changes only three appliance-image strings; introduced lines contain no MD5, SHA1, DES, RC4, 3DES, Blowfish, ECB, crypto implementation, or secret comparison.
Container-Privileges ✅ Passed The PR only changes appliance image references. Existing --privileged, --net=host, and privileged-nested settings are unchanged; no new privilege setting is added.
No-Sensitive-Data-In-Logs ✅ Passed The diff changes only image references in documentation, Dockerfile, and a default variable; it adds no logging or passwords, tokens, keys, PII, session IDs, or customer data.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@openshift-ci

openshift-ci Bot commented Aug 6, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: zaneb

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 6, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
tools/iso_builder/Dockerfile (1)

2-30: 🔒 Security & Privacy | 🟠 Major | 🏗️ Heavy lift

Add a separate final stage.

AS builder on Line 2 does not create a multi-stage build. The builder becomes the final image and retains build tools, /openshift-appliance, and the generated appliance-config.yaml. The configuration is created from the mounted pull secret, and the cleanup commands do not remove it.

Add a final stage that copies only the generated ISO and runs as a non-root user.

As per path instructions, Dockerfiles must use multi-stage builds and must not keep build tools or secrets in the final image.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tools/iso_builder/Dockerfile` around lines 2 - 30, Add a separate final stage
after the existing builder stage, copying only the generated ISO from builder
and configuring a non-root runtime user. Ensure the final image excludes build
tools, /openshift-appliance, appliance-config.yaml, and any secret-derived
files, while preserving the ISO output.

Source: Path instructions

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@tools/iso_builder/Dockerfile`:
- Around line 2-30: Add a separate final stage after the existing builder stage,
copying only the generated ISO from builder and configuring a non-root runtime
user. Ensure the final image excludes build tools, /openshift-appliance,
appliance-config.yaml, and any secret-derived files, while preserving the ISO
output.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 681f43aa-64de-42a9-95dc-f81855d71215

📥 Commits

Reviewing files that changed from the base of the PR and between c031572 and e17ddff.

📒 Files selected for processing (3)
  • tools/iso_builder/CLAUDE.md
  • tools/iso_builder/Dockerfile
  • tools/iso_builder/hack/build-ove-image.sh

@zaneb
zaneb marked this pull request as ready for review August 20, 2026 09:54
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 20, 2026
@openshift-ci
openshift-ci Bot requested review from celebdor and rwsu August 20, 2026 09:56
@zaneb

zaneb commented Aug 21, 2026

Copy link
Copy Markdown
Member Author

CI config merged, so this should be good to go.
/cc @bfournie

@openshift-ci
openshift-ci Bot requested a review from bfournie August 21, 2026 03:26
@bfournie

Copy link
Copy Markdown
Contributor

@zaneb We haven't really been maintaining the Konflux tekton files for the master branch since we only release out of stable branches, its still using 4.22 here to build an ISO https://github.com/openshift/agent-installer-utils/blob/main/.tekton/ove-ui-iso-pull-request.yaml#L43-L45. As a result the Konflux build fails with:

time="2026-08-20T09:57:13Z" level=info msg="buildah [stderr] Trying to pull quay-proxy.ci.openshift.org/openshift/ci:ocp_4.22_agent-release-iso-builder..."
441
time="2026-08-20T09:57:13Z" level=info msg="buildah [stderr] Error: unable to copy from source docker://quay-proxy.ci.openshift.org/openshift/ci:ocp_4.22_agent-release-iso-builder: initializing source docker://quay-proxy.ci.openshift.org/openshift/ci:ocp_4.22_agent-release-iso-builder: reading manifest ocp_4.22_agent-release-iso-builder in quay-proxy.ci.openshift.org/openshift/ci: manifest unknown"

I assume that this image is not available yet in 4.22?

We should probably:

  • short term: fix the Konflux tekton files in a separate PR to use images from the current master branch (currently 5.1)
  • long term: remove these Konflux files from master once the transition to build the ISOs out of the ART namespace is complete

That will avoid us having to override this test with each PR.

@zaneb

zaneb commented Aug 23, 2026

Copy link
Copy Markdown
Member Author

I haven't changed the CI image name on branches prior to 5.1 because that would mess up builds on release-* branches. So yeah, we need master building using the master openshift/appliance image. I'm not completely clear on how this is set up - it looks like the tekton config is generally managed by Konflux itself?

@bfournie

Copy link
Copy Markdown
Contributor

/override "Red Hat Konflux kflux-prd-rh02 / Red Hat Konflux / ove-ui-enterprise-contract / ove-ui-iso"

@openshift-ci

openshift-ci Bot commented Aug 25, 2026

Copy link
Copy Markdown

@bfournie: /override requires failed status contexts, check run or a prowjob name to operate on.
The following unknown contexts/checkruns were given:

  • Red Hat Konflux kflux-prd-rh02 / Red Hat Konflux / ove-ui-enterprise-contract / ove-ui-iso

Only the following failed contexts/checkruns were expected:

  • CodeRabbit
  • Konflux kflux-prd-rh02 / ove-ui-iso-on-pull-request
  • Red Hat Konflux / ove-ui-enterprise-contract / ove-ui-iso
  • ci/prow/gofmt
  • ci/prow/govet
  • ci/prow/images
  • ci/prow/okd-scos-images
  • ci/prow/unit
  • ci/prow/verify-deps
  • ci/prow/verify-vendor
  • pull-ci-openshift-agent-installer-utils-main-gofmt
  • pull-ci-openshift-agent-installer-utils-main-govet
  • pull-ci-openshift-agent-installer-utils-main-images
  • pull-ci-openshift-agent-installer-utils-main-okd-scos-images
  • pull-ci-openshift-agent-installer-utils-main-unit
  • pull-ci-openshift-agent-installer-utils-main-verify-deps
  • pull-ci-openshift-agent-installer-utils-main-verify-vendor
  • tide

If you are trying to override a checkrun that has a space in it, you must put a double quote on the context.

Details

In response to this:

/override "Red Hat Konflux kflux-prd-rh02 / Red Hat Konflux / ove-ui-enterprise-contract / ove-ui-iso"

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

openshift-merge-bot Bot pushed a commit that referenced this pull request Aug 26, 2026
We are in the process of migrating the Konflux builds to the ART
namespace and these .texton files will no longer be maintained.
Until then we'll get Konflux build failures since the appliance
release is named agent-release-iso-builder in the main branch
only, see #333.

This is an attempt to get the Konflux builds to pass for now using
a nightly release since we currently don't have any stable releases
for 5.1.
@zaneb

zaneb commented Aug 27, 2026

Copy link
Copy Markdown
Member Author

/retest

1 similar comment
@bfournie

Copy link
Copy Markdown
Contributor

/retest

@bfournie

Copy link
Copy Markdown
Contributor

@zaneb Even though the Konflux files were updated to use 5.1 instead of 4.22, the pull-request test is still failing with
time="2026-08-27T13:04:21Z" level=info msg="buildah [stderr] Error: unable to copy from source docker://quay-proxy.ci.openshift.org/openshift/ci:ocp_4.22_agent-release-iso-builder: initializing source

I think you just need to rebase this PR to pick up the .tekton change for this version.

Switch to the agent-release-iso-builder CI image that is built from the
current OCP release branch.

This replaces agent-preinstall-image-builder, which is now built from
the branch of the same name and does not use stable branches.
@zaneb
zaneb force-pushed the agent-release-iso-builder branch from e17ddff to 16743ca Compare August 30, 2026 22:27
@zaneb

zaneb commented Aug 31, 2026

Copy link
Copy Markdown
Member Author

That seemed to do the trick, thanks Bob.

@bfournie

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Aug 31, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-agent-bad-dns
/test e2e-agent-compact-ipv4

@bfournie

Copy link
Copy Markdown
Contributor

/test ?

@bfournie

Copy link
Copy Markdown
Contributor

/test e2e-agent-compact-ipv4-iso-no-registry

@openshift-ci

openshift-ci Bot commented Aug 31, 2026

Copy link
Copy Markdown

@zaneb: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@bfournie

Copy link
Copy Markdown
Contributor

/verified by ci/prow/e2e-agent-compact-ipv4-iso-no-registry

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Aug 31, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@bfournie: This PR has been marked as verified by ci/prow/e2e-agent-compact-ipv4-iso-no-registry.

Details

In response to this:

/verified by ci/prow/e2e-agent-compact-ipv4-iso-no-registry

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-merge-bot
openshift-merge-bot Bot merged commit 49322a1 into openshift:main Aug 31, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants