Azure / Azure/azure-cli

az vm image list command does not have all the necessary features like nvme and more

Open
#30,666 2 comments 0 reactions 2 assignees Claimed by @zhoxing-ms View on GitHub
act-observability-squad Auto-Assign Auto-Resolve Azure CLI Team Compute question
Dominant language
Python
Stars
4.6k
Forks
3.5k
Avg merge
3d 2h
Merged PRs (30d)
60

Description

### Describe the bug

az cli command needs improvement. It is currently showing limited properties like ARM64 and deprecation Status. It is not showing other properties like hibernate, nvme, hyperVgeneration and so on. As a result, customers cannot list images that support these properties making the customer experience difficult. It seems like these features are not a top level data in the listing query

See example of az vm image list command:

C:\Windows\System32>az vm image list --all --publisher Canonical --offer UbuntuServer --architecture arm64 --query "[?contains(imageDeprecationStatus.imageState,'Active')]"
[
{
"architecture": "Arm64",
"imageDeprecationStatus": {
"imageState": "Active",
"scheduledDeprecationTime": null
},
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "18_04-daily-lts-arm64",
"urn": "Canonical:UbuntuServer:18_04-daily-lts-arm64:18.04.202211080",
"version": "18.04.202211080"

See example of az vm image show command with all the properties listed (these properties should be on the az vm image list command as well):

C:\Windows\System32>az vm image show --publisher Canonical --offer UbuntuServer --sku 18_04-lts-arm64 --version 18.04.202401161 --location westus2
{
"architecture": "Arm64",
"automaticOsUpgradeProperties": {
"automaticOsUpgradeSupported": false
},
"dataDiskImages": [],
"disallowed": {
"vmDiskType": "Unmanaged"
},
"extendedLocation": null,
"features": [
{
"name": "IsAcceleratedNetworkSupported",
"value": "True"
},
{
"name": "DiskControllerTypes",
"value": "SCSI, NVMe"
},
{
"name": "IsHibernateSupported",
"value": "True"
}
],
"hyperVGeneration": "V2",
"id": "/Subscriptions/64fd5901-028e-49a1-9484-5b9f6792d9e5/Providers/Microsoft.Compute/Locations/westus2/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18_04-lts-arm64/Versions/18.04.202401161",
"imageDeprecationStatus": {
"alternativeOption": null,
"imageState": "Active",
"scheduledDeprecationTime": null
},
"location": "westus2",
"name": "18.04.202401161",
"osDiskImage": {
"operatingSystem": "Linux",
"sizeInGb": 30
},
"plan": null,
"tags": null
}

### Related command

az vm image list --all --publisher Canonical --offer UbuntuServer --architecture arm64 --query "[?contains(imageDeprecationStatus.imageState,'Active')]"
[
{
"architecture": "Arm64",
"imageDeprecationStatus": {
"imageState": "Active",
"scheduledDeprecationTime": null
},
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "18_04-daily-lts-arm64",
"urn": "Canonical:UbuntuServer:18_04-daily-lts-arm64:18.04.202211080",
"version": "18.04.202211080"

### Errors

The command is not listing all the features properly

### Issue script & Debug output

No debug output

### Expected behavior

The az vm image list command show show all top level properties like ARM64, NVME, hibernate, hyperVgeneration like below so customers can list and filter images based on these properties:

C:\Windows\System32>az vm image show --publisher Canonical --offer UbuntuServer --sku 18_04-lts-arm64 --version 18.04.202401161 --location westus2
{
"architecture": "Arm64",
"automaticOsUpgradeProperties": {
"automaticOsUpgradeSupported": false
},
"dataDiskImages": [],
"disallowed": {
"vmDiskType": "Unmanaged"
},
"extendedLocation": null,
"features": [
{
"name": "IsAcceleratedNetworkSupported",
"value": "True"
},
{
"name": "DiskControllerTypes",
"value": "SCSI, NVMe"
},
{
"name": "IsHibernateSupported",
"value": "True"
}
],
"hyperVGeneration": "V2",
"id": "/Subscriptions/64fd5901-028e-49a1-9484-5b9f6792d9e5/Providers/Microsoft.Compute/Locations/westus2/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18_04-lts-arm64/Versions/18.04.202401161",
"imageDeprecationStatus": {
"alternativeOption": null,
"imageState": "Active",
"scheduledDeprecationTime": null
},
"location": "westus2",
"name": "18.04.202401161",
"osDiskImage": {
"operatingSystem": "Linux",
"sizeInGb": 30
},
"plan": null,
"tags": null
}

### Environment Summary

azure-cli 2.65.0 *

core 2.65.0 *
telemetry 1.1.0

Extensions:
ai-examples 0.2.5
ml 2.30.1
ssh 2.0.5

Dependencies:
msal 1.31.0
azure-mgmt-resource 23.1.1

Python location '/usr/bin/python3.9'
Extensions directory '/home/edewe/.azure/cliextensions'
Extensions system directory '/usr/lib/python3.9/site-packages/azure-cli-extensions'

Python (Linux) 3.9.19 (main, Aug 23 2024, 00:07:48)
[GCC 11.2.0]

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.