Skip to main content

Legacy SKU VM inventory and migration-scope dashboard for Azure v6/v7 planning

Project description

az-scout-plugin-vm-sku-modernization

External Az Scout plugin for VM SKU Modernization. It inventories legacy VM SKUs (v2-v5) that are in scope for Azure v6/v7 migration planning and adds guided recommendations for readiness, pilot validation, storage/network checks, quota planning, and exportable migration checklists.

What it provides

  • a UI tab: VM SKU Modernization
  • plugin API routes under /plugins/vm-sku-modernization/
  • an MCP tool: list_migration_candidate_vms
  • a target-SKU recommendation panel for inferred v6/v7 candidates
  • script helpers for validation steps that must be run locally or from Azure CLI
  • a Markdown checklist export from the VM detail modal

Package and plugin identifiers

Surface Value
GitHub repository JoGbd/az-scout-plugin-vm-sku-modernization
PyPI package az-scout-plugin-vm-sku-modernization
Python module az_scout_vm_sku_modernization
Az Scout plugin entry point vm_sku_modernization
Mounted plugin name vm-sku-modernization

The plugin is auto-discovered through:

[project.entry-points."az_scout.plugins"]
vm_sku_modernization = "az_scout_vm_sku_modernization:plugin"

Install locally in Az Scout

From this repository:

uv sync --group dev
uv pip install -e .

Then start Az Scout from your main Az Scout workspace:

uv run az-scout web

The plugin tab appears as VM SKU Modernization once the editable install is visible in the Python environment used by Az Scout.

Main capabilities

The dashboard includes:

  • inventory columns for VM name, resource group, subscription, region, SKU, generation, OS, image publisher, disk controller, and zones
  • readiness recommendations with statuses such as Verified, Needs remediation, Script / check, and Human review
  • priority badges such as Critical risk, Important, and Advisory
  • inline Why it matters guidance per recommendation
  • an Advanced check flow for deep checks that require live ARM calls
  • script helpers for:
    • driver validation
    • SCSI path validation
    • pilot boot diagnostics / extension validation
    • before/after network validation
    • app-state inventory
    • OS-disk backup / restore
    • temporary-disk checks
    • quota and capacity planning
  • a checklist export for the currently selected VM

Migration-effort scoring is calculated by the backend and included in each VM record. Publisher classification is intentionally conservative: only publishers whose name begins with Microsoft are treated as first-party; Canonical and all other publishers remain third-party for planning purposes.

VM detail modal data flow

  1. Selecting a keyboard-focusable inventory row opens the plugin modal and builds workload recommendations from the VM inventory record.
  2. The plugin derives v5 or v6/v7 candidate names, then queries /api/skus for candidates in parallel. Results are cached for five minutes per tenant, subscription, region, source SKU, and modernization target.
  3. The highest-confidence candidate is passed to /api/sku-detail. The response supplies the shared VM Profile, Zone Availability, Quota, Basic Deployment Confidence, and Pricing renderers.
  4. Detail responses are cached for five minutes per candidate and currency. Changing the currency performs (or reuses) the matching currency request; an older in-flight response cannot replace the newly selected currency.
  5. A failed or partial profile, quota, or pricing response does not hide the workload recommendations. The modal identifies unavailable values explicitly and uses the /api/skus snapshot only where it contains usable data.

Caches are cleared when inventory or modernization target changes. Live Azure capacity, quota, and retail prices can change during the cache window and must be revalidated before deployment.

Score limits

Basic Deployment Confidence is an indicative ranking signal, not a deployment guarantee. It combines the signals returned by az-scout (for example SKU match, quota pressure, zones, restrictions, and pricing pressure), excludes missing signals, and can become blocked when a hard constraint is detected. It does not prove instantaneous capacity, application compatibility, image support, performance, reservation eligibility, or successful migration.

The separate Migration Effort badge is a deterministic planning heuristic based on the inventory fields available to this plugin: Hyper-V generation, disk controller, security profile, publisher, and hibernation. Missing fields are handled conservatively. Neither score replaces a pilot, the Advanced check, subscription quota validation, or workload-owner review.

Quality checks

uv run ruff check src/ tests/
uv run ruff format --check src/ tests/
uv run mypy src/
uv run pytest
node --test tests/frontend/vm-sku-modernization.test.js

Publish and submit to catalog

  1. Push this plugin to JoGbd/az-scout-plugin-vm-sku-modernization.
  2. Tag a release (CalVer style recommended, for example v2026.7.0).
  3. Publish the package to PyPI using .github/workflows/publish.yml.
  4. Open a catalog request in Az Scout with:
    • the GitHub repo URL
    • the PyPI package name: az-scout-plugin-vm-sku-modernization
    • a short description and screenshots

Documentation

For Azure migration guidance behind these recommendations, see:

https://learn.microsoft.com/en-us/azure/virtual-machines/migration/sizes/sizes-v6-v7-migration-plan

Disclaimer

This plugin is not affiliated with Microsoft. Capacity, pricing, availability, and validation outputs are indicative and must be reviewed in your own tenant before production rollout.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file az_scout_plugin_vm_sku_modernization-2026.8.0.tar.gz.

File metadata

File hashes

Hashes for az_scout_plugin_vm_sku_modernization-2026.8.0.tar.gz
Algorithm Hash digest
SHA256 d782c2cc238ff0a40a1dc40a9eaeff5447bc165149255b3f4832dc189f7e8e1b
MD5 0ad1e73860d69883a0058d77e071f922
BLAKE2b-256 e2e22553461873b7b926f54dd11bff9a2ce9e5deda8c4ea3d50fe4358d8a6660

See more details on using hashes here.

Provenance

The following attestation bundles were made for az_scout_plugin_vm_sku_modernization-2026.8.0.tar.gz:

Publisher: publish.yml on JoGbd/az-scout-plugin-vm-sku-modernization

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file az_scout_plugin_vm_sku_modernization-2026.8.0-py3-none-any.whl.

File metadata

File hashes

Hashes for az_scout_plugin_vm_sku_modernization-2026.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 50f4560a5b55c39759173e5d9d64b3d0065d5a1a1d3583203e27ef25f1fd221d
MD5 cd0308a96107cdf0d447917b569e8bd6
BLAKE2b-256 104f88c05d58e60bd156590a718352b88e03f1097fcc9acb5cad45e273b21202

See more details on using hashes here.

Provenance

The following attestation bundles were made for az_scout_plugin_vm_sku_modernization-2026.8.0-py3-none-any.whl:

Publisher: publish.yml on JoGbd/az-scout-plugin-vm-sku-modernization

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page