Skip to content

Latest commit

 

History

History
86 lines (61 loc) · 3.99 KB

post-release-kserve-smoke.md

File metadata and controls

86 lines (61 loc) · 3.99 KB

Post-release kserve-module smoke

OpenShift-only validation after an ODH Model Serving release cut:

  • odh-model-controller Running (no restarts), KServeReady=True
  • One LLMInferenceService reaches Ready=True

Tests live in opendatahub-io/kserve (post_release pytest marker, make e2e-kserve-module-post-release).

When to run

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:

  1. Cut the kserve tag - run the workflow with repository: kserve and tag_name: odh-vX.Y (or -ea1/-ea2 suffix if applicable).
  2. Wait for the operator image - confirm quay.io/opendatahub/odh-kserve-module-operator:<tag> exists on Quay.
  3. Trigger smoke - on any open opendatahub-io/kserve PR, comment /test e2e-kserve-module-post-release. Auto-resolve picks the newest odh-vX.Y or odh-vX.Y-eaN/-rcN tag. To pin a specific tag locally: export RELEASE_TAG=<tag> && bash hack/ci/post-release-smoke.sh.
  4. Cut odh-model-controller (and other components) - the release workflow requires the kserve tag to exist before bumping go.mod in 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.

How to run (OpenShift CI)

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-release on 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.

What the job validates

  1. Fresh OpenShift install via kserve-module operator .../odh-kserve-module-operator:<tag>.
  2. odh-model-controller Running, KServeReady=True.
  3. One LLMInferenceService reaches Ready=True.

On failure, Prow artifacts include OMC logs, KServe CR, and LLMISVC state.

Local dry run (optional)

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.sh

This does not validate Hypershift cluster provisioning.

Further reading