Conflicting Capacity Reservation States

usabilityActiveStable

The `az vm update` command can retain conflicting Capacity Reservation states when switching assignment modes, leading to potential misconfigurations.

Opportunity Score (Heuristic (unvalidated)):66 · High · heuristic
First seen: 9/13/2026
Last seen: 9/14/2026

Score Breakdown

Heuristic ranking from public discussion signals — not a validated prediction of commercial opportunity, demand, or willingness to pay.

Composite 66/100 (High, unvalidated). Top driver: Severity (25% weight, 20 pts).

Frequency · 25% · 15.8 pts · XPS relevance63

Heuristic only — often urgency map or random scaffolding on ingest, not measured mention frequency. Maps to XPS relevance (with market size).

Severity · 25% · 20 pts · XPS quality80

LLM/mock judgment of intensity from title/summary text — not ops or ticket data. Maps to XPS quality (with willingness to pay).

Willingness to pay · 30% · 19.5 pts · XPS quality65

LLM/mock purchase-intent guess from text — not invoices, surveys, or paid seats. Maps to XPS quality.

Trend · 10% · 5.1 pts · XPS novelty51

Heuristic/scaffold (often random or fixed on insert) — not a verified mention trajectory. Maps to XPS novelty.

Market size · 10% · 6.1 pts · XPS relevance61

Heuristic/scaffold (often random or fixed) — not TAM research. Maps to XPS relevance (with frequency).

Catalog notes (not predictive analysis)

Conflicting Capacity Reservation States (usability). Catalog heuristic opportunity score: 66/100 — a chosen formula over discussion-signal facets, not evidence of demand, conversion, or willingness to pay. Treat as browsing rank, not a commercial prediction.

The `az vm update` command can retain conflicting Capacity Reservation states when switching assignment modes, leading to potential misconfigurations.

Source Examples

azure/azure-cli Issues·Sep 13, 2026
“az vm update retains conflicting Capacity Reservation state when switching assignment modes ## Describe the bug `az vm update` can retain conflicting persisted Capacity Reservation state when switching an existing VM between an explicit Capacity Reservation Group and disabled Capacity Reservation assignment. If the existing VM has a `capacityReservationGroup` and the command explicitly sets `--disable-capacity-reservation-assignment true`, the outgoing update payload retains the group while also setting `disableCapacityReservationAssignment` to `true`. The inverse transition has the same problem: when the existing VM has `disableCapacityReservationAssignment: true` and a real `--capacity-reservation-group` is assigned, the outgoing payload retains both properties. `disableCapacityReservationAssignment: false` is valid alongside a Capacity Reservation Group and is not part of the defect. ## Related command ```text az vm update --resource-group <RESOURCE_GROUP> --name <VM_NAME> --disable-capacity-reservation-assignment true az vm update --resource-group <RESOURCE_GROUP> --name <VM_NAME> --capacity-reservation-group <CAPACITY_RESERVATION_GROUP_ID> ``` ## Errors No CLI error is raised. Azure CLI instead constructs an outgoing request payload containing conflicting Capacity Reservation state: ```json { "capacityReservationGroup": { "id": "<CRG_ID>" }, "disableCapacityReservationAssignment": true } ``` This report does not claim a particular service-side error or data corruption. ## Issue script & Debug output I reproduced the behavior locally through the standalone VM update path and the generated AAZ request serializer. Before the fix: Existing CRG -> disable=true ```json { "capacityReservationGroup": { "id": "CRG-A" }, "disableCapacityReservationAssignment": true } ``` Existing disable=true -> real CRG ```json { "capacityReservationGroup": { "id": "CRG-B" }, "disableCapacityReservationAssignment": true } ``` For comparison, existing disable=false -> real CRG remains a valid state: ```json { "capacityReservationGroup": { "id": "CRG-B" }, "disableCapacityReservationAssignment": false } ``` No live Azure request was sent as part of this local reproduction. ## Expected behavior - Setting `--disable-capacity-reservation-assignment true` should remove a persisted Capacity Reservation Group from the outgoing update state. - Assigning a real `--capacity-reservation-group` should remove persisted `disableCapacityReservationAssignment` only when that persisted value is `true`. - Persisted or explicitly supplied `false` should remain valid with a Capacity Reservation Group. - Omitted Capacity Reservation arguments and unrelated VM updates should preserve the existing state. - A real Capacity Reservation Group combined with explicit `--disable-capacity-reservation-assignment true` should continue to be rejected by the existing CLI validation. ## Environment Summary ```text azure-cli 2.90.0 core 2.90.0 telemetry 1.1.0 Dependencies: msal 1.36.0 azure-mgmt-resource 24.0.0 Python location '<LOCAL_REPO>/.venv/bin/python' Config directory '<TEMP_CONFIG_DIR>' Extensions directory '<TEMP_CONFIG_DIR>/cliextensions' Python (Darwin) 3.13.11 (main, Dec 5 2025, 16:06:33) [Clang 17.0.0 (clang-1700.4.4.1)] Legal docs and information: aka.ms/AzureCliLegal ``` Azure CLI 2.90.0 was the latest released version when this issue was reproduced. ## Additional context The behavior is in the standalone `az vm update` state transition. The generated API model exposes `capacityReservationGroup` and `disableCapacityReservationAssignment` independently, while generic update begins with the existing VM state, so the command-specific update layer needs to reconcile the conflicting persisted value when the user explicitly switches assignment modes. The issue is reproducible throu”
— ryo-whaletech↗

Competitive Landscape

  • Existing solutions are either too expensive or too limited
  • Most competitors target enterprise, leaving mid-market underserved
  • Community scripts and manual processes are the primary alternative

Recommended Next Steps

  1. ✓Validate pain intensity with 5-10 target customer interviews
  2. ✓Build minimal viable solution addressing the core workflow
  3. ✓Test pricing with early adopters from community forums

Related Pain Points

Target Customers

  • IT teams at mid-size organizations (100-2000 employees)
  • MSPs and consultants managing multiple client environments
  • Teams without dedicated specialist staff for this domain

Monetization Ideas

  1. 1SaaS subscription model ($99-$499/month depending on scale)
  2. 2Usage-based pricing aligned with value delivered
  3. 3Freemium tier to drive adoption and prove value