Skip to content

Adding support for multiple inferencePools API - #659

Merged
lionelvillard merged 1 commit into
llm-d:mainfrom
dumb0002:inferencepool-multiple-apis
Jan 28, 2026
Merged

Adding support for multiple inferencePools API#659
lionelvillard merged 1 commit into
llm-d:mainfrom
dumb0002:inferencepool-multiple-apis

Conversation

@dumb0002

Copy link
Copy Markdown
Collaborator

The PR adds support for both inference.networking.k8s.io and inference.networking.x-k8s.io InferencePool API groups.

Copilot AI review requested due to automatic review settings January 27, 2026 21:40

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds runtime support for reconciling InferencePool resources from either the stable (inference.networking.k8s.io) or alpha (inference.networking.x-k8s.io) API group.

Changes:

  • Introduces constants for the supported InferencePool API groups and validates selection at startup.
  • Replaces the previous default-only Pool GKNN helper with a group-aware GetPoolGKNN(poolGroup) that returns an error on invalid input.
  • Plumbs a new POOL_GROUP environment variable into cmd/main.go to select which API group to watch.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 6 comments.

File Description
internal/utils/pool/pool.go Adds supported group constants and a validated group-aware GKNN constructor.
cmd/main.go Uses POOL_GROUP to build the Pool GKNN and fails fast on invalid configuration.

Comment thread internal/utils/pool/pool.go
Comment thread cmd/main.go Outdated
Comment thread cmd/main.go Outdated
Comment thread internal/utils/pool/pool.go Outdated
Comment thread internal/utils/pool/pool.go
Comment thread internal/utils/pool/pool.go
@dumb0002
dumb0002 force-pushed the inferencepool-multiple-apis branch from f716e35 to 161d6e3 Compare January 27, 2026 23:04
Comment thread cmd/main.go Outdated

// Create InferencePool reconciler
poolGroupEnv := os.Getenv("POOL_GROUP")
poolGKNN, err := poolutil.GetPoolGKNN(os.Getenv(poolGroupEnv))

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why the indirection? POOL_GROUP is the name of the envar? Why?

Also does that mean a WVA instance can only support one group at a time?

@dumb0002 dumb0002 Jan 28, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lionelvillard, this is to allow to configure the inferencepool API group via an envar. In the EPP pod the API group for the inferencepool is configured via a container flag.

The POOL_GROUP env var does not need to be set - the default value is inference.networking.x-k8s.io

Each EPP instance only supports one group at a time and we used similar pattern for the WVA implementation of scaleFromZero. Otherwise, we would need to have two reconcile, one for each group.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry I still don't get it. Why poolutil.GetPoolGKNN(os.Getenv(poolGroupEnv)) and not poolutil.GetPoolGKNN(poolGroupEnv)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lionelvillard, I pushed a commit last night updating the code. See lines https://github.com/dumb0002/workload-variant-autoscaler/blob/inferencepool-multiple-apis/cmd/main.go#L426-L430.

Does it answer your questions?

Copilot AI review requested due to automatic review settings January 28, 2026 14:50
@dumb0002
dumb0002 force-pushed the inferencepool-multiple-apis branch from 161d6e3 to 67cabf4 Compare January 28, 2026 14:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

@dumb0002

Copy link
Copy Markdown
Collaborator Author

/ok-to-test

@github-actions

Copy link
Copy Markdown
Contributor

🚀 E2E tests triggered by /ok-to-test

View the OpenShift E2E workflow run

@dumb0002
dumb0002 force-pushed the inferencepool-multiple-apis branch from c113972 to ba9efab Compare January 28, 2026 16:20
Copilot AI review requested due to automatic review settings January 28, 2026 16:25
@dumb0002
dumb0002 force-pushed the inferencepool-multiple-apis branch from 274d5d6 to fb8fabb Compare January 28, 2026 16:27
Signed-off-by: Braulio Dumba <Braulio.Dumba@ibm.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

Comment thread cmd/main.go
Comment thread cmd/main.go
@dumb0002
dumb0002 force-pushed the inferencepool-multiple-apis branch from c8f18e1 to 4864310 Compare January 28, 2026 16:30
@dumb0002

Copy link
Copy Markdown
Collaborator Author

/ok-to-test

@github-actions

Copy link
Copy Markdown
Contributor

🚀 E2E tests triggered by /ok-to-test

View the OpenShift E2E workflow run

@lionelvillard
lionelvillard merged commit f659987 into llm-d:main Jan 28, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants