Skip to content

Conversation

@NedAnd1
Copy link

@NedAnd1 NedAnd1 commented Dec 18, 2025

…e options for ACStor v2

Related command
az aks create/update

Description

Supports CLI-driven storage option enablement for ACStor 2.1

Testing Guide

az aks create --enable-azure-container-storage: enables ACStor v2 without any storage options on a new cluster
(can be enabled on demand via storage class)

az aks update --enable-azure-container-storage ephemeralDisk: enables the ephemeral disk storage option of ACStor v2

az aks update --disable-azure-container-storage elasticSan: disables the elastic SAN storage option of ACStor v2

az aks update --disable-azure-container-storage: completely disables ACStor v2

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature


This checklist is used to make sure that common guidelines for a pull request are followed.

Copilot AI review requested due to automatic review settings December 18, 2025 16:53
@azure-client-tools-bot-prd
Copy link

azure-client-tools-bot-prd bot commented Dec 18, 2025

️✔️AzureCLI-FullTest
️✔️acr
️✔️latest
️✔️3.12
️✔️3.13
️✔️acs
️✔️latest
️✔️3.12
️✔️3.13
️✔️advisor
️✔️latest
️✔️3.12
️✔️3.13
️✔️ams
️✔️latest
️✔️3.12
️✔️3.13
️✔️apim
️✔️latest
️✔️3.12
️✔️3.13
️✔️appconfig
️✔️latest
️✔️3.12
️✔️3.13
️✔️appservice
️✔️latest
️✔️3.12
️✔️3.13
️✔️aro
️✔️latest
️✔️3.12
️✔️3.13
️✔️backup
️✔️latest
️✔️3.12
️✔️3.13
️✔️batch
️✔️latest
️✔️3.12
️✔️3.13
️✔️batchai
️✔️latest
️✔️3.12
️✔️3.13
️✔️billing
️✔️latest
️✔️3.12
️✔️3.13
️✔️botservice
️✔️latest
️✔️3.12
️✔️3.13
️✔️cdn
️✔️latest
️✔️3.12
️✔️3.13
️✔️cloud
️✔️latest
️✔️3.12
️✔️3.13
️✔️cognitiveservices
️✔️latest
️✔️3.12
️✔️3.13
️✔️compute_recommender
️✔️latest
️✔️3.12
️✔️3.13
️✔️computefleet
️✔️latest
️✔️3.12
️✔️3.13
️✔️config
️✔️latest
️✔️3.12
️✔️3.13
️✔️configure
️✔️latest
️✔️3.12
️✔️3.13
️✔️consumption
️✔️latest
️✔️3.12
️✔️3.13
️✔️container
️✔️latest
️✔️3.12
️✔️3.13
️✔️containerapp
️✔️latest
️✔️3.12
️✔️3.13
️✔️core
️✔️latest
️✔️3.12
️✔️3.13
️✔️cosmosdb
️✔️latest
️✔️3.12
️✔️3.13
️✔️databoxedge
️✔️latest
️✔️3.12
️✔️3.13
️✔️dls
️✔️latest
️✔️3.12
️✔️3.13
️✔️dms
️✔️latest
️✔️3.12
️✔️3.13
️✔️eventgrid
️✔️latest
️✔️3.12
️✔️3.13
️✔️eventhubs
️✔️latest
️✔️3.12
️✔️3.13
️✔️feedback
️✔️latest
️✔️3.12
️✔️3.13
️✔️find
️✔️latest
️✔️3.12
️✔️3.13
️✔️hdinsight
️✔️latest
️✔️3.12
️✔️3.13
️✔️identity
️✔️latest
️✔️3.12
️✔️3.13
️✔️iot
️✔️latest
️✔️3.12
️✔️3.13
️✔️keyvault
️✔️latest
️✔️3.12
️✔️3.13
️✔️lab
️✔️latest
️✔️3.12
️✔️3.13
️✔️managedservices
️✔️latest
️✔️3.12
️✔️3.13
️✔️maps
️✔️latest
️✔️3.12
️✔️3.13
️✔️marketplaceordering
️✔️latest
️✔️3.12
️✔️3.13
️✔️monitor
️✔️latest
️✔️3.12
️✔️3.13
️✔️mysql
️✔️latest
️✔️3.12
️✔️3.13
️✔️netappfiles
️✔️latest
️✔️3.12
️✔️3.13
️✔️network
️✔️latest
️✔️3.12
️✔️3.13
️✔️policyinsights
️✔️latest
️✔️3.12
️✔️3.13
️✔️privatedns
️✔️latest
️✔️3.12
️✔️3.13
️✔️profile
️✔️latest
️✔️3.12
️✔️3.13
️✔️rdbms
️✔️latest
️✔️3.12
️✔️3.13
️✔️redis
️✔️latest
️✔️3.12
️✔️3.13
️✔️relay
️✔️latest
️✔️3.12
️✔️3.13
️✔️resource
️✔️latest
️✔️3.12
️✔️3.13
️✔️role
️✔️latest
️✔️3.12
️✔️3.13
️✔️search
️✔️latest
️✔️3.12
️✔️3.13
️✔️security
️✔️latest
️✔️3.12
️✔️3.13
️✔️servicebus
️✔️latest
️✔️3.12
️✔️3.13
️✔️serviceconnector
️✔️latest
️✔️3.12
️✔️3.13
️✔️servicefabric
️✔️latest
️✔️3.12
️✔️3.13
️✔️signalr
️✔️latest
️✔️3.12
️✔️3.13
️✔️sql
️✔️latest
️✔️3.12
️✔️3.13
️✔️sqlvm
️✔️latest
️✔️3.12
️✔️3.13
️✔️storage
️✔️latest
️✔️3.12
️✔️3.13
️✔️synapse
️✔️latest
️✔️3.12
️✔️3.13
️✔️telemetry
️✔️latest
️✔️3.12
️✔️3.13
️✔️util
️✔️latest
️✔️3.12
️✔️3.13
️✔️vm
️✔️latest
️✔️3.12
️✔️3.13

@azure-client-tools-bot-prd
Copy link

azure-client-tools-bot-prd bot commented Dec 18, 2025

⚠️AzureCLI-BreakingChangeTest
⚠️acs
rule cmd_name rule_message suggest_message
⚠️ 1010 - ParaPropUpdate aks create cmd aks create update parameter enable_azure_container_storage: updated property nargs from ? to *
⚠️ 1010 - ParaPropUpdate aks update cmd aks update update parameter disable_azure_container_storage: updated property nargs from ? to *
⚠️ 1010 - ParaPropUpdate aks update cmd aks update update parameter enable_azure_container_storage: updated property nargs from ? to *

@yonzhan
Copy link
Collaborator

yonzhan commented Dec 18, 2025

Thank you for your contribution! We will review the pull request and get back to you soon.

@github-actions
Copy link

The git hooks are available for azure-cli and azure-cli-extensions repos. They could help you run required checks before creating the PR.

Please sync the latest code with latest dev branch (for azure-cli) or main branch (for azure-cli-extensions).
After that please run the following commands to enable git hooks:

pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for ephemeralDisk and elasticSan storage options to Azure Container Storage (ACStor) v2, enabling granular control over individual storage types. The changes allow users to enable/disable specific storage options via the CLI, rather than only being able to enable/disable the entire ACStor extension.

Key changes:

  • Unified enable/disable operations into a single perform_azure_container_storage_update function
  • Added support for multiple storage option values in CLI arguments using comma-separated or space-separated lists
  • Updated validators to handle individual storage option enablement/disablement with appropriate state checking

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
test_validators.py Updated test cases to validate new storage option parameters and error messages for ephemeralDisk and elasticSan
managed_cluster_decorator.py Modified to call unified update function and pass storage options for enable/disable operations
acstor_ops.py Refactored enable/disable functions into single perform_azure_container_storage_update function that handles both operations
_validators.py Enhanced validation logic to support specific storage options (ephemeralDisk, elasticSan) and check their enabled state
_helpers.py Added get_extension_installed_and_cluster_configs for v2 to retrieve storage option states and should_delete_extension helper
_params.py Consolidated enable/disable argument type handlers into single _get_container_storage_enum_type function supporting multiple values

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@FumingZhang
Copy link
Member

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 3 pipeline(s).

Copy link
Member

@FumingZhang FumingZhang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Queued live test to validate the change.

  • test_aks_create_with_azurecontainerstorage_v1
  • test_aks_create_with_azurecontainerstorage_v1_with_ephemeral_disk_parameters
  • test_aks_update_with_azurecontainerstorage_v1
  • test_aks_update_with_azurecontainerstorage_v1_with_ephemeral_disk_parameters
  • test_aks_create_with_azurecontainerstorage
  • test_aks_update_with_azurecontainerstorage

@FumingZhang
Copy link
Member

FumingZhang commented Dec 19, 2025

Queued live test to validate the change.

  • test_aks_create_with_azurecontainerstorage_v1
  • test_aks_create_with_azurecontainerstorage_v1_with_ephemeral_disk_parameters
  • test_aks_update_with_azurecontainerstorage_v1
  • test_aks_update_with_azurecontainerstorage_v1_with_ephemeral_disk_parameters
  • test_aks_create_with_azurecontainerstorage
  • test_aks_update_with_azurecontainerstorage

Re-queued

  • test_aks_create_with_azurecontainerstorage
  • test_aks_update_with_azurecontainerstorage
  • test_aks_update_with_azurecontainerstorage_v1

@FumingZhang
Copy link
Member

Queued live test to validate the change.

  • test_aks_create_with_azurecontainerstorage_v1
  • test_aks_create_with_azurecontainerstorage_v1_with_ephemeral_disk_parameters
  • test_aks_update_with_azurecontainerstorage_v1
  • test_aks_update_with_azurecontainerstorage_v1_with_ephemeral_disk_parameters
  • test_aks_create_with_azurecontainerstorage
  • test_aks_update_with_azurecontainerstorage

Re-queued

  • test_aks_create_with_azurecontainerstorage
  • test_aks_update_with_azurecontainerstorage
  • test_aks_update_with_azurecontainerstorage_v1

test_aks_create_with_azurecontainerstorage and test_aks_update_with_azurecontainerstorage failed

  assert acs_extension_found, "Azure Container Storage not found"

E AssertionError: Azure Container Storage not found
E assert False

https://dev.azure.com/msazure/CloudNativeCompute/CloudNativeCompute%20Team/_build/results?buildId=147402223&view=logs&j=b162b355-d59d-5864-ce0f-0a70f12dd28b&t=dc59ccd1-231f-538b-777f-33a592c7ca57&l=3498

@FumingZhang
Copy link
Member

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@FumingZhang
Copy link
Member

FumingZhang commented Dec 22, 2025

Re-queued live test

test_aks_update_with_azurecontainerstorage failed with following error

  assert acs_extension_found, "Azure Container Storage not found"

E AssertionError: Azure Container Storage not found
E assert False

https://dev.azure.com/msazure/CloudNativeCompute/CloudNativeCompute%20Team/_build/results?buildId=147483621&view=logs&j=b162b355-d59d-5864-ce0f-0a70f12dd28b&t=dc59ccd1-231f-538b-777f-33a592c7ca57&l=3346

@NedAnd1
Copy link
Author

NedAnd1 commented Dec 24, 2025

/azp run

@azure-pipelines
Copy link

Commenter does not have sufficient privileges for PR 32558 in repo Azure/azure-cli

@yonzhan
Copy link
Collaborator

yonzhan commented Dec 25, 2025

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@FumingZhang
Copy link
Member

Re-queued live test

test_aks_update_with_azurecontainerstorage failed with following error

  assert acs_extension_found, "Azure Container Storage not found"

E AssertionError: Azure Container Storage not found
E assert False

https://dev.azure.com/msazure/CloudNativeCompute/CloudNativeCompute%20Team/_build/results?buildId=147483621&view=logs&j=b162b355-d59d-5864-ce0f-0a70f12dd28b&t=dc59ccd1-231f-538b-777f-33a592c7ca57&l=3346

Re-queued live test

@FumingZhang
Copy link
Member

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@FumingZhang
Copy link
Member

FumingZhang commented Jan 6, 2026

Queued live test, test passed!

Copy link
Member

@FumingZhang FumingZhang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AKS az aks/acs/openshift Auto-Assign Auto assign by bot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants