• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Azure / ARO-RP / 23055849588
37%

Build:
DEFAULT BRANCH: master
Ran 13 Mar 2026 02:38PM UTC
Jobs 6
Files 929
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

13 Mar 2026 02:38PM UTC coverage: 36.699% (+0.2%) from 36.521%
23055849588

push

github

web-flow
ARO-24545: Add pre-flight SKU and quota validation for control plane VM resize (#4662)

* WIP SKU checks

* Add pre-flight SKU and quota validation for control plane VM resize

Implement the preresizevalidation admin API endpoint that the Geneva
Action's ResizeControlPlaneVMs orchestration calls before cordoning
any master node.  Validating before the first destructive action
prevents leaving clusters in a degraded etcd quorum state.

Checks performed:
- Target VM size is in the ARO-supported master sizes list
- SKU exists and is available in the cluster's Azure region
- SKU is not restricted in the customer's subscription
- Subscription has enough compute quota in the target VM family

The validation functions are structured as independent paths to
support future parallelization via errgroup.  TODO placeholders
are included for Service Principal and API server health checks.

* Refactor SKU validation into errgroup for parallel pre-flight checks

Extract SKU/quota validation into validateVMSKU method and wire it as
the first goroutine in an errgroup.WithContext, preparing the structure
for API server health and Service Principal checks in follow-up commits.

- Remove unused preResizeValidationResult struct and TODO stubs
- Move vmSize and master-size validation into validateVMSKU
- Fix test fixtures to include cluster/subscription docs for vmSize
  validation cases (DB lookup now precedes SKU checks)
- Document Azure capacity vs quota limitation on checkResizeComputeQuota

* Add API server health validation to pre-resize checks

Query the kube-apiserver ClusterOperator via kubeActionsFactory and
verify it is healthy (Available=True, Progressing=False, Degraded=False)
before allowing control plane VM resize. A degraded API server would
compound the risk of losing etcd quorum during the resize loop.

- Add validateAPIServerHealth using KubeGet + clusteroperators.IsOperatorAvailable
- Wire as second errgroup goroutine alongside SKU validation
- Create k... (continued)

215 of 248 new or added lines in 3 files covered. (86.69%)

26312 of 71697 relevant lines covered (36.7%)

0.42 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
33
86.31
pkg/frontend/admin_openshiftcluster_vmresize_pre_validation.go
Jobs
ID Job ID Ran Files Coverage
1 pkg-operator - 23055849588.1 13 Mar 2026 02:41PM UTC 73
46.21
GitHub Action Run
2 cmd - 23055849588.2 13 Mar 2026 02:41PM UTC 12
0.0
GitHub Action Run
3 pkg-frontend - 23055849588.3 13 Mar 2026 02:40PM UTC 88
72.3
GitHub Action Run
4 pkg-api - 23055849588.4 13 Mar 2026 02:38PM UTC 162
66.22
GitHub Action Run
5 pkg-other - 23055849588.5 13 Mar 2026 02:42PM UTC 284
31.21
GitHub Action Run
6 pkg-util - 23055849588.6 13 Mar 2026 02:41PM UTC 310
19.4
GitHub Action Run
Source Files on build 23055849588
  • Tree
  • List 929
  • Changed 4
  • Source Changed 3
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23055849588
  • 96f79f18 on github
  • Prev Build on master (#22942109445)
  • Next Build on master (#23152765260)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc