Skip to content

Fix with new kserve version moving from RawDeployment namee to standard#1283

Merged
mwaykole merged 3 commits intoopendatahub-io:mainfrom
mwaykole:standardfix
Mar 24, 2026
Merged

Fix with new kserve version moving from RawDeployment namee to standard#1283
mwaykole merged 3 commits intoopendatahub-io:mainfrom
mwaykole:standardfix

Conversation

@mwaykole
Copy link
Copy Markdown
Member

@mwaykole mwaykole commented Mar 24, 2026

Pull Request

Summary

Newer versions of KServe renamed the RawDeployment deployment mode to Standard. The KServe controller on the cluster now converts the serving.kserve.io/deploymentMode annotation from RawDeployment to Standard, causing test failures with ValueError: Unknown deployment mode Standard.

This PR adds Standard as a recognized deployment mode and treats it identically to RawDeployment across the test framework.

Related Issues

  • Fixes:
  • JIRA:

How it has been tested

  • Locally
  • Jenkins

Additional Requirements

  • If this PR introduces a new test image, did you create a PR to mirror it in disconnected environment?
  • If this PR introduces new marker(s)/adds a new component, was relevant ticket created to update relevant Jenkins job?

Summary by CodeRabbit

  • New Features

    • Added support for a new Standard deployment mode for KServe inference services.
  • Refactor

    • Updated deployment mode detection logic to handle multiple raw deployment variants uniformly across the platform, improving consistency in service configuration and exposure handling.

Signed-off-by: Milind waykole <mwaykole@redhat.com>
@github-actions
Copy link
Copy Markdown

The following are automatically added/executed:

  • PR size label.
  • Run pre-commit
  • Run tox
  • Add PR author as the PR assignee
  • Build image based on the PR

Available user actions:

  • To mark a PR as WIP, add /wip in a comment. To remove it from the PR comment /wip cancel to the PR.
  • To block merging of a PR, add /hold in a comment. To un-block merging of PR comment /hold cancel.
  • To mark a PR as approved, add /lgtm in a comment. To remove, add /lgtm cancel.
    lgtm label removed on each new commit push.
  • To mark PR as verified comment /verified to the PR, to un-verify comment /verified cancel to the PR.
    verified label removed on each new commit push.
  • To Cherry-pick a merged PR /cherry-pick <target_branch_name> to the PR. If <target_branch_name> is valid,
    and the current PR is merged, a cherry-picked PR would be created and linked to the current PR.
  • To build and push image to quay, add /build-push-pr-image in a comment. This would create an image with tag
    pr-<pr_number> to quay repository. This image tag, however would be deleted on PR merge or close action.
Supported labels

{'/wip', '/build-push-pr-image', '/hold', '/verified', '/lgtm', '/cherry-pick'}

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 24, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Pro

Run ID: 5e4bde94-7ec9-4a41-b9d4-1f7c560a0d63

📥 Commits

Reviewing files that changed from the base of the PR and between 70a5608 and 509f011.

📒 Files selected for processing (5)
  • tests/model_serving/model_server/utils.py
  • utilities/constants.py
  • utilities/general.py
  • utilities/inference_utils.py
  • utilities/infra.py

📝 Walkthrough

Walkthrough

Refactored deployment mode checks across KServe utilities to use a new RAW_DEPLOYMENT_MODES constant grouping, which now includes both RAW_DEPLOYMENT and the newly added STANDARD mode. Membership checks replace direct equality comparisons in conditional logic across five files.

Changes

Cohort / File(s) Summary
Constants Definition
utilities/constants.py
Added STANDARD = "Standard" and RAW_DEPLOYMENT_MODES tuple containing RAW_DEPLOYMENT and STANDARD modes.
Mode Checking Logic
utilities/general.py, utilities/inference_utils.py, utilities/infra.py
Updated deployment mode conditionals from equality checks against RAW_DEPLOYMENT to membership checks against RAW_DEPLOYMENT_MODES across multiple functions: create_isvc_label_selector_str, is_service_exposed, generate_command, get_target_port, create_isvc, and wait_for_inference_deployment_replicas.
Test Assertions
tests/model_serving/model_server/utils.py
Broadened authorization-denied assertion for InferenceGraph responses to trigger on any mode in RAW_DEPLOYMENT_MODES rather than only RAW_DEPLOYMENT.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Actionable issues:

  1. Incomplete coverage verification: Confirm all deployment mode checks throughout the codebase have been audited. Missing conversions elsewhere could cause behavioral divergence.

  2. Semantic ambiguity: STANDARD being grouped into RAW_DEPLOYMENT_MODES lacks documentation. Clarify whether "STANDARD" actually has raw-deployment semantics or if the naming/grouping is misleading—this could lead to misclassification in future maintenance.

  3. Transitive dependencies: Verify that external callers or integrations depending on KServeDeploymentType.RAW_DEPLOYMENT equality checks haven't been silently affected by this broadening. This could introduce subtle authorization or routing bypass vectors if not propagated consistently.

🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title describes the main change (handling KServe's rename from RawDeployment to Standard), but contains a typo ('namee' instead of 'name'), making it appear less professional.
Description check ✅ Passed The description covers the core issue and solution, but required fields (Fixes and JIRA) lack actual issue/ticket references, and testing/requirements checkboxes remain unchecked.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

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

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

@mwaykole mwaykole enabled auto-merge (squash) March 24, 2026 09:23
@mwaykole mwaykole merged commit a69bc77 into opendatahub-io:main Mar 24, 2026
10 checks passed
@github-actions
Copy link
Copy Markdown

Status of building tag latest: success.
Status of pushing tag latest to image registry: success.

kpunwatk pushed a commit to kpunwatk/opendatahub-tests that referenced this pull request Mar 24, 2026
…rd (opendatahub-io#1283)

* Fix with new kserve version  moving from RawDeployment namee to standard

Signed-off-by: Milind waykole <mwaykole@redhat.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Signed-off-by: Milind waykole <mwaykole@redhat.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Signed-off-by: Karishma Punwatkar <kpunwatk@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants