microsoft / microsoft/finops-toolkit
AHB eligible resources can misclassify Linux-priced VM rows as Windows candidates
Open
@FallenHoot is already working on this.
Since Jun 24, 2026.
Status: ▶️ Ready
Tool: ADX / RTI Dashboard
- Dominant language
- PowerShell
- Stars
- 603
- Forks
- 248
- Avg merge
- 7d 11h
- Merged PRs (30d)
- 11
Description
Summary
The AHB "Eligible resources (last n days)" query can label or imply Windows licensing candidates when compute pricing behavior is Linux-rate, especially in DevTest/mixed-license scenarios.
Upstream query id: 99d44f1f-c53a-40ee-b749-8e5557ec58c7 in src/templates/finops-hub/dashboard.json.
Customer impact
- False-positive interpretation of AHB candidates.
- Confusing output when VM metadata appears Windows-like but contracted unit price aligns with Linux baseline.
- Reduced trust in AHB eligibility guidance.
Repro pattern
- Use a subscription with DevTest or mixed VM licensing records.
- Open Licensing & SaaS (Preview) > Eligible resources (last n days).
- Observe candidates that appear Windows-eligible despite Linux-rate compute pricing behavior.
Proposed fix
Harden the query using two-path detection and price baseline validation:
- Build Linux VM baseline from
Ingestion.Prices_final_v1_2(non-Windows VM meters). - Keep explicit
Not Enabledpath, but require compute contracted price (USD-normalized) above Linux baseline. - Add fallback path using
Virtual Machines Licensesmeter evidence when status is empty. - Exclude currently enabled resources.
- Adjust wording to avoid hard Windows-label implication for ambiguous rows.
Reference implementation
Working patch in fork:
- Commit: https://github.com/FallenHoot/finops-hub-bicep/commit/cb28e0c
- Report note: https://github.com/FallenHoot/finops-hub-bicep/blob/main/docs/library/dashboard/BUGREPORT-AHB-ELIGIBILITY-WINDOWS-LABELING-2026-06-22.md
If useful, I can open a PR with the exact query change against the toolkit template.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.