Final drop of the scale-from-zero implementation - #606
Conversation
There was a problem hiding this comment.
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.Readerwithclient.Clientthroughout the codebase to enable write operations needed for scaling - Integrated
PodScrapingSourceinto 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 |
eefa54a to
8fff566
Compare
974503a to
2555737
Compare
3d3652b to
a53f130
Compare
43b45df to
cd8e033
Compare
62decf8 to
484e6d0
Compare
475f02a to
dabdbcb
Compare
Done! I am expecting for this PR to have a single commit only. Thanks! |
| 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 \ |
There was a problem hiding this comment.
should be http://%s-istio:80/v1/completions
538da74 to
61a093d
Compare
There was a problem hiding this comment.
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
| wg.Wait() | ||
| close(errorCh) | ||
|
|
||
| // Aggregate errors |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
I fix it in a follow-up PR. Thanks!
07dc069 to
2ad304a
Compare
2ad304a to
f6952a7
Compare
f6952a7 to
f59205c
Compare
Signed-off-by: Braulio Dumba <Braulio.Dumba@ibm.com>
3b31877 to
ef00e47
Compare
|
/ok-to-test |
|
/retest |
|
/lgtm |
|
emulated tests pass. Merging. |
lionelvillard
left a comment
There was a problem hiding this comment.
thanks @dumb0002 , great work!
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