Skip to content

USHIFT-7587: AI model serving RPM only in the image used for AI model serving RF test - #7570

Open
agullon wants to merge 3 commits into
openshift:mainfrom
agullon:test-ai-model-serving-lrel-scope
Open

agullon wants to merge 3 commits into
openshift:mainfrom
agullon:test-ai-model-serving-lrel-scope

Conversation

@agullon

@agullon agullon commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Summary

While running the 5.0.0-rc.7 release tests, the x86_64 lrel jobs showed performance degradation (memory-pressure page-cache thrash) that the arm jobs did not. Investigation traced a large part of it to the x86_64-only microshift-ai-model-serving (kserve) RPM being installed into the shared rhel{98,102}-bootc-brew-lrel-optional base image. That image is the FROM base for ~39 non-AI lrel scenarios, so on x86 every one of them loaded kserve's CRDs/OpenAPI into the MicroShift apiserver — inflating resident heap by ~940 MB (measured) for scenarios that never exercise AI model serving, and squeezing available memory on the already memory-constrained x86 metal hosts.

This PR scopes the AI RPM to the single scenario that actually tests it, so the non-AI scenarios stay lean and the x86-only pressure is removed.

Changes

  • Remove the MICROSHIFT_X86_64_RPMS (AI model serving) block from the shared rhel102-bootc-brew-lrel-optional and rhel98-bootc-brew-lrel-optional images.
  • Add an x86_64-gated AI RPM install (re-copying the microshift repos, then cleaning up) to the lrel FIPS image, which is consumed exclusively by the *@ai-model-serving-online-fips scenario.
  • Rename the FIPS containerfiles …-brew-lrel-fips → …-brew-lrel-fips-ai (el9 + el10) to reflect that they now carry the AI RPM.
  • Repoint start_image in el98-lrel@ai-model-serving-online-fips.sh and el102-lrel@ai-model-serving-online-fips.sh to the renamed image.

RPM/ostree image (second commit)

The RPM/ostree twin test/image-blueprints/layer4-release/group3/rhel98-brew-lrel-optional.toml (and the .image-installer ISO built from it) also installed the kserve RPM on x86_64. It is the start image for 19 non-AI release scenarios; no RPM/ostree scenario runs suites/ai-model-serving.

On every cold start (cleanup --all, fresh database) the kserve webhook has no endpoints for several minutes. MicroShift applies manifests.d paths sequentially with a 10m retry per path, so 010-kserve / 050-runtimes block everything after them. This is the root cause of the chronic e2e-aws-tests-release flakes on release-5.0:

  • 080-metrics-server lands after the 5m waitForNamespace deadline, the metrics certs are never provisioned and the 600s healthcheck fails: el98-lrel@osconfig "Verify Cluster ID Change For New Database", el98-yminus1@el98-lrel@lvms-standard "Log Scan", "Verify Local Host Name Resolution".
  • Test manifests.d dirs get applied ~14m after restart, past the kustomize suite wait, and the retries exhaust the 60m robot budget: el98-lrel@iso-standard.

Every failing run has Failed to provision metrics-server certs: waiting for namespace openshift-monitoring: context deadline exceeded at the failure time. The bootc el98-lrel@iso-standard twin, whose image no longer has kserve, passed 52/52 in the same CI run.

Router test race (third commit)

Unrelated to kserve, but small and found in the same CI analysis. Deploy Web Server / Deploy Web Server Signed in test/resources/router.resource ran oc create and immediately oc wait pod --selector, which exits with "no matching resources found" if the pod is not created yet (el98-lrel@router-routes "Edge And Passthrough Routes" failed this way, 160ms before the pod was bound). Now they wait with Named Deployment Rollout Should Be Complete (oc rollout status). Verified with robocop and robot --dryrun suites/router/ (31/31).

Testing

  • Verified no remaining references to the old …-brew-lrel-fips image names.
  • suites/optional/ has no kserve references, so the optional scenario is unaffected by dropping the RPM from its base image.
  • Build order holds: optional (group1) builds before fips-ai (group2), which re-copies the same RPM repos it needs.
  • Recommended CI: run the lrel bootc jobs (e2e-aws-tests-bootc-release-el10, -el9, and arm variants) and confirm the x86 non-AI scenarios no longer thrash while ai-model-serving-online-fips still passes.

🤖 Generated with Claude Code

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification

This PR uses the pipeline controller for second-stage tests. Selection and triggering follow the repository configuration.

Use /test ? to list jobs and /pipeline help for commands.

@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository YAML (base), Central YAML (inherited)
  • Review profile: CHILL
  • Plan: Enterprise
  • Run ID: 7e79b47c-7ecb-406d-a5a1-5cde97a6180f
📥 Commits

Reviewing files that changed from the base of the PR and between 200224b and f412d25.

📒 Files selected for processing: 2
  • test/image-blueprints-bootc/el10/layer4-release/group2/rhel102-bootc-brew-lrel-fips-ai.containerfile
  • test/scenarios-bootc/el10/releases/el102-lrel@ai-model-serving-online-fips.sh
💤 Files with no reviewable changes: 1
  • test/image-blueprints-bootc/el10/layer4-release/group2/rhel102-bootc-brew-lrel-fips-ai.containerfile

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 9 remain after this review.

Walkthrough

The EL9 and EL10 optional templates no longer install x86_64-specific RPMs. The FIPS templates install those RPMs from copied MicroShift repositories on x86_64 builds. The EL9 and EL10 scenarios now select AI model-serving FIPS images.

Changes

AI model-serving FIPS images

Layer / File(s) Summary
RPM installation paths
test/image-blueprints-bootc/el9/layer4-release/group1/rhel98-bootc-brew-lrel-optional.containerfile, test/image-blueprints-bootc/el10/layer4-release/group1/rhel102-bootc-brew-lrel-optional.containerfile, test/image-blueprints-bootc/el9/layer4-release/group2/rhel98-bootc-brew-lrel-fips.containerfile, test/image-blueprints-bootc/el10/layer4-release/group2/rhel102-bootc-brew-lrel-fips.containerfile
The optional templates remove x86_64 RPM installation. The FIPS templates install versioned RPMs from copied MicroShift repositories on x86_64 builds and remove temporary repository content.
FIPS AI image templates
test/image-blueprints-bootc/el9/layer4-release/group2/rhel98-bootc-brew-lrel-fips-ai.containerfile, test/image-blueprints-bootc/el10/layer4-release/group2/rhel102-bootc-brew-lrel-fips-ai.containerfile
The templates configure FIPS boot settings, set the FIPS crypto policy, install supporting packages, and install AI model-serving RPMs on x86_64 builds.
Scenario image selection
test/scenarios-bootc/el9/releases/el98-lrel@ai-model-serving-online-fips.sh, test/scenarios-bootc/el10/releases/el102-lrel@ai-model-serving-online-fips.sh
The scenarios select the corresponding AI-enabled FIPS image identifiers.

Priority: ⚪ Pending latest changes

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Bug fix

Sequence Diagram(s)

sequenceDiagram
  participant ReleaseScenario
  participant FIPSImage
  participant MicroShiftRepository
  participant DNF
  ReleaseScenario->>FIPSImage: select AI-enabled FIPS image
  FIPSImage->>MicroShiftRepository: copy repository content on x86_64
  FIPSImage->>DNF: install versioned AI model-serving RPMs
  FIPSImage->>DNF: set FIPS policy and clean metadata
Loading
Merge Risk: ⚪ Minimal · up to f412d

No actionable merge-blocking risk is established by this change.

Pre-merge checks: Passed 15
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 2 files. (1 skipped: 1 …
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 no Ginkgo test titles or other dynamic test-name expressions. The only scenario-name changes use static identifiers: rhel98-bootc-brew-lrel-fips-ai and `rhel102-bootc-brew-lrel-fips-a…
Test Structure And Quality Passed PASS: The pull request changes only bootc containerfiles and release scenario shell scripts. It adds or modifies no Ginkgo test code or It blocks, so the listed Ginkgo quality requirements do not appl…
Microshift Test Compatibility Passed The pull request adds no Ginkgo e2e tests. The authoritative diff changes only containerfile image definitions and two scenario shell files that select the image. No new It(), Describe(), Context(), o…
Single Node Openshift (Sno) Test Compatibility Passed PASS: The pull request adds no new Ginkgo e2e tests. The authoritative diff changes containerfiles and two shell scenario image selections only; no It(), Describe(), Context(), or When() declarations …
Topology-Aware Scheduling Compatibility Passed PASS — The pull request changes only bootc Containerfiles and scenario image selection. It adds/removes RPM installation, FIPS image naming, and start_image values. It does not modify deployment man…
Ote Binary Stdout Contract Passed PASS: The pull request changes only Containerfiles and two shell scenario configuration files. It adds or removes RPM installation, repository cleanup, FIPS image naming, and start_image values. It …
Ipv6 And Disconnected Network Test Compatibility Passed PASS: The pull request changes bootc containerfiles and two scenario shell variables. It adds no Ginkgo e2e tests (It, Describe, Context, or When) and introduces no IPv4 assumptions or externa…
No-Weak-Crypto Passed The pull request does not introduce MD5, SHA1, DES, 3DES, RC4, Blowfish, ECB mode, custom cryptography, or non-constant-time secret comparisons. The added crypto-related commands only enable the FIPS …
Container-Privileges Passed No custom-check violation was introduced. The PR changes only Containerfiles and scenario shell scripts. The added content contains no privileged: true, host namespace settings, SYS_ADMIN, `allowP…
No-Sensitive-Data-In-Logs Passed PASS. The pull request adds no logging statements or commands that print passwords, tokens, API keys, PII, session IDs, hostnames, or customer data. The changes only copy repositories, install RPMs, r…
Title check Passed The title clearly summarizes the main change: limiting AI model serving RPM installation to the image used by the AI model serving RF test.
Full details: Docstring Coverage

Explanation

Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 2 files. (1 skipped: 1 unsupported.)

Full details: Stable And Deterministic Test Names

Explanation

The PR changes no Ginkgo test titles or other dynamic test-name expressions. The only scenario-name changes use static identifiers: rhel98-bootc-brew-lrel-fips-ai and rhel102-bootc-brew-lrel-fips-ai. These contain no generated suffixes, timestamps, node or namespace names, IP addresses, UUIDs, or legacy metadata tokens.

Full details: Test Structure And Quality

Explanation

PASS: The pull request changes only bootc containerfiles and release scenario shell scripts. It adds or modifies no Ginkgo test code or It blocks, so the listed Ginkgo quality requirements do not apply.

Full details: Microshift Test Compatibility

Explanation

The pull request adds no Ginkgo e2e tests. The authoritative diff changes only containerfile image definitions and two scenario shell files that select the image. No new It(), Describe(), Context(), or When() test declarations, MicroShift API references, or unsupported feature assumptions were introduced.

Full details: Single Node Openshift (Sno) Test Compatibility

Explanation

PASS: The pull request adds no new Ginkgo e2e tests. The authoritative diff changes containerfiles and two shell scenario image selections only; no It(), Describe(), Context(), or When() declarations were added. Therefore the SNO multi-node compatibility check is not applicable.

Full details: Topology-Aware Scheduling Compatibility

Explanation

PASS — The pull request changes only bootc Containerfiles and scenario image selection. It adds/removes RPM installation, FIPS image naming, and start_image values. It does not modify deployment manifests, operators, controllers, replicas, affinity, topology spread, node selectors, tolerations, or PDBs. The topology-aware scheduling check is therefore not applicable.

Full details: Ote Binary Stdout Contract

Explanation

PASS: The pull request changes only Containerfiles and two shell scenario configuration files. It adds or removes RPM installation, repository cleanup, FIPS image naming, and start_image values. It does not change Go OTE binaries or process-level code such as main(), suite setup, logging, or stdout handling.

Full details: Ipv6 And Disconnected Network Test Compatibility

Explanation

PASS: The pull request changes bootc containerfiles and two scenario shell variables. It adds no Ginkgo e2e tests (It, Describe, Context, or When) and introduces no IPv4 assumptions or external connectivity requirements in test code.

Full details: No-Weak-Crypto

Explanation

The pull request does not introduce MD5, SHA1, DES, 3DES, RC4, Blowfish, ECB mode, custom cryptography, or non-constant-time secret comparisons. The added crypto-related commands only enable the FIPS crypto policy in the new EL9 and EL10 AI images.

Full details: Container-Privileges

Explanation

No custom-check violation was introduced. The PR changes only Containerfiles and scenario shell scripts. The added content contains no privileged: true, host namespace settings, SYS_ADMIN, allowPrivilegeEscalation: true, root user directive, or Kubernetes security context.

Full details: No-Sensitive-Data-In-Logs

Explanation

PASS. The pull request adds no logging statements or commands that print passwords, tokens, API keys, PII, session IDs, hostnames, or customer data. The changes only copy repositories, install RPMs, remove temporary files, clean DNF metadata, and select an image. Existing repository setup and cleanup do not introduce sensitive-data logging.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

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

@agullon agullon changed the title test: scope AI model serving RPM to the lrel FIPS image NO-ISSUE: scope AI model serving RPM to the lrel FIPS image Oct 21, 2026
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Oct 21, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@agullon: This pull request explicitly references no jira issue.

Details

In response to this:

What

Move the x86_64-only microshift-ai-model-serving RPM out of the shared rhel{98,102}-bootc-brew-lrel-optional base image and into the rhel{98,102}-bootc-brew-lrel-fips image, keeping the install x86_64-gated.

Why

The AI RPM was installed in the shared -brew-lrel-optional base. That image is the FROM base for ~39 non-AI lrel scenarios (router, network, lvms, iso, ginkgo, dual-stack, storage, otp, optional). On x86_64, every one of them therefore loaded kserve's CRDs/OpenAPI into the MicroShift apiserver — inflating resident heap by ~940 MB (measured) for scenarios that never test AI model serving.

The only lrel scenario that runs the AI suite is *@ai-model-serving-online-fips, which boots the -brew-lrel-fips image (FROM -brew-lrel-optional). Scoping the RPM to the FIPS image puts AI exactly where it is exercised and leaves the non-AI scenarios lean.

Changes

  • Remove the MICROSHIFT_X86_64_RPMS block from rhel102-bootc-brew-lrel-optional.containerfile and rhel98-bootc-brew-lrel-optional.containerfile.
  • Add an x86_64-gated AI RPM install (re-copying the microshift repos, then cleaning up) to rhel102-bootc-brew-lrel-fips.containerfile and rhel98-bootc-brew-lrel-fips.containerfile.

Notes

  • suites/optional/ has no kserve references, so the optional scenario is unaffected.
  • Build order holds: optional (group1) builds before fips (group2), which re-copies the same repos it needs.
  • Scope is lrel/release only, as requested. The src path (rhel*-bootc-source-optionals) still bundles AI and is intentionally untouched.

🤖 Generated with Claude Code

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 requested review from eslutsky and jerpeter1 October 21, 2026 14:10
@openshift-ci

openshift-ci Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: agullon

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 Oct 21, 2026
@agullon
agullon marked this pull request as draft October 21, 2026 14:11
@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 Oct 21, 2026
@agullon agullon changed the title NO-ISSUE: scope AI model serving RPM to the lrel FIPS image test: scope AI model serving RPM to the lrel FIPS image Oct 21, 2026
While running the 5.0.0-rc.7 release tests, the x86_64 lrel jobs showed
performance degradation (memory-pressure page-cache thrash) that the arm jobs
did not. A large part of it traced to the x86_64-only microshift-ai-model-serving
(kserve) RPM being installed into the shared rhel{98,102}-bootc-brew-lrel-optional
base image. That image is the FROM base for ~39 non-AI lrel scenarios, so on x86
every one of them loaded kserve's CRDs/OpenAPI into the MicroShift apiserver,
inflating resident heap by ~940 MB (measured) for scenarios that never exercise
AI model serving and squeezing available memory on the memory-constrained x86
metal hosts.

Scope the AI RPM to the single scenario that actually tests it:

- Remove the MICROSHIFT_X86_64_RPMS block from both -brew-lrel-optional images.
- Install the AI RPM (x86_64-gated) in the lrel FIPS image, which is consumed
  exclusively by the *@ai-model-serving-online-fips scenario.
- Rename the FIPS containerfiles -brew-lrel-fips -> -brew-lrel-fips-ai (el9 +
  el10) to reflect that they now carry the AI RPM, and repoint start_image in
  both ai-model-serving-online-fips scenarios accordingly.

suites/optional/ has no kserve references, so the optional scenario is unaffected.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

pre-commit.check-secrets: ENABLED
@agullon
agullon force-pushed the test-ai-model-serving-lrel-scope branch from f412d25 to d79350d Compare October 21, 2026 14:17
@agullon
agullon marked this pull request as ready for review October 21, 2026 14:17
@agullon

agullon commented Oct 21, 2026

Copy link
Copy Markdown
Contributor Author

/auto

@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 Oct 21, 2026
@openshift-ci
openshift-ci Bot requested review from copejon and ggiguash October 21, 2026 14:21
@agullon

agullon commented Oct 21, 2026

Copy link
Copy Markdown
Contributor Author

/pipeline required

@agullon

agullon commented Oct 21, 2026

Copy link
Copy Markdown
Contributor Author

/test e2e-aws-tests-release
/test e2e-aws-tests-release-arm
/test e2e-aws-tests-bootc-release-el9
/test e2e-aws-tests-bootc-release-el10
/test e2e-aws-tests-bootc-release-arm-el9
/test e2e-aws-tests-bootc-release-arm-el10

@agullon agullon changed the title test: scope AI model serving RPM to the lrel FIPS image NO-ISSUE: AI model serving RPM only in the bootc image used for AI model serving RF test Oct 21, 2026
@agullon

agullon commented Oct 21, 2026

Copy link
Copy Markdown
Contributor Author

/pipeline required

@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-aws-tests
/test e2e-aws-tests-arm
/test e2e-aws-tests-bootc-arm-el10
/test e2e-aws-tests-bootc-arm-el9
/test e2e-aws-tests-bootc-el10
/test e2e-aws-tests-bootc-el9

1 similar comment
@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-aws-tests
/test e2e-aws-tests-arm
/test e2e-aws-tests-bootc-arm-el10
/test e2e-aws-tests-bootc-arm-el9
/test e2e-aws-tests-bootc-el10
/test e2e-aws-tests-bootc-el9

@agullon

agullon commented Oct 21, 2026

Copy link
Copy Markdown
Contributor Author

/retest

@agullon

agullon commented Oct 22, 2026

Copy link
Copy Markdown
Contributor Author

/test e2e-aws-tests-cache
/test e2e-aws-tests-cache-arm

@agullon agullon changed the title NO-ISSUE: AI model serving RPM only in the bootc image used for AI model serving RF test USHIFT-7587: AI model serving RPM only in the bootc image used for AI model serving RF test Oct 22, 2026
@openshift-ci-robot

openshift-ci-robot commented Oct 22, 2026 •

Copy link
Copy Markdown

@agullon: This pull request references USHIFT-7587 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.1.0" version, but no target version was set.

Details

In response to this:

Summary

While running the 5.0.0-rc.7 release tests, the x86_64 lrel jobs showed performance degradation (memory-pressure page-cache thrash) that the arm jobs did not. Investigation traced a large part of it to the x86_64-only microshift-ai-model-serving (kserve) RPM being installed into the shared rhel{98,102}-bootc-brew-lrel-optional base image. That image is the FROM base for ~39 non-AI lrel scenarios, so on x86 every one of them loaded kserve's CRDs/OpenAPI into the MicroShift apiserver — inflating resident heap by ~940 MB (measured) for scenarios that never exercise AI model serving, and squeezing available memory on the already memory-constrained x86 metal hosts.

This PR scopes the AI RPM to the single scenario that actually tests it, so the non-AI scenarios stay lean and the x86-only pressure is removed.

Changes

  • Remove the MICROSHIFT_X86_64_RPMS (AI model serving) block from the shared rhel102-bootc-brew-lrel-optional and rhel98-bootc-brew-lrel-optional images.
  • Add an x86_64-gated AI RPM install (re-copying the microshift repos, then cleaning up) to the lrel FIPS image, which is consumed exclusively by the *@ai-model-serving-online-fips scenario.
  • Rename the FIPS containerfiles …-brew-lrel-fips → …-brew-lrel-fips-ai (el9 + el10) to reflect that they now carry the AI RPM.
  • Repoint start_image in el98-lrel@ai-model-serving-online-fips.sh and el102-lrel@ai-model-serving-online-fips.sh to the renamed image.

Testing

  • Verified no remaining references to the old …-brew-lrel-fips image names.
  • suites/optional/ has no kserve references, so the optional scenario is unaffected by dropping the RPM from its base image.
  • Build order holds: optional (group1) builds before fips-ai (group2), which re-copies the same RPM repos it needs.
  • Recommended CI: run the lrel bootc jobs (e2e-aws-tests-bootc-release-el10, -el9, and arm variants) and confirm the x86 non-AI scenarios no longer thrash while ai-model-serving-online-fips still passes.

🤖 Generated with Claude Code

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 commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

@agullon: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-aws-tests-cache d79350d link true /test e2e-aws-tests-cache
ci/prow/e2e-aws-tests-release-arm d79350d link true /test e2e-aws-tests-release-arm
ci/prow/e2e-aws-tests-bootc-arm-el10 d79350d link true /test e2e-aws-tests-bootc-arm-el10
ci/prow/e2e-aws-tests-arm d79350d link true /test e2e-aws-tests-arm
ci/prow/e2e-aws-tests-bootc-arm-el9 d79350d link true /test e2e-aws-tests-bootc-arm-el9
ci/prow/e2e-aws-tests-bootc-release-arm-el9 d79350d link true /test e2e-aws-tests-bootc-release-arm-el9
ci/prow/e2e-aws-tests-release d79350d link true /test e2e-aws-tests-release
ci/prow/e2e-aws-tests-bootc-release-el9 d79350d link true /test e2e-aws-tests-bootc-release-el9
ci/prow/e2e-aws-tests-bootc-el10 d79350d link true /test e2e-aws-tests-bootc-el10
ci/prow/e2e-aws-tests-bootc-release-arm-el10 d79350d link true /test e2e-aws-tests-bootc-release-arm-el10
ci/prow/e2e-aws-tests-bootc-release-el10 d79350d link true /test e2e-aws-tests-bootc-release-el10
ci/prow/e2e-aws-tests-cache-arm d79350d link true /test e2e-aws-tests-cache-arm

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.

The RPM/ostree twin of the bootc change. rhel98-brew-lrel-optional (and the
image-installer ISO built from it) still installed the x86_64-only kserve RPM,
and it is the start image for 19 non-AI release scenarios. No RPM/ostree
scenario runs suites/ai-model-serving.

On every cold start (cleanup --all, fresh database) kserve's webhook has no
endpoints for several minutes. MicroShift applies manifests.d paths
sequentially, retrying each for up to 10m, so 010-kserve and 050-runtimes
block every later path:

- 080-metrics-server lands after the 5m waitForNamespace deadline, the
  metrics certs are never provisioned and the 600s healthcheck fails
  (osconfig "Verify Cluster ID Change For New Database", lvms-standard
  "Log Scan", "Verify Local Host Name Resolution").
- Test manifests.d dirs are applied ~14m after restart, past the kustomize
  suite's 200s wait, and the retries plus sos collection exhaust the 60m
  robot budget (iso-standard).

The bootc iso-standard twin, whose image no longer carries kserve, passed
52/52 in the same CI run.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

pre-commit.check-secrets: ENABLED
@agullon agullon changed the title USHIFT-7587: AI model serving RPM only in the bootc image used for AI model serving RF test USHIFT-7587: AI model serving RPM only in the image used for AI model serving RF test Oct 23, 2026
…tests

Deploy Web Server ran `oc create` and immediately `oc wait pod --selector`.
When the ReplicaSet had not created the pod yet, `oc wait` exits at once with
"no matching resources found" instead of waiting, failing the test setup.
Seen in el98-lrel@router-routes ("Edge And Passthrough Routes"): oc wait gave
up 160ms before the pod was bound.

Wait on the Deployment with `oc rollout status`, which blocks until the
replicas are available even if no pod exists yet. Both web-server manifests
name the Deployment web-server-deploy. Deploy Web Server Signed had the same
pattern, usually hidden by the preceding secret poll.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

pre-commit.check-secrets: ENABLED

This branch has not been deployed

No deployments
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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants