Skip to content

EPP: Update GetRandomPod() to return nil if no pods exist #731

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

Merged
merged 1 commit into from
Apr 23, 2025

Conversation

danehans
Copy link
Contributor

Update GetRandomPod() to return nil if no pods exist in the datastore. HandleRequestHeaders() will return an internal error when no Pods exist.

Fixes #727

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Apr 23, 2025
@k8s-ci-robot k8s-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Apr 23, 2025
Copy link

netlify bot commented Apr 23, 2025

Deploy Preview for gateway-api-inference-extension ready!

Name Link
🔨 Latest commit a2cbc11
🔍 Latest deploy log https://app.netlify.com/sites/gateway-api-inference-extension/deploys/680930d4ba85980008725dfb
😎 Deploy Preview https://deploy-preview-731--gateway-api-inference-extension.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@danehans
Copy link
Contributor Author

The [pull-gateway-api-inference-extension-test-unit-main](https://prow.k8s.io/view/gs/kubernetes-ci-logs/pr-logs/pull/kubernetes-sigs_gateway-api-inference-extension/731/pull-gateway-api-inference-extension-test-unit-main/1915110036611272704) job is failing due to:

--- FAIL: TestMetricsRefresh (1.04s)
    pod_metrics_test.go:83: 
        	Error Trace:	/home/prow/go/src/sigs.k8s.io/gateway-api-inference-extension/pkg/epp/backend/metrics/pod_metrics_test.go:74
        	            				/usr/local/go/src/runtime/asm_amd64.s:1700
        	Error:      	Should be true
    pod_metrics_test.go:83: 
        	Error Trace:	/home/prow/go/src/sigs.k8s.io/gateway-api-inference-extension/pkg/epp/backend/metrics/pod_metrics_test.go:83
        	Error:      	Condition never satisfied
        	Test:       	TestMetricsRefresh
FAIL
coverage: 66.0% of statements
FAIL	sigs.k8s.io/gateway-api-inference-extension/pkg/epp/backend/metrics	1.123s

This test passes when run locally, retriggering the job.

@danehans
Copy link
Contributor Author

/test pull-gateway-api-inference-extension-test-unit-main

@kfswain
Copy link
Collaborator

kfswain commented Apr 23, 2025

/lgtm
/approve
Thanks!

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 23, 2025
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: danehans, kfswain

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:

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

@k8s-ci-robot k8s-ci-robot merged commit 9eeb2dc into kubernetes-sigs:main Apr 23, 2025
8 checks passed
rlakhtakia pushed a commit to rlakhtakia/gateway-api-inference-extension that referenced this pull request Apr 25, 2025
k8s-ci-robot pushed a commit that referenced this pull request Apr 25, 2025
* Add unit test coverage for pod APIs under datastore/pkg

* Add unit test coverage for pod APIs under datastore/pkg

* Add unit test coverage for pod APIs under datastore/pkg

* Add unit test coverage for pod APIs under datastore/pkg

* EPP Architecture proposal (#683)

* initial changes

* Adding to proposal to give a quick barebones definition to refactor

* feedback changes

* more feedback addressing

* removed unused Fake struct (#723)

Signed-off-by: Nir Rozenbaum <[email protected]>

* epp: return correct response for trailers (#726)

This looks like a copy paste error.

* Refactor scheduler to run plugins (#677)

* Refactor scheduler to run plugins

* Add scheduler plugin latency metric

* Address comments

* Address comments

* Complete the InferencePool documentation (#673)

* Initial guide for inference pool

* Add extensionReference to the InferencePool spec

* Fix list formatting

* Remove unused labels

* Autogenerate the spec

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Rename llm-pool names in rollout example

* Add use cases for replacing an inference pool

* Rewording the background section

* Create replacing-inference-pool.md

* Replace instructions with a link for how to replace an inference pool

* Update replacing-inference-pool.md

* Update mkdocs.yml

* Update replacing-inference-pool.md

* Update inferencemodel_types.go

* Update inferencepool.md

* Update site-src/guides/replacing-inference-pool.md

Co-authored-by: Rob Scott <[email protected]>

---------

Co-authored-by: Rob Scott <[email protected]>

* reduce log level in metrics logger not to trash the log (#708)

* reduce log level in metrics logger not to trash the log

Signed-off-by: Nir Rozenbaum <[email protected]>

* rename flush metrics to refresh metrics

Signed-off-by: Nir Rozenbaum <[email protected]>

* revert log level

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* few updates in datastore (#713)

* few updates in datastore

Signed-off-by: Nir Rozenbaum <[email protected]>

* PoolSet documentation

Signed-off-by: Nir Rozenbaum <[email protected]>

* error phrasing

Signed-off-by: Nir Rozenbaum <[email protected]>

* removed unused pool arg from PodUpdateOrAddIfNotExist

Signed-off-by: Nir Rozenbaum <[email protected]>

* linter

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* scheduler refactoring (#730)

Signed-off-by: Nir Rozenbaum <[email protected]>

* filter irrelevant pod in pod_reconciler (#696)

* EPP: Update GetRandomPod() to return nil if no pods exist (#731)

Signed-off-by: Daneyon Hansen <[email protected]>

* Move filter and scorer plugins registration to a separate file (#729)

* Move filters and scorers registration to filter/scorer specific files

* Default scheduler config contains empty list of scorers

Signed-off-by: Maya Barnea <[email protected]>

* Default plugin is not a scorer any more

Signed-off-by: Maya Barnea <[email protected]>

* fix scheduler test + lint comments

Signed-off-by: Maya Barnea <[email protected]>

---------

Signed-off-by: Maya Barnea <[email protected]>

* Update issue templates (#738)

* Update issue templates

* Updates artifacts for v0.3.0-rc.1 release

Signed-off-by: Kellen Swain <[email protected]>

* Updates bbr chart for v0.3.0-rc.1 release

Signed-off-by: Kellen Swain <[email protected]>

* Updates artifacts for v0.3.0 release

Signed-off-by: Kellen Swain <[email protected]>

* Adding blank issue template so that all issues start with  label

---------

Signed-off-by: Kellen Swain <[email protected]>

* Add unit test coverage for pod APIs under datastore/pkg

* few updates in datastore (#713)

* few updates in datastore

Signed-off-by: Nir Rozenbaum <[email protected]>

* PoolSet documentation

Signed-off-by: Nir Rozenbaum <[email protected]>

* error phrasing

Signed-off-by: Nir Rozenbaum <[email protected]>

* removed unused pool arg from PodUpdateOrAddIfNotExist

Signed-off-by: Nir Rozenbaum <[email protected]>

* linter

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* few updates in datastore (#713)

* few updates in datastore

Signed-off-by: Nir Rozenbaum <[email protected]>

* PoolSet documentation

Signed-off-by: Nir Rozenbaum <[email protected]>

* error phrasing

Signed-off-by: Nir Rozenbaum <[email protected]>

* removed unused pool arg from PodUpdateOrAddIfNotExist

Signed-off-by: Nir Rozenbaum <[email protected]>

* linter

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* Add unit test coverage for pod APIs under datastore/pkg

---------

Signed-off-by: Nir Rozenbaum <[email protected]>
Signed-off-by: Daneyon Hansen <[email protected]>
Signed-off-by: Maya Barnea <[email protected]>
Signed-off-by: Kellen Swain <[email protected]>
Co-authored-by: Kellen Swain <[email protected]>
Co-authored-by: Nir Rozenbaum <[email protected]>
Co-authored-by: John Howard <[email protected]>
Co-authored-by: Cong Liu <[email protected]>
Co-authored-by: Nicole Xin <[email protected]>
Co-authored-by: Rob Scott <[email protected]>
Co-authored-by: nayihz <[email protected]>
Co-authored-by: Daneyon Hansen <[email protected]>
Co-authored-by: Maya Barnea <[email protected]>
shmuelk added a commit to shmuelk/gateway-api-inference-extension that referenced this pull request Apr 27, 2025
* main:
  fixing errors in new template & disabling the default blank template (kubernetes-sigs#742)
  Updating proposal directories to match their PR number (kubernetes-sigs#741)
  added a target dedicated for running unit-test only (kubernetes-sigs#739)
  Add unit tests for pod APIs under pkg/datastore (kubernetes-sigs#712)
  docs: add concepts and definitions to README.md (kubernetes-sigs#734)
  Update issue templates (kubernetes-sigs#738)
  Move filter and scorer plugins registration to a separate file (kubernetes-sigs#729)
  EPP: Update GetRandomPod() to return nil if no pods exist (kubernetes-sigs#731)
  filter irrelevant pod in pod_reconciler (kubernetes-sigs#696)
  scheduler refactoring (kubernetes-sigs#730)

# Conflicts:
#	pkg/epp/scheduling/plugins/picker.go
#	pkg/epp/scheduling/plugins/picker/random_picker.go
#	pkg/epp/scheduling/plugins/pickers/random.go
#	pkg/epp/scheduling/scheduler.go
#	pkg/epp/scheduling/scheduler_test.go
kaushikmitr pushed a commit to kaushikmitr/llm-instance-gateway that referenced this pull request Apr 28, 2025
* Add unit test coverage for pod APIs under datastore/pkg

* Add unit test coverage for pod APIs under datastore/pkg

* Add unit test coverage for pod APIs under datastore/pkg

* Add unit test coverage for pod APIs under datastore/pkg

* EPP Architecture proposal (kubernetes-sigs#683)

* initial changes

* Adding to proposal to give a quick barebones definition to refactor

* feedback changes

* more feedback addressing

* removed unused Fake struct (kubernetes-sigs#723)

Signed-off-by: Nir Rozenbaum <[email protected]>

* epp: return correct response for trailers (kubernetes-sigs#726)

This looks like a copy paste error.

* Refactor scheduler to run plugins (kubernetes-sigs#677)

* Refactor scheduler to run plugins

* Add scheduler plugin latency metric

* Address comments

* Address comments

* Complete the InferencePool documentation (kubernetes-sigs#673)

* Initial guide for inference pool

* Add extensionReference to the InferencePool spec

* Fix list formatting

* Remove unused labels

* Autogenerate the spec

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Rename llm-pool names in rollout example

* Add use cases for replacing an inference pool

* Rewording the background section

* Create replacing-inference-pool.md

* Replace instructions with a link for how to replace an inference pool

* Update replacing-inference-pool.md

* Update mkdocs.yml

* Update replacing-inference-pool.md

* Update inferencemodel_types.go

* Update inferencepool.md

* Update site-src/guides/replacing-inference-pool.md

Co-authored-by: Rob Scott <[email protected]>

---------

Co-authored-by: Rob Scott <[email protected]>

* reduce log level in metrics logger not to trash the log (kubernetes-sigs#708)

* reduce log level in metrics logger not to trash the log

Signed-off-by: Nir Rozenbaum <[email protected]>

* rename flush metrics to refresh metrics

Signed-off-by: Nir Rozenbaum <[email protected]>

* revert log level

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* few updates in datastore (kubernetes-sigs#713)

* few updates in datastore

Signed-off-by: Nir Rozenbaum <[email protected]>

* PoolSet documentation

Signed-off-by: Nir Rozenbaum <[email protected]>

* error phrasing

Signed-off-by: Nir Rozenbaum <[email protected]>

* removed unused pool arg from PodUpdateOrAddIfNotExist

Signed-off-by: Nir Rozenbaum <[email protected]>

* linter

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* scheduler refactoring (kubernetes-sigs#730)

Signed-off-by: Nir Rozenbaum <[email protected]>

* filter irrelevant pod in pod_reconciler (kubernetes-sigs#696)

* EPP: Update GetRandomPod() to return nil if no pods exist (kubernetes-sigs#731)

Signed-off-by: Daneyon Hansen <[email protected]>

* Move filter and scorer plugins registration to a separate file (kubernetes-sigs#729)

* Move filters and scorers registration to filter/scorer specific files

* Default scheduler config contains empty list of scorers

Signed-off-by: Maya Barnea <[email protected]>

* Default plugin is not a scorer any more

Signed-off-by: Maya Barnea <[email protected]>

* fix scheduler test + lint comments

Signed-off-by: Maya Barnea <[email protected]>

---------

Signed-off-by: Maya Barnea <[email protected]>

* Update issue templates (kubernetes-sigs#738)

* Update issue templates

* Updates artifacts for v0.3.0-rc.1 release

Signed-off-by: Kellen Swain <[email protected]>

* Updates bbr chart for v0.3.0-rc.1 release

Signed-off-by: Kellen Swain <[email protected]>

* Updates artifacts for v0.3.0 release

Signed-off-by: Kellen Swain <[email protected]>

* Adding blank issue template so that all issues start with  label

---------

Signed-off-by: Kellen Swain <[email protected]>

* Add unit test coverage for pod APIs under datastore/pkg

* few updates in datastore (kubernetes-sigs#713)

* few updates in datastore

Signed-off-by: Nir Rozenbaum <[email protected]>

* PoolSet documentation

Signed-off-by: Nir Rozenbaum <[email protected]>

* error phrasing

Signed-off-by: Nir Rozenbaum <[email protected]>

* removed unused pool arg from PodUpdateOrAddIfNotExist

Signed-off-by: Nir Rozenbaum <[email protected]>

* linter

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* few updates in datastore (kubernetes-sigs#713)

* few updates in datastore

Signed-off-by: Nir Rozenbaum <[email protected]>

* PoolSet documentation

Signed-off-by: Nir Rozenbaum <[email protected]>

* error phrasing

Signed-off-by: Nir Rozenbaum <[email protected]>

* removed unused pool arg from PodUpdateOrAddIfNotExist

Signed-off-by: Nir Rozenbaum <[email protected]>

* linter

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* Add unit test coverage for pod APIs under datastore/pkg

---------

Signed-off-by: Nir Rozenbaum <[email protected]>
Signed-off-by: Daneyon Hansen <[email protected]>
Signed-off-by: Maya Barnea <[email protected]>
Signed-off-by: Kellen Swain <[email protected]>
Co-authored-by: Kellen Swain <[email protected]>
Co-authored-by: Nir Rozenbaum <[email protected]>
Co-authored-by: John Howard <[email protected]>
Co-authored-by: Cong Liu <[email protected]>
Co-authored-by: Nicole Xin <[email protected]>
Co-authored-by: Rob Scott <[email protected]>
Co-authored-by: nayihz <[email protected]>
Co-authored-by: Daneyon Hansen <[email protected]>
Co-authored-by: Maya Barnea <[email protected]>
kfswain pushed a commit to kfswain/llm-instance-gateway that referenced this pull request Apr 29, 2025
kfswain added a commit to kfswain/llm-instance-gateway that referenced this pull request Apr 29, 2025
* Add unit test coverage for pod APIs under datastore/pkg

* Add unit test coverage for pod APIs under datastore/pkg

* Add unit test coverage for pod APIs under datastore/pkg

* Add unit test coverage for pod APIs under datastore/pkg

* EPP Architecture proposal (kubernetes-sigs#683)

* initial changes

* Adding to proposal to give a quick barebones definition to refactor

* feedback changes

* more feedback addressing

* removed unused Fake struct (kubernetes-sigs#723)

Signed-off-by: Nir Rozenbaum <[email protected]>

* epp: return correct response for trailers (kubernetes-sigs#726)

This looks like a copy paste error.

* Refactor scheduler to run plugins (kubernetes-sigs#677)

* Refactor scheduler to run plugins

* Add scheduler plugin latency metric

* Address comments

* Address comments

* Complete the InferencePool documentation (kubernetes-sigs#673)

* Initial guide for inference pool

* Add extensionReference to the InferencePool spec

* Fix list formatting

* Remove unused labels

* Autogenerate the spec

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Rename llm-pool names in rollout example

* Add use cases for replacing an inference pool

* Rewording the background section

* Create replacing-inference-pool.md

* Replace instructions with a link for how to replace an inference pool

* Update replacing-inference-pool.md

* Update mkdocs.yml

* Update replacing-inference-pool.md

* Update inferencemodel_types.go

* Update inferencepool.md

* Update site-src/guides/replacing-inference-pool.md

Co-authored-by: Rob Scott <[email protected]>

---------

Co-authored-by: Rob Scott <[email protected]>

* reduce log level in metrics logger not to trash the log (kubernetes-sigs#708)

* reduce log level in metrics logger not to trash the log

Signed-off-by: Nir Rozenbaum <[email protected]>

* rename flush metrics to refresh metrics

Signed-off-by: Nir Rozenbaum <[email protected]>

* revert log level

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* few updates in datastore (kubernetes-sigs#713)

* few updates in datastore

Signed-off-by: Nir Rozenbaum <[email protected]>

* PoolSet documentation

Signed-off-by: Nir Rozenbaum <[email protected]>

* error phrasing

Signed-off-by: Nir Rozenbaum <[email protected]>

* removed unused pool arg from PodUpdateOrAddIfNotExist

Signed-off-by: Nir Rozenbaum <[email protected]>

* linter

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* scheduler refactoring (kubernetes-sigs#730)

Signed-off-by: Nir Rozenbaum <[email protected]>

* filter irrelevant pod in pod_reconciler (kubernetes-sigs#696)

* EPP: Update GetRandomPod() to return nil if no pods exist (kubernetes-sigs#731)

Signed-off-by: Daneyon Hansen <[email protected]>

* Move filter and scorer plugins registration to a separate file (kubernetes-sigs#729)

* Move filters and scorers registration to filter/scorer specific files

* Default scheduler config contains empty list of scorers

Signed-off-by: Maya Barnea <[email protected]>

* Default plugin is not a scorer any more

Signed-off-by: Maya Barnea <[email protected]>

* fix scheduler test + lint comments

Signed-off-by: Maya Barnea <[email protected]>

---------

Signed-off-by: Maya Barnea <[email protected]>

* Update issue templates (kubernetes-sigs#738)

* Update issue templates

* Updates artifacts for v0.3.0-rc.1 release

Signed-off-by: Kellen Swain <[email protected]>

* Updates bbr chart for v0.3.0-rc.1 release

Signed-off-by: Kellen Swain <[email protected]>

* Updates artifacts for v0.3.0 release

Signed-off-by: Kellen Swain <[email protected]>

* Adding blank issue template so that all issues start with  label

---------

Signed-off-by: Kellen Swain <[email protected]>

* Add unit test coverage for pod APIs under datastore/pkg

* few updates in datastore (kubernetes-sigs#713)

* few updates in datastore

Signed-off-by: Nir Rozenbaum <[email protected]>

* PoolSet documentation

Signed-off-by: Nir Rozenbaum <[email protected]>

* error phrasing

Signed-off-by: Nir Rozenbaum <[email protected]>

* removed unused pool arg from PodUpdateOrAddIfNotExist

Signed-off-by: Nir Rozenbaum <[email protected]>

* linter

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* few updates in datastore (kubernetes-sigs#713)

* few updates in datastore

Signed-off-by: Nir Rozenbaum <[email protected]>

* PoolSet documentation

Signed-off-by: Nir Rozenbaum <[email protected]>

* error phrasing

Signed-off-by: Nir Rozenbaum <[email protected]>

* removed unused pool arg from PodUpdateOrAddIfNotExist

Signed-off-by: Nir Rozenbaum <[email protected]>

* linter

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* Add unit test coverage for pod APIs under datastore/pkg

---------

Signed-off-by: Nir Rozenbaum <[email protected]>
Signed-off-by: Daneyon Hansen <[email protected]>
Signed-off-by: Maya Barnea <[email protected]>
Signed-off-by: Kellen Swain <[email protected]>
Co-authored-by: Kellen Swain <[email protected]>
Co-authored-by: Nir Rozenbaum <[email protected]>
Co-authored-by: John Howard <[email protected]>
Co-authored-by: Cong Liu <[email protected]>
Co-authored-by: Nicole Xin <[email protected]>
Co-authored-by: Rob Scott <[email protected]>
Co-authored-by: nayihz <[email protected]>
Co-authored-by: Daneyon Hansen <[email protected]>
Co-authored-by: Maya Barnea <[email protected]>
kfswain pushed a commit to kfswain/llm-instance-gateway that referenced this pull request Apr 29, 2025
kfswain added a commit to kfswain/llm-instance-gateway that referenced this pull request Apr 29, 2025
* Add unit test coverage for pod APIs under datastore/pkg

* Add unit test coverage for pod APIs under datastore/pkg

* Add unit test coverage for pod APIs under datastore/pkg

* Add unit test coverage for pod APIs under datastore/pkg

* EPP Architecture proposal (kubernetes-sigs#683)

* initial changes

* Adding to proposal to give a quick barebones definition to refactor

* feedback changes

* more feedback addressing

* removed unused Fake struct (kubernetes-sigs#723)

Signed-off-by: Nir Rozenbaum <[email protected]>

* epp: return correct response for trailers (kubernetes-sigs#726)

This looks like a copy paste error.

* Refactor scheduler to run plugins (kubernetes-sigs#677)

* Refactor scheduler to run plugins

* Add scheduler plugin latency metric

* Address comments

* Address comments

* Complete the InferencePool documentation (kubernetes-sigs#673)

* Initial guide for inference pool

* Add extensionReference to the InferencePool spec

* Fix list formatting

* Remove unused labels

* Autogenerate the spec

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Rename llm-pool names in rollout example

* Add use cases for replacing an inference pool

* Rewording the background section

* Create replacing-inference-pool.md

* Replace instructions with a link for how to replace an inference pool

* Update replacing-inference-pool.md

* Update mkdocs.yml

* Update replacing-inference-pool.md

* Update inferencemodel_types.go

* Update inferencepool.md

* Update site-src/guides/replacing-inference-pool.md

Co-authored-by: Rob Scott <[email protected]>

---------

Co-authored-by: Rob Scott <[email protected]>

* reduce log level in metrics logger not to trash the log (kubernetes-sigs#708)

* reduce log level in metrics logger not to trash the log

Signed-off-by: Nir Rozenbaum <[email protected]>

* rename flush metrics to refresh metrics

Signed-off-by: Nir Rozenbaum <[email protected]>

* revert log level

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* few updates in datastore (kubernetes-sigs#713)

* few updates in datastore

Signed-off-by: Nir Rozenbaum <[email protected]>

* PoolSet documentation

Signed-off-by: Nir Rozenbaum <[email protected]>

* error phrasing

Signed-off-by: Nir Rozenbaum <[email protected]>

* removed unused pool arg from PodUpdateOrAddIfNotExist

Signed-off-by: Nir Rozenbaum <[email protected]>

* linter

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* scheduler refactoring (kubernetes-sigs#730)

Signed-off-by: Nir Rozenbaum <[email protected]>

* filter irrelevant pod in pod_reconciler (kubernetes-sigs#696)

* EPP: Update GetRandomPod() to return nil if no pods exist (kubernetes-sigs#731)

Signed-off-by: Daneyon Hansen <[email protected]>

* Move filter and scorer plugins registration to a separate file (kubernetes-sigs#729)

* Move filters and scorers registration to filter/scorer specific files

* Default scheduler config contains empty list of scorers

Signed-off-by: Maya Barnea <[email protected]>

* Default plugin is not a scorer any more

Signed-off-by: Maya Barnea <[email protected]>

* fix scheduler test + lint comments

Signed-off-by: Maya Barnea <[email protected]>

---------

Signed-off-by: Maya Barnea <[email protected]>

* Update issue templates (kubernetes-sigs#738)

* Update issue templates

* Updates artifacts for v0.3.0-rc.1 release

Signed-off-by: Kellen Swain <[email protected]>

* Updates bbr chart for v0.3.0-rc.1 release

Signed-off-by: Kellen Swain <[email protected]>

* Updates artifacts for v0.3.0 release

Signed-off-by: Kellen Swain <[email protected]>

* Adding blank issue template so that all issues start with  label

---------

Signed-off-by: Kellen Swain <[email protected]>

* Add unit test coverage for pod APIs under datastore/pkg

* few updates in datastore (kubernetes-sigs#713)

* few updates in datastore

Signed-off-by: Nir Rozenbaum <[email protected]>

* PoolSet documentation

Signed-off-by: Nir Rozenbaum <[email protected]>

* error phrasing

Signed-off-by: Nir Rozenbaum <[email protected]>

* removed unused pool arg from PodUpdateOrAddIfNotExist

Signed-off-by: Nir Rozenbaum <[email protected]>

* linter

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* few updates in datastore (kubernetes-sigs#713)

* few updates in datastore

Signed-off-by: Nir Rozenbaum <[email protected]>

* PoolSet documentation

Signed-off-by: Nir Rozenbaum <[email protected]>

* error phrasing

Signed-off-by: Nir Rozenbaum <[email protected]>

* removed unused pool arg from PodUpdateOrAddIfNotExist

Signed-off-by: Nir Rozenbaum <[email protected]>

* linter

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* Add unit test coverage for pod APIs under datastore/pkg

---------

Signed-off-by: Nir Rozenbaum <[email protected]>
Signed-off-by: Daneyon Hansen <[email protected]>
Signed-off-by: Maya Barnea <[email protected]>
Signed-off-by: Kellen Swain <[email protected]>
Co-authored-by: Kellen Swain <[email protected]>
Co-authored-by: Nir Rozenbaum <[email protected]>
Co-authored-by: John Howard <[email protected]>
Co-authored-by: Cong Liu <[email protected]>
Co-authored-by: Nicole Xin <[email protected]>
Co-authored-by: Rob Scott <[email protected]>
Co-authored-by: nayihz <[email protected]>
Co-authored-by: Daneyon Hansen <[email protected]>
Co-authored-by: Maya Barnea <[email protected]>
kfswain pushed a commit to kfswain/llm-instance-gateway that referenced this pull request Apr 29, 2025
kfswain added a commit to kfswain/llm-instance-gateway that referenced this pull request Apr 29, 2025
* Add unit test coverage for pod APIs under datastore/pkg

* Add unit test coverage for pod APIs under datastore/pkg

* Add unit test coverage for pod APIs under datastore/pkg

* Add unit test coverage for pod APIs under datastore/pkg

* EPP Architecture proposal (kubernetes-sigs#683)

* initial changes

* Adding to proposal to give a quick barebones definition to refactor

* feedback changes

* more feedback addressing

* removed unused Fake struct (kubernetes-sigs#723)

Signed-off-by: Nir Rozenbaum <[email protected]>

* epp: return correct response for trailers (kubernetes-sigs#726)

This looks like a copy paste error.

* Refactor scheduler to run plugins (kubernetes-sigs#677)

* Refactor scheduler to run plugins

* Add scheduler plugin latency metric

* Address comments

* Address comments

* Complete the InferencePool documentation (kubernetes-sigs#673)

* Initial guide for inference pool

* Add extensionReference to the InferencePool spec

* Fix list formatting

* Remove unused labels

* Autogenerate the spec

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Rename llm-pool names in rollout example

* Add use cases for replacing an inference pool

* Rewording the background section

* Create replacing-inference-pool.md

* Replace instructions with a link for how to replace an inference pool

* Update replacing-inference-pool.md

* Update mkdocs.yml

* Update replacing-inference-pool.md

* Update inferencemodel_types.go

* Update inferencepool.md

* Update site-src/guides/replacing-inference-pool.md

Co-authored-by: Rob Scott <[email protected]>

---------

Co-authored-by: Rob Scott <[email protected]>

* reduce log level in metrics logger not to trash the log (kubernetes-sigs#708)

* reduce log level in metrics logger not to trash the log

Signed-off-by: Nir Rozenbaum <[email protected]>

* rename flush metrics to refresh metrics

Signed-off-by: Nir Rozenbaum <[email protected]>

* revert log level

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* few updates in datastore (kubernetes-sigs#713)

* few updates in datastore

Signed-off-by: Nir Rozenbaum <[email protected]>

* PoolSet documentation

Signed-off-by: Nir Rozenbaum <[email protected]>

* error phrasing

Signed-off-by: Nir Rozenbaum <[email protected]>

* removed unused pool arg from PodUpdateOrAddIfNotExist

Signed-off-by: Nir Rozenbaum <[email protected]>

* linter

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* scheduler refactoring (kubernetes-sigs#730)

Signed-off-by: Nir Rozenbaum <[email protected]>

* filter irrelevant pod in pod_reconciler (kubernetes-sigs#696)

* EPP: Update GetRandomPod() to return nil if no pods exist (kubernetes-sigs#731)

Signed-off-by: Daneyon Hansen <[email protected]>

* Move filter and scorer plugins registration to a separate file (kubernetes-sigs#729)

* Move filters and scorers registration to filter/scorer specific files

* Default scheduler config contains empty list of scorers

Signed-off-by: Maya Barnea <[email protected]>

* Default plugin is not a scorer any more

Signed-off-by: Maya Barnea <[email protected]>

* fix scheduler test + lint comments

Signed-off-by: Maya Barnea <[email protected]>

---------

Signed-off-by: Maya Barnea <[email protected]>

* Update issue templates (kubernetes-sigs#738)

* Update issue templates

* Updates artifacts for v0.3.0-rc.1 release

Signed-off-by: Kellen Swain <[email protected]>

* Updates bbr chart for v0.3.0-rc.1 release

Signed-off-by: Kellen Swain <[email protected]>

* Updates artifacts for v0.3.0 release

Signed-off-by: Kellen Swain <[email protected]>

* Adding blank issue template so that all issues start with  label

---------

Signed-off-by: Kellen Swain <[email protected]>

* Add unit test coverage for pod APIs under datastore/pkg

* few updates in datastore (kubernetes-sigs#713)

* few updates in datastore

Signed-off-by: Nir Rozenbaum <[email protected]>

* PoolSet documentation

Signed-off-by: Nir Rozenbaum <[email protected]>

* error phrasing

Signed-off-by: Nir Rozenbaum <[email protected]>

* removed unused pool arg from PodUpdateOrAddIfNotExist

Signed-off-by: Nir Rozenbaum <[email protected]>

* linter

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* few updates in datastore (kubernetes-sigs#713)

* few updates in datastore

Signed-off-by: Nir Rozenbaum <[email protected]>

* PoolSet documentation

Signed-off-by: Nir Rozenbaum <[email protected]>

* error phrasing

Signed-off-by: Nir Rozenbaum <[email protected]>

* removed unused pool arg from PodUpdateOrAddIfNotExist

Signed-off-by: Nir Rozenbaum <[email protected]>

* linter

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* Add unit test coverage for pod APIs under datastore/pkg

---------

Signed-off-by: Nir Rozenbaum <[email protected]>
Signed-off-by: Daneyon Hansen <[email protected]>
Signed-off-by: Maya Barnea <[email protected]>
Signed-off-by: Kellen Swain <[email protected]>
Co-authored-by: Kellen Swain <[email protected]>
Co-authored-by: Nir Rozenbaum <[email protected]>
Co-authored-by: John Howard <[email protected]>
Co-authored-by: Cong Liu <[email protected]>
Co-authored-by: Nicole Xin <[email protected]>
Co-authored-by: Rob Scott <[email protected]>
Co-authored-by: nayihz <[email protected]>
Co-authored-by: Daneyon Hansen <[email protected]>
Co-authored-by: Maya Barnea <[email protected]>
@danehans danehans deleted the issue_727 branch May 1, 2025 22:26
JeffLuoo pushed a commit to JeffLuoo/gateway-api-inference-extension that referenced this pull request May 2, 2025
JeffLuoo pushed a commit to JeffLuoo/gateway-api-inference-extension that referenced this pull request May 2, 2025
* Add unit test coverage for pod APIs under datastore/pkg

* Add unit test coverage for pod APIs under datastore/pkg

* Add unit test coverage for pod APIs under datastore/pkg

* Add unit test coverage for pod APIs under datastore/pkg

* EPP Architecture proposal (kubernetes-sigs#683)

* initial changes

* Adding to proposal to give a quick barebones definition to refactor

* feedback changes

* more feedback addressing

* removed unused Fake struct (kubernetes-sigs#723)

Signed-off-by: Nir Rozenbaum <[email protected]>

* epp: return correct response for trailers (kubernetes-sigs#726)

This looks like a copy paste error.

* Refactor scheduler to run plugins (kubernetes-sigs#677)

* Refactor scheduler to run plugins

* Add scheduler plugin latency metric

* Address comments

* Address comments

* Complete the InferencePool documentation (kubernetes-sigs#673)

* Initial guide for inference pool

* Add extensionReference to the InferencePool spec

* Fix list formatting

* Remove unused labels

* Autogenerate the spec

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Update site-src/api-types/inferencepool.md

Co-authored-by: Rob Scott <[email protected]>

* Rename llm-pool names in rollout example

* Add use cases for replacing an inference pool

* Rewording the background section

* Create replacing-inference-pool.md

* Replace instructions with a link for how to replace an inference pool

* Update replacing-inference-pool.md

* Update mkdocs.yml

* Update replacing-inference-pool.md

* Update inferencemodel_types.go

* Update inferencepool.md

* Update site-src/guides/replacing-inference-pool.md

Co-authored-by: Rob Scott <[email protected]>

---------

Co-authored-by: Rob Scott <[email protected]>

* reduce log level in metrics logger not to trash the log (kubernetes-sigs#708)

* reduce log level in metrics logger not to trash the log

Signed-off-by: Nir Rozenbaum <[email protected]>

* rename flush metrics to refresh metrics

Signed-off-by: Nir Rozenbaum <[email protected]>

* revert log level

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* few updates in datastore (kubernetes-sigs#713)

* few updates in datastore

Signed-off-by: Nir Rozenbaum <[email protected]>

* PoolSet documentation

Signed-off-by: Nir Rozenbaum <[email protected]>

* error phrasing

Signed-off-by: Nir Rozenbaum <[email protected]>

* removed unused pool arg from PodUpdateOrAddIfNotExist

Signed-off-by: Nir Rozenbaum <[email protected]>

* linter

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* scheduler refactoring (kubernetes-sigs#730)

Signed-off-by: Nir Rozenbaum <[email protected]>

* filter irrelevant pod in pod_reconciler (kubernetes-sigs#696)

* EPP: Update GetRandomPod() to return nil if no pods exist (kubernetes-sigs#731)

Signed-off-by: Daneyon Hansen <[email protected]>

* Move filter and scorer plugins registration to a separate file (kubernetes-sigs#729)

* Move filters and scorers registration to filter/scorer specific files

* Default scheduler config contains empty list of scorers

Signed-off-by: Maya Barnea <[email protected]>

* Default plugin is not a scorer any more

Signed-off-by: Maya Barnea <[email protected]>

* fix scheduler test + lint comments

Signed-off-by: Maya Barnea <[email protected]>

---------

Signed-off-by: Maya Barnea <[email protected]>

* Update issue templates (kubernetes-sigs#738)

* Update issue templates

* Updates artifacts for v0.3.0-rc.1 release

Signed-off-by: Kellen Swain <[email protected]>

* Updates bbr chart for v0.3.0-rc.1 release

Signed-off-by: Kellen Swain <[email protected]>

* Updates artifacts for v0.3.0 release

Signed-off-by: Kellen Swain <[email protected]>

* Adding blank issue template so that all issues start with  label

---------

Signed-off-by: Kellen Swain <[email protected]>

* Add unit test coverage for pod APIs under datastore/pkg

* few updates in datastore (kubernetes-sigs#713)

* few updates in datastore

Signed-off-by: Nir Rozenbaum <[email protected]>

* PoolSet documentation

Signed-off-by: Nir Rozenbaum <[email protected]>

* error phrasing

Signed-off-by: Nir Rozenbaum <[email protected]>

* removed unused pool arg from PodUpdateOrAddIfNotExist

Signed-off-by: Nir Rozenbaum <[email protected]>

* linter

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* few updates in datastore (kubernetes-sigs#713)

* few updates in datastore

Signed-off-by: Nir Rozenbaum <[email protected]>

* PoolSet documentation

Signed-off-by: Nir Rozenbaum <[email protected]>

* error phrasing

Signed-off-by: Nir Rozenbaum <[email protected]>

* removed unused pool arg from PodUpdateOrAddIfNotExist

Signed-off-by: Nir Rozenbaum <[email protected]>

* linter

Signed-off-by: Nir Rozenbaum <[email protected]>

---------

Signed-off-by: Nir Rozenbaum <[email protected]>

* Add unit test coverage for pod APIs under datastore/pkg

---------

Signed-off-by: Nir Rozenbaum <[email protected]>
Signed-off-by: Daneyon Hansen <[email protected]>
Signed-off-by: Maya Barnea <[email protected]>
Signed-off-by: Kellen Swain <[email protected]>
Co-authored-by: Kellen Swain <[email protected]>
Co-authored-by: Nir Rozenbaum <[email protected]>
Co-authored-by: John Howard <[email protected]>
Co-authored-by: Cong Liu <[email protected]>
Co-authored-by: Nicole Xin <[email protected]>
Co-authored-by: Rob Scott <[email protected]>
Co-authored-by: nayihz <[email protected]>
Co-authored-by: Daneyon Hansen <[email protected]>
Co-authored-by: Maya Barnea <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Panic when there are no pods
3 participants