OpenShift-only validation after an ODH Model Serving release cut:
odh-model-controllerRunning (no restarts),KServeReady=True- One
LLMInferenceServicereachesReady=True
Tests live in opendatahub-io/kserve
(post_release pytest marker, make e2e-kserve-module-post-release).
After cutting an ODH release tag and publishing the operator image on Quay. The smoke does not run automatically on PR merges or tag pushes (OpenShift CI cannot host a tag-regex postsubmit under the generated master jobs today).
Use this repo's ODH Release Workflow (Actions -> ODH Release Workflow) to cut component tags. For post-release smoke, the relevant sequence is:
- Cut the kserve tag - run the workflow with
repository: kserveandtag_name: odh-vX.Y(or-ea1/-ea2suffix if applicable). - Wait for the operator image - confirm
quay.io/opendatahub/odh-kserve-module-operator:<tag>exists on Quay. - Trigger smoke - on any open opendatahub-io/kserve
PR, comment
/test e2e-kserve-module-post-release. Auto-resolve picks the newestodh-vX.Yorodh-vX.Y-eaN/-rcNtag. To pin a specific tag locally:export RELEASE_TAG=<tag> && bash hack/ci/post-release-smoke.sh. - Cut odh-model-controller (and other components) - the release workflow
requires the kserve tag to exist before bumping
go.modin this repo.
Run the smoke after step 2 and before treating the kserve release as validated
for RHOAI downstream sync. Re-run with the same /test comment (or Prow UI) if the
operator image was rebuilt without creating a new tag.
Orchestration is an OpenShift CI optional presubmit on opendatahub-io/kserve:
- Job:
pull-ci-opendatahub-io-kserve-master-e2e-kserve-module-post-release - Context:
ci/prow/e2e-kserve-module-post-release - Trigger:
/test e2e-kserve-module-post-releaseon a kserve PR
# After operator image is on Quay and odh-vX.Y or odh-vX.Y-eaN is pushed:
/test e2e-kserve-module-post-release
The job provisions an ephemeral Hypershift cluster, checks out the newest
odh-vX.Y or odh-vX.Y-(ea|rc)N tag (version sort: -ea of X.Y above plain
X.Y; next minor above prior -ea), installs the published operator image, and
runs hack/ci/post-release-smoke.sh. (/test cannot pass a tag; pin locally with
RELEASE_TAG if needed.)
Watch runs: OpenShift CI - opendatahub-io/kserve
Re-run: same /test comment, or Prow UI -> Re-run.
- Fresh OpenShift install via kserve-module operator
.../odh-kserve-module-operator:<tag>. odh-model-controllerRunning,KServeReady=True.- One
LLMInferenceServicereachesReady=True.
On failure, Prow artifacts include OMC logs, KServe CR, and LLMISVC state.
To debug tests without OpenShift CI, on CRC or any OpenShift cluster with kubeconfig:
git clone https://github.com/opendatahub-io/kserve.git && cd kserve
git checkout odh-v3.6 # release tag under test
export RELEASE_TAG=odh-v3.6
bash hack/ci/post-release-smoke.shThis does not validate Hypershift cluster provisioning.
- kserve tests:
kserve-module/tests/e2e/test_release_validation.py - kserve runbook: docs/dev/post-release-smoke-openshift-ci.md
- kserve E2E docs: kserve-module/docs/tests/test.km-e2e.md
- OpenShift CI config: openshift/release
opendatahub-io-kserve-master.yaml