Skip to content

✨ Document and test client-only install pattern (controller.enabled=false) - #747

Merged
clubanderson merged 1 commit into
mainfrom
feat/client-only-install-docs-and-tests
Feb 18, 2026
Merged

✨ Document and test client-only install pattern (controller.enabled=false)#747
clubanderson merged 1 commit into
mainfrom
feat/client-only-install-docs-and-tests

Conversation

@clubanderson

@clubanderson clubanderson commented Feb 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Document the controller.enabled=false workflow for adding models to an existing WVA controller
  • Add Helm template tests verifying client-only vs full install resource generation

Fixes #746 (asks 2 and 3). Ask 1 (ConfigMap collision fix) is in #745.

Documentation (ask #2)

Adds a new "Adding Models to an Existing Controller" section to the multi-controller isolation guide with:

  • Step-by-step workflow: install controller once, add models with controller.enabled=false
  • Explanation of which resources are included/excluded in client-only mode
  • Tip about controllerInstance alignment between controller and model installs

Tests (ask #3)

Adds test/chart/client_only_install_test.go with 4 test cases using helm template:

Test What it verifies
TestClientOnlyInstall controller.enabled=false produces VA, HPA, Service, ServiceMonitor but excludes controller Deployment, ServiceAccount, leader election RBAC, ConfigMaps
TestFullInstall controller.enabled=true includes all controller infrastructure
TestClientOnlyNoVA Minimal install with no VA/HPA produces only Service/ServiceMonitor/RBAC
TestClientOnlyControllerInstance controllerInstance label propagates to VA labels and HPA metric selectors in client-only mode

Run locally:

cd test/chart && go test -v ./...

Test plan

  • All 4 Helm template tests pass locally
  • Verify documentation renders correctly
  • CI checks pass

Copilot AI review requested due to automatic review settings February 17, 2026 00:18
@github-actions

Copy link
Copy Markdown
Contributor

GPU Pre-flight Check ✅

GPUs are available for e2e-openshift tests. Proceeding with deployment.

Resource Total Allocated Available
GPUs 50 27 23
Cluster Value
Nodes 16 (7 with GPUs)
Total CPU 993 cores
Total Memory 10383 Gi
GPUs required 4 (min) / 6 (recommended)

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 documents and tests the controller.enabled=false workflow for adding models to an existing WVA controller without reinstalling the full stack. It addresses asks 2 and 3 from issue #746 by providing clear documentation and comprehensive Helm template tests.

Changes:

  • Adds "Adding Models to an Existing Controller" section to the multi-controller isolation guide with step-by-step instructions and resource breakdowns
  • Introduces 4 Helm template tests validating client-only install behavior, full install resources, minimal installs, and controllerInstance label propagation

Reviewed changes

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

File Description
docs/user-guide/multi-controller-isolation.md Documents controller-only install pattern with three-step workflow (install controller, add model A, add model B) and lists resources included/excluded in each mode
test/chart/client_only_install_test.go Adds 4 test cases using helm template to verify resource generation for client-only vs full installs and controllerInstance label behavior

--create-namespace \
--set controller.enabled=true \
--set va.enabled=false \
--set hpa.enabled=false

Copilot AI Feb 17, 2026

Copy link

Choose a reason for hiding this comment

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

The controller-only install example should explicitly set vllmService.enabled=false to avoid creating unnecessary vLLM Service and ServiceMonitor resources with default model names. Since this step intends to install only the controller infrastructure without any workload-specific resources, the vLLM monitoring resources should also be disabled.

Suggested change
--set hpa.enabled=false
--set hpa.enabled=false \
--set vllmService.enabled=false

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,146 @@
package chart_test

Copilot AI Feb 17, 2026

Copy link

Choose a reason for hiding this comment

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

Missing Apache 2.0 license header. All Go files in this repository include a copyright and license header. Add the standard Apache 2.0 license header with "Copyright 2025." at the top of the file, consistent with other test files in the codebase.

Copilot uses AI. Check for mistakes.

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.

bad AI. It's not missing, and you missed the fact that we are in 2026

@github-actions

Copy link
Copy Markdown
Contributor

GPU Pre-flight Check ✅

GPUs are available for e2e-openshift tests. Proceeding with deployment.

Resource Total Allocated Available
GPUs 119 101 18
Cluster Value
Nodes 21 (15 with GPUs)
Total CPU 3391 cores
Total Memory 30350 Gi
GPUs required 4 (min) / 6 (recommended)

Copilot AI review requested due to automatic review settings February 17, 2026 01:19
@github-actions

Copy link
Copy Markdown
Contributor

GPU Pre-flight Check ✅

GPUs are available for e2e-openshift tests. Proceeding with deployment.

Resource Total Allocated Available
GPUs 50 27 23
Cluster Value
Nodes 16 (7 with GPUs)
Total CPU 993 cores
Total Memory 10383 Gi
GPUs required 4 (min) / 6 (recommended)

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

Comment thread test/chart/client_only_install_test.go Outdated
{"leader-election", "leader election RBAC should be excluded"},
{"controller-manager", "controller manager resources should be excluded"},
{"prometheus-ca", "prometheus CA configmaps should be excluded"},
{"wva-deployment", "controller deployment template should be excluded"},

Copilot AI Feb 17, 2026

Copy link

Choose a reason for hiding this comment

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

The marker "wva-deployment" doesn't appear anywhere in the Helm templates and therefore isn't a useful check. The deployment is already caught by the "controller-manager" marker on line 82, which appears in the deployment name, labels, and associated resources. Consider removing this redundant check or replacing it with a more specific marker if there's a particular resource you want to verify is excluded.

Suggested change
{"wva-deployment", "controller deployment template should be excluded"},

Copilot uses AI. Check for mistakes.
@clubanderson

Copy link
Copy Markdown
Contributor Author

👋 @asm582 — all CI checks green. Could you approve when you get a chance? Thanks!

asm582
asm582 previously approved these changes Feb 17, 2026

@asm582 asm582 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.

/lgtm

@github-actions

Copy link
Copy Markdown
Contributor

GPU Pre-flight Check ✅

GPUs are available for e2e-openshift tests. Proceeding with deployment.

Resource Total Allocated Available
GPUs 50 27 23
Cluster Value
Nodes 16 (7 with GPUs)
Total CPU 993 cores
Total Memory 10383 Gi
GPUs required 4 (min) / 6 (recommended)

@clubanderson
clubanderson enabled auto-merge (squash) February 17, 2026 02:31
@clubanderson

Copy link
Copy Markdown
Contributor Author

👋 @asm582 — Copilot comments addressed, all CI checks green (3/3 on e2e-openshift). Ready for your approval when you get a chance. Thanks!

@lionelvillard

lionelvillard commented Feb 17, 2026

Copy link
Copy Markdown
Collaborator

/hold

Having only one helm chart has been a great source of confusion for end-users. Let do this first: #555

@asm582

@github-actions github-actions Bot added the hold PRs that are blocked on design, other features, release cycle, etc. label Feb 17, 2026
@lionelvillard

Copy link
Copy Markdown
Collaborator

/unhold

lionelvillard
lionelvillard previously approved these changes Feb 17, 2026
@clubanderson
clubanderson dismissed lionelvillard’s stale review February 17, 2026 21:45

The merge-base changed after approval.

@clubanderson
clubanderson force-pushed the feat/client-only-install-docs-and-tests branch from 4187af5 to 4a92361 Compare February 17, 2026 21:45
@github-actions

Copy link
Copy Markdown
Contributor

GPU Pre-flight Check ✅

GPUs are available for e2e-openshift tests. Proceeding with deployment.

Resource Total Allocated Available
GPUs 119 97 22
Cluster Value
Nodes 21 (15 with GPUs)
Total CPU 3391 cores
Total Memory 30350 Gi
GPUs required 4 (min) / 6 (recommended)

Comment thread deploy/install.sh Outdated
fi
fi

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.

please remove extra blank space, everywhere in this file

…alse)

Add multi-controller isolation docs and Helm template tests for
client-only install workflow.

Signed-off-by: Andy Anderson <andy@clubanderson.com>
Signed-off-by: Andrew Anderson <andy@clubanderson.com>
Copilot AI review requested due to automatic review settings February 17, 2026 22:16
@clubanderson
clubanderson force-pushed the feat/client-only-install-docs-and-tests branch from 4a92361 to 6ad2cb5 Compare February 17, 2026 22:16
@github-actions

Copy link
Copy Markdown
Contributor

GPU Pre-flight Check ❌

Insufficient GPUs to run e2e-openshift tests. Re-run with /retest when GPUs free up.

Resource Total Allocated Available
GPUs 119 119 0
Cluster Value
Nodes 21 (15 with GPUs)
Total CPU 3391 cores
Total Memory 30350 Gi
GPUs required 4 (min) / 6 (recommended)

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.

auto-merge was automatically disabled February 17, 2026 22:30

Pull request was closed

@clubanderson clubanderson reopened this Feb 17, 2026
@github-actions

Copy link
Copy Markdown
Contributor

GPU Pre-flight Check ❌

Insufficient GPUs to run e2e-openshift tests. Re-run with /retest when GPUs free up.

Resource Total Allocated Available
GPUs 119 117 2
Cluster Value
Nodes 21 (15 with GPUs)
Total CPU 3391 cores
Total Memory 30350 Gi
GPUs required 4 (min) / 6 (recommended)

@github-actions github-actions Bot mentioned this pull request Feb 17, 2026
@github-actions

Copy link
Copy Markdown
Contributor

GPU Pre-flight Check ❌

Insufficient GPUs to run e2e-openshift tests. Re-run with /retest when GPUs free up.

Resource Total Allocated Available
GPUs 119 120 -1
Cluster Value
Nodes 21 (15 with GPUs)
Total CPU 3391 cores
Total Memory 30350 Gi
GPUs required 4 (min) / 6 (recommended)

@github-actions

Copy link
Copy Markdown
Contributor

GPU Pre-flight Check ❌

Insufficient GPUs to run e2e-openshift tests. Re-run with /retest when GPUs free up.

Resource Total Allocated Available
GPUs 119 117 2
Cluster Value
Nodes 21 (15 with GPUs)
Total CPU 3391 cores
Total Memory 30350 Gi
GPUs required 4 (min) / 6 (recommended)

@github-actions

Copy link
Copy Markdown
Contributor

GPU Pre-flight Check ❌

Insufficient GPUs to run e2e-openshift tests. Re-run with /retest when GPUs free up.

Resource Total Allocated Available
GPUs 119 123 -4
Cluster Value
Nodes 21 (15 with GPUs)
Total CPU 3391 cores
Total Memory 30350 Gi
GPUs required 4 (min) / 6 (recommended)

@github-actions

Copy link
Copy Markdown
Contributor

GPU Pre-flight Check ✅

GPUs are available for e2e-openshift tests. Proceeding with deployment.

Resource Total Allocated Available
GPUs 119 107 12
Cluster Value
Nodes 21 (15 with GPUs)
Total CPU 3391 cores
Total Memory 30350 Gi
GPUs required 4 (min) / 6 (recommended)

@github-actions

Copy link
Copy Markdown
Contributor

GPU Pre-flight Check ✅

GPUs are available for e2e-openshift tests. Proceeding with deployment.

Resource Total Allocated Available
GPUs 119 111 8
Cluster Value
Nodes 21 (15 with GPUs)
Total CPU 3391 cores
Total Memory 30350 Gi
GPUs required 4 (min) / 6 (recommended)

@github-actions

Copy link
Copy Markdown
Contributor

GPU Pre-flight Check ✅

GPUs are available for e2e-openshift tests. Proceeding with deployment.

Resource Total Allocated Available
GPUs 50 11 39
Cluster Value
Nodes 16 (7 with GPUs)
Total CPU 993 cores
Total Memory 10383 Gi
GPUs required 4 (min) / 6 (recommended)

@lionelvillard lionelvillard removed the hold PRs that are blocked on design, other features, release cycle, etc. label Feb 18, 2026
@clubanderson
clubanderson merged commit 6563a7f into main Feb 18, 2026
67 of 74 checks passed
@clubanderson
clubanderson deleted the feat/client-only-install-docs-and-tests branch February 18, 2026 12:43
zdtsw pushed a commit to zdtsw-forking/llm-d-autoscaling that referenced this pull request Mar 3, 2026
…alse) (llm-d#747)

Add multi-controller isolation docs and Helm template tests for
client-only install workflow.

Signed-off-by: Andy Anderson <andy@clubanderson.com>
Signed-off-by: Andrew Anderson <andy@clubanderson.com>
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.

Support adding model variants to an existing WVA controller without full reinstall

4 participants