Skip to content

refactor: unify E2E setup into Makefile targets, remove dead serverless/OSSM scripts#1433

Draft
jlost wants to merge 6 commits intoopendatahub-io:masterfrom
jlost:makefile-overrides-improvements
Draft

refactor: unify E2E setup into Makefile targets, remove dead serverless/OSSM scripts#1433
jlost wants to merge 6 commits intoopendatahub-io:masterfrom
jlost:makefile-overrides-improvements

Conversation

@jlost
Copy link
Copy Markdown

@jlost jlost commented Apr 21, 2026

What this PR does / why we need it:

Consolidates the local E2E test workflow into consistent Makefile targets and removes dead serverless/OSSM infrastructure:

New Makefile targets and scripts:

  • Adds build-images-ocp, setup-e2e-ocp, e2e-ocp, reset-e2e-ocp, teardown-e2e-ocp Make targets in Makefile.overrides.mk
  • setup-e2e-ocp accepts OPERATOR_TYPE (odh/rhoai), OPERATOR_VERSION, and CATALOG_SOURCE for operator-based installs
  • Adds install-operator.sh for operator installation with version pinning, channel detection, and catalog source configuration
  • Adds apply-dsci-dsc.sh for DSCI/DSC application with optional cert-manager + Kueue

Bug fixes:

  • Fix INSTALL_ODH_OPERATOR=true path: SeaweedFS was not deployed in operator mode, causing setup-e2e-tests.sh to timeout waiting for a deployment that nobody created. The operator doesn't include SeaweedFS, so it must be deployed separately for E2E tests.

Cleanup and refactoring:

  • Refactors build-kserve-images.sh with a build_tag_push helper (eliminates manual docker tag/push steps)
  • Aligns image names (AGENT_IMG, ROUTER_IMG, STORAGE_INIT_IMG) with ODH registry conventions
  • Removes deploy.serverless.sh and deploy.ossm.sh (dead code -- nothing calls them)
  • Removes ServiceMeshMember cleanup from teardown-ci-namespace.sh
  • Drops unused DEPLOYMENT_TYPE arg from setup-ci-namespace.sh
  • Updates fvt-tests.md to document the new Makefile-based E2E workflow

Which issue(s) this PR fixes:

Feature/Issue validation/testing:

  • make setup-e2e-ocp E2E_MARKER=predictor on a fresh cluster (manual deploy mode)
  • make setup-e2e-ocp E2E_MARKER=predictor OPERATOR_TYPE=odh (operator mode)
  • make e2e-ocp E2E_MARKER=predictor runs tests successfully
  • make reset-e2e-ocp resets namespace cleanly
  • make teardown-e2e-ocp tears down without errors
  • make build-images-ocp QUAY_REPO=quay.io/<user> builds and pushes images

Special notes for your reviewer:

deploy.serverless.sh and deploy.ossm.sh were not referenced by any script or CI config. Service Mesh was only referenced in teardown-ci-namespace.sh (ServiceMeshMember cleanup) and version.sh (diagnostic grep), both now cleaned up.

Checklist:

  • Have you added unit/e2e tests that prove your fix is effective or that this feature works?
  • Has code been commented, particularly in hard-to-understand areas?
  • Have you made corresponding changes to the documentation?
  • Have you linked the JIRA issue(s) to this PR?
NONE

jlost added 3 commits April 17, 2026 19:01
- Override BASE_IMG to UBI in Makefile.overrides.mk so `make
  docker-build-*` uses the same base image the Dockerfiles expect
  (fixes dnf-not-found on Debian slim)
- Deploy SeaweedFS separately in ODH operator mode since the operator
  doesn't include it, but the E2E tests need a local S3 backend

Made-with: Cursor
Extract operator installation logic into install-operator.sh (shared by
deploy.odh.sh and VS Code tasks) and DSCI/DSC application into
apply-dsci-dsc.sh. Enhance the setup-e2e-ocp Makefile target to accept
OPERATOR_TYPE, OPERATOR_VERSION, and CATALOG_SOURCE, translating them
into INSTALL_ODH_OPERATOR for setup-e2e-tests.sh.

MIRROR_IMAGES is now auto-derived (true when OPERATOR_TYPE=rhoai and
CATALOG_SOURCE is an FBC fragment image).

setup-e2e-tests.sh is unchanged -- backward compatible with existing CI.

Made-with: Cursor
- Add `build-images-ocp` and `reset-e2e-ocp` Makefile targets
- Remove deploy.serverless.sh and deploy.ossm.sh (dead code)
- Remove ServiceMeshMember cleanup from teardown-ci-namespace.sh
- Remove serverless/servicemesh references from version.sh
- Drop unused DEPLOYMENT_TYPE arg from setup-ci-namespace.sh
- Update fvt-tests.md to document Makefile-based E2E workflow

Made-with: Cursor
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Apr 21, 2026

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

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Apr 21, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jlost

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

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 21, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: d018b72f-8602-401e-83ae-e5d770c00884

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

jlost added 3 commits April 22, 2026 09:52
- deploy.odh.sh: use OPERATOR_NAME for CSV lookup and dynamic pod
  selector from deployment matchLabels (was hardcoded to ODH)
- copy-kserve-manifests-to-pvc.sh: derive operator deployment name
  from OPERATOR_TYPE instead of hardcoding ODH label
- setup-e2e-tests.sh: set KSERVE_NAMESPACE per operator type
  (redhat-ods-applications for RHOAI, opendatahub for ODH);
  skip DSCI apply when one already exists (RHOAI auto-creates it)
- Makefile.overrides.mk: forward COPY_PR_MANIFESTS to setup script;
  add $(strip) to all forwarded variables for VSCode space defaults

Made-with: Cursor
- Replace the deletion of the S3 init job with a forceful replacement to ensure the job is updated correctly.
- This change improves the reliability of the S3 initialization process during E2E tests.

Made-with: Cursor
Signed-off-by: James Ostrander <jostrand@redhat.com>
- Removed unused INSTALL_ODH_OPERATOR variable and refactored setup-e2e-tests.sh to derive installation mode from OPERATOR_TYPE.
- Updated teardown-e2e-setup.sh to support both raw and operator-based deployments, ensuring a more robust cleanup process.
- Enhanced install-operator.sh to dynamically handle channel detection and CSV validation, improving operator installation reliability.
- Adjusted deploy.odh.sh to remove the CHANNEL_OVERRIDE variable, simplifying the script.

Made-with: Cursor
Signed-off-by: James Ostrander <jostrand@redhat.com>
@rhods-ci-bot
Copy link
Copy Markdown

@jlost: The following test has Failed:

OCI Artifact Browser URL

View in Artifact Browser

Inspecting Test Artifacts Manually

To inspect your test artifacts manually, follow these steps:

  1. Install ORAS (see the ORAS installation guide).
  2. Download artifacts with the following commands:
mkdir -p oras-artifacts
cd oras-artifacts
oras pull quay.io/opendatahub/odh-ci-artifacts:kserve-group-test-n2djv

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

Projects

Status: New/Backlog

Development

Successfully merging this pull request may close these issues.

2 participants