Skip to content

Add LLMInferenceService support - #5

Merged
wseaton merged 2 commits into
mainfrom
feat/llminferenceservice-support
Aug 31, 2026
Merged

wseaton merged 2 commits into
mainfrom
feat/llminferenceservice-support

Conversation

@wseaton

@wseaton wseaton commented Apr 1, 2026

Copy link
Copy Markdown
Collaborator

Adds serving.kserve.io/v1alpha1 LLMInferenceService as a scalable resource kind (l flag).

  • New resources::llminferenceservice CRD definition
  • Owner ref chain walking, scale-to-zero via minReplicas: 0
  • Full test coverage (equality, hashing, Meta trait, event generation, resource flags)

- minimal hand-written CRD type with spec.replicas and serde flatten
- label fast-path: app.kubernetes.io/part-of=llminferenceservice
- owner-ref chain: Pod -> RS -> Deployment -> LLMInferenceService
- scale patches both spec.replicas and spec.prefill.replicas to zero
- new 'l' flag in enabled-resources (default "drsinl")
- 10 unit tests covering bitflags, conversion, equality, hashing, meta
A LeaderWorkerSet created by an LLMInferenceService now resolves to the
owning LLMInferenceService: scaling the LWS alone is undone by the
KServe controller reconciling it back.

find_owner/get_typed helpers replace the nested owner-ref loops, From
impls give every workload type a ScaleKind conversion, and
with_kind_api! collapses the seven-arm fetch/patch matches.

CRD schemas for the opaque passthrough fields now carry an explicit
object type with x-kubernetes-preserve-unknown-fields so LeaderWorkerSet
and LLMInferenceService CRDs install cleanly; kind e2e tests cover the
LWS and LLMISVC-owned-LWS owner chains.
@wseaton
wseaton force-pushed the feat/llminferenceservice-support branch from c2ba4f3 to ed11ce7 Compare August 31, 2026 12:44
@wseaton
wseaton merged commit 32bf2f9 into main Aug 31, 2026
4 checks passed
@wseaton
wseaton deleted the feat/llminferenceservice-support branch August 31, 2026 12:54
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.

1 participant