Skip to content

Final drop of the scale-from-zero implementation - #606

Merged
lionelvillard merged 1 commit into
llm-d:mainfrom
dumb0002:scale-from-zero-part2
Jan 23, 2026
Merged

Final drop of the scale-from-zero implementation#606
lionelvillard merged 1 commit into
llm-d:mainfrom
dumb0002:scale-from-zero-part2

Conversation

@dumb0002

@dumb0002 dumb0002 commented Jan 19, 2026

Copy link
Copy Markdown
Collaborator

This PR starts the implementation of the logic to support scale from zero outlined in the design doc here

This PR is responsible for the following:

Related Issue: #372

Copilot AI review requested due to automatic review settings January 19, 2026 18:43

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

This PR implements scale-from-zero functionality by integrating pod-based metrics collection from EndpointPicker services and preparing for direct actuation to scale workloads from zero replicas.

Changes:

  • Replaced client.Reader with client.Client throughout the codebase to enable write operations needed for scaling
  • Integrated PodScrapingSource into the datastore to collect metrics from EndpointPicker pods
  • Added infrastructure for direct actuation with commented-out code blocks pending completion

Reviewed changes

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

Show a summary per file
File Description
internal/utils/pool/pool.go Updated function signatures to accept client.Client instead of client.Reader
internal/utils/pool/gvr.go Fixed package declaration from scalefromzero to pool
internal/engines/scalefromzero/engine_test.go Updated test to use Client field instead of Reader
internal/engines/scalefromzero/engine.go Added metrics collection logic using PodScrapingSource and prepared actuation code
internal/datastore/datastore_test.go Updated test calls to include required ctx and client parameters
internal/datastore/datastore.go Enhanced PoolSet to create and register pod scraping sources for metrics collection
internal/controller/inferencepool_reconciler_test.go Updated tests to use Client field instead of Reader
internal/controller/inferencepool_reconciler.go Changed reconciler to use client.Client and pass required parameters
cmd/main.go Updated main to pass Client instead of Reader to reconciler

Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go
Comment thread cmd/main.go
Copilot AI review requested due to automatic review settings January 20, 2026 18:30

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 10 out of 10 changed files in this pull request and generated 5 comments.

Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
@dumb0002
dumb0002 force-pushed the scale-from-zero-part2 branch from eefa54a to 8fff566 Compare January 20, 2026 18:31
Copilot AI review requested due to automatic review settings January 20, 2026 18:34

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 11 out of 11 changed files in this pull request and generated 3 comments.

Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go
Copilot AI review requested due to automatic review settings January 20, 2026 19: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 11 out of 11 changed files in this pull request and generated 3 comments.

Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
Copilot AI review requested due to automatic review settings January 20, 2026 20:44

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 11 out of 11 changed files in this pull request and generated 5 comments.

Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread cmd/main.go
Copilot AI review requested due to automatic review settings January 20, 2026 21:51

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 11 out of 11 changed files in this pull request and generated 3 comments.

Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
Copilot AI review requested due to automatic review settings January 20, 2026 22:05

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 11 out of 11 changed files in this pull request and generated 2 comments.

Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/engines/scalefromzero/engine.go Outdated
@dumb0002
dumb0002 force-pushed the scale-from-zero-part2 branch from 974503a to 2555737 Compare January 20, 2026 22:08
Copilot AI review requested due to automatic review settings January 20, 2026 22:11

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 11 out of 11 changed files in this pull request and generated 1 comment.

Comment thread internal/engines/scalefromzero/engine.go Outdated
Copilot AI review requested due to automatic review settings January 21, 2026 01:03

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 11 out of 11 changed files in this pull request and generated 2 comments.

Comment thread internal/engines/scalefromzero/engine.go Outdated
Comment thread internal/datastore/datastore.go Outdated
Copilot AI review requested due to automatic review settings January 21, 2026 02:32

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 11 out of 11 changed files in this pull request and generated 2 comments.

Comment thread internal/engines/scalefromzero/engine.go
Comment thread internal/datastore/datastore.go
@dumb0002
dumb0002 force-pushed the scale-from-zero-part2 branch from 3d3652b to a53f130 Compare January 21, 2026 02:50
Copilot AI review requested due to automatic review settings January 21, 2026 13:05

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 11 out of 11 changed files in this pull request and generated 1 comment.

Comment thread internal/engines/scalefromzero/engine.go Outdated
@dumb0002
dumb0002 force-pushed the scale-from-zero-part2 branch from 43b45df to cd8e033 Compare January 21, 2026 13:21
Copilot AI review requested due to automatic review settings January 21, 2026 14:22

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 11 out of 11 changed files in this pull request and generated no new comments.

@dumb0002
dumb0002 force-pushed the scale-from-zero-part2 branch from 62decf8 to 484e6d0 Compare January 21, 2026 14:24
Copilot AI review requested due to automatic review settings January 21, 2026 15:38

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 16 out of 16 changed files in this pull request and generated 1 comment.

Comment thread deploy/install.sh
@dumb0002
dumb0002 force-pushed the scale-from-zero-part2 branch from 475f02a to dabdbcb Compare January 23, 2026 18:54
@dumb0002

Copy link
Copy Markdown
Collaborator Author

Please squash commits.

Done! I am expecting for this PR to have a single commit only. Thanks!

Copilot AI review requested due to automatic review settings January 23, 2026 18:57
while [ $SENT -lt %d ]; do
echo "Sending request $((SENT + 1)) / %d..."

RESPONSE=$(curl -s -w "\n%%{http_code}" --max-time 180 -X POST http://%s:80/v1/completions \

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.

should be http://%s-istio:80/v1/completions

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.

Fixed. Thanks!

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.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copilot AI review requested due to automatic review settings January 23, 2026 20:42

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 53 out of 53 changed files in this pull request and generated 2 comments.

Comment thread deploy/install.sh
Comment thread deploy/install.sh
@dumb0002
dumb0002 force-pushed the scale-from-zero-part2 branch 2 times, most recently from 538da74 to 61a093d Compare January 23, 2026 20:50
Copilot AI review requested due to automatic review settings January 23, 2026 20:54

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 16 out of 16 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (1)

deploy/install.sh:1

  • The word 'addres' is misspelled in the commented-out echo statement.
#!/bin/bash

Comment thread test/e2e-saturation-based/e2e_scale_from_zero_test.go
wg.Wait()
close(errorCh)

// Aggregate errors

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.

Error aggregation below should run in a goroutine to consume errors as they are produced. Otherwise there is a risk of a deadlock when the errorCh buffer is full.

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.

I fix it in a follow-up PR. Thanks!

Copilot AI review requested due to automatic review settings January 23, 2026 21:07
@dumb0002
dumb0002 force-pushed the scale-from-zero-part2 branch from 07dc069 to 2ad304a Compare January 23, 2026 21:07

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 16 out of 16 changed files in this pull request and generated 3 comments.

Comment thread test/e2e-saturation-based/e2e_scale_from_zero_test.go Outdated
Comment thread test/e2e-saturation-based/e2e_scale_from_zero_test.go Outdated
Comment thread internal/engines/scalefromzero/engine.go
@dumb0002
dumb0002 force-pushed the scale-from-zero-part2 branch from 2ad304a to f6952a7 Compare January 23, 2026 21:13
Copilot AI review requested due to automatic review settings January 23, 2026 21:17
@dumb0002
dumb0002 force-pushed the scale-from-zero-part2 branch from f6952a7 to f59205c Compare January 23, 2026 21:17

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 16 out of 16 changed files in this pull request and generated 3 comments.

Comment thread test/e2e-saturation-based/e2e_scale_from_zero_test.go Outdated
Comment thread internal/engines/scalefromzero/engine.go
Comment thread charts/workload-variant-autoscaler/templates/rbac/role.yaml
Signed-off-by: Braulio Dumba <Braulio.Dumba@ibm.com>
@dumb0002
dumb0002 force-pushed the scale-from-zero-part2 branch from 3b31877 to ef00e47 Compare January 23, 2026 21:32
@lionelvillard

Copy link
Copy Markdown
Collaborator

/ok-to-test

@lionelvillard

Copy link
Copy Markdown
Collaborator

/retest

@asm582

asm582 commented Jan 23, 2026

Copy link
Copy Markdown
Collaborator

/lgtm
/approve

@lionelvillard

Copy link
Copy Markdown
Collaborator

emulated tests pass. Merging.

@github-actions github-actions Bot added the lgtm Looks good to me, indicates that a PR is ready to be merged. label Jan 23, 2026

@lionelvillard lionelvillard left a comment

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.

thanks @dumb0002 , great work!

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

Labels

lgtm Looks good to me, indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants