Health/pre-flight wiring polish from v0.8.0 testing (REF-148) - #67
Merged
Conversation
…force WARN (REF-148) Real-cluster testing of v0.8.0 showed cluster describe --show-health was half-populated: it only wired EKS/CloudWatch/ASG, so Node Utilization, Service Quotas, Critical Workloads, and PDBs skipped — while nodegroup update --health-only (which wires everything) showed them. - factory: centralize health-checker construction in newHealthChecker — Service Quotas now wired everywhere (no cluster access needed), and metrics-server wired into describe --show-health --check-readiness so live utilization measures. - aggregateResults: a skipped check (missing prerequisite) now contributes to neither the score nor the verdict — only genuine warnings drive WARN. - nodegroup scale: run the instance-type pre-flight before the dry-run return so the preview surfaces it too (REF-143), consistent with update --dry-run. - reword the no-metrics-client message (was misleadingly 'metrics-server not configured' even when it's installed). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-ups surfaced by your real-cluster test pass of v0.8.0. All wiring/polish — the core features were verified working; these make the surfaces consistent.
1.
cluster describe --show-healthwas half-populatedIt only wired EKS/CloudWatch/ASG, so Node Utilization, Service Quotas, Critical Workloads, PDBs all skipped — even though
nodegroup update --health-only(which wires everything) showed them, and metrics-server was installed.factory.newHealthChecker: Service Quotas now wired in every health checker (it needs no cluster access).describe --show-health --check-readiness, so live utilization measures instead of skipping.So
describe --show-healthnow shows Service Quotas + Control Plane; add--check-readinessand it additionally measures utilization, workloads, PDBs, and real node readiness — matching--health-only.2. Skipped checks no longer force a WARN verdict
A check skipped for a missing prerequisite (no kube client) contributed a WARN to the decision. Now skipped checks contribute to neither the score nor the verdict — only genuine warnings drive WARN. (You approved this; it flips an older deliberately-tested behavior, and the test is updated + a guard added that real warnings still warn.)
3.
nodegroup scale --dry-runnow runs the instance-type pre-flight (REF-143)The warn call sat after the dry-run early-return, so the preview never showed it. Moved it ahead — consistent with
update --dry-run.4. Wording
"metrics-server not configured" → "no metrics client wired for this command" (it was misleading when metrics-server is installed).
Tests
Updated
aggregateResultstests (skipped excluded from score and verdict; real warning still warns).go build,go vet,go test ./... -race,golangci-lint, and the docs-reference drift check all clean.🤖 Generated with Claude Code