Skip to content

Sync/250617 incubation main #472

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

brettmthompson
Copy link
Contributor

Post Release ODH Sync for RHOAIENG-26306

Description

How Has This Been Tested?

Merge criteria:

  • JIRA(s) are linked in the PR description
  • The commits are squashed in a cohesive manner and have meaningful messages.
  • Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
  • The developer has manually tested the changes and verified that the changes work

spolti and others added 10 commits May 21, 2025 06:30
…atahub-io#459)

[RHOAIENG-25522]

While the reported issue was not reproducible in the current code base,
I've made an improvement in the serverless mode route deletion, it was
deleting the route based on the isvc name, whereas it should be deleting
based on the owner reference, similar to how raw route handling is done.

Plus, a unit test was added to verify that the route is still deployed upon
Inference Service deletion.

Signed-off-by: Spolti <[email protected]>
…hub-io#452)

* Add KEDA reconciler for raw deployment mode

Integrate KEDA-based autoscaling for KServe InferenceServices
in RawDeployment mode.

This allows ISVCs to autoscale on custom Prometheus metrics via KEDA,
with secure OpenShift Monitoring access. The reconciler
automates KEDA/RBAC resource lifecycle.

Key changes:
- New KServeKEDAReconciler manages KEDA-specific resources
  (ServiceAccount, Secret, Role, RoleBinding, TriggerAuthentication)
  for Prometheus-based autoscaling.
  - Creates resources if ISVC uses Prometheus external metric.
  - Adds ISVC as non-controlling owner to shared resources.
  - Removes ISVC owner reference if KEDA metrics unused or ISVC deleted.
  - Cleans up KEDA resources from namespace if no ISVCs use KEDA.
- InferenceService controller now:
  - Watches KEDA TriggerAuthentication, Role, RoleBinding.
  - Uses MatchEveryOwner for ServiceAccount, Secret for sharing.
  - Conditionally watches TriggerAuthentication if CRD present.
- KEDA API (keda.sh/v1alpha1) registered with scheme.
- A few tests added for KServe KEDA reconciler, covering:
  - Creation/ownership of KEDA resources for multiple ISVCs.
  - Owner reference removal on ISVC deletion/metric config change.
  - Handling updates to managed KEDA resources.
  - Scenarios with shared/unrequired KEDA resources.
  - Namespace cleanup.

Signed-off-by: Pierangelo Di Pilato <[email protected]>

* Update ClusterRole through kubebuilder tags

Signed-off-by: Pierangelo Di Pilato <[email protected]>

* Improve test readability

- Extract HaveOwnerReferenceByUID GomegaMatcher into a reusable matcher
- Extract KEDA resources fixture functions to not clutter the specs
- Inline assertions

Signed-off-by: Pierangelo Di Pilato <[email protected]>

* Improve logging

Signed-off-by: Pierangelo Di Pilato <[email protected]>

* AsOwnerRef separate file

Signed-off-by: Pierangelo Di Pilato <[email protected]>

* Remove ctx override and unnecessary comment

Signed-off-by: Pierangelo Di Pilato <[email protected]>

---------

Signed-off-by: Pierangelo Di Pilato <[email protected]>
Separate HF Detector into its own params.env file
…endatahub-io#465)

* adding default behavior for setting timeout on openshift routes created for isvcs. Also adding support for overrding this defautl behavior by setting the haproxy.router.openshift.io/timeout annotation in an isvc

Signed-off-by: Brett Thompson <[email protected]>

* now setting openshift route timeout equal to the sum of all inference service component timeouts by default

Signed-off-by: Brett Thompson <[email protected]>

* no longer setting all isvc annotations in the openshift route created by the KserveRouteReconciler to avoid unneccessary route updates

Signed-off-by: Brett Thompson <[email protected]>

---------

Signed-off-by: Brett Thompson <[email protected]>
* update openshift template with a runtime version

Signed-off-by: Edward Arthur Quarm Jnr <[email protected]>

* move annotations from template to servingruntime metadata

Signed-off-by: Edward Arthur Quarm Jnr <[email protected]>

---------

Signed-off-by: Edward Arthur Quarm Jnr <[email protected]>
Co-authored-by: Edward Arthur Quarm Jnr <[email protected]>
Copy link

coderabbitai bot commented Jun 17, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

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.

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


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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@brettmthompson brettmthompson added the tide/merge-method-merge Change lgtm to use a merge commit label Jun 17, 2025
@spolti
Copy link
Member

spolti commented Jun 18, 2025

/approve

Copy link
Contributor

openshift-ci bot commented Jun 18, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: brettmthompson, spolti

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:
  • OWNERS [brettmthompson,spolti]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@hdefazio
Copy link
Contributor

/lgtm

@openshift-ci openshift-ci bot added the lgtm label Jun 18, 2025
@openshift-merge-bot openshift-merge-bot bot merged commit 33da3ab into opendatahub-io:main Jun 18, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved lgtm tide/merge-method-merge Change lgtm to use a merge commit
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants