Skip to content

[AKS] az aks create/update: Add ephemeralDisk and elasticSan storag…#9576

Merged
yanzhudd merged 7 commits intoAzure:mainfrom
NedAnd1:ned/acstor-2.1
Mar 9, 2026
Merged

[AKS] az aks create/update: Add ephemeralDisk and elasticSan storag…#9576
yanzhudd merged 7 commits intoAzure:mainfrom
NedAnd1:ned/acstor-2.1

Conversation

@NedAnd1
Copy link
Copy Markdown
Contributor

@NedAnd1 NedAnd1 commented Feb 4, 2026

…e options for ACStor v2

Created for parity with PR Azure/azure-cli#32558
to support CLI-driven storage option enablement for ACStor 2.1 within the AKS preview CLI extension


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

Related command

az aks create/update

General Guidelines

  • Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
  • Have you run python scripts/ci/test_index.py -q locally? (pip install wheel==0.30.0 required)
  • My extension version conforms to the Extension version schema

For new extensions:

About Extension Publish

There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

Copilot AI review requested due to automatic review settings February 4, 2026 21:41
@azure-client-tools-bot-prd
Copy link
Copy Markdown

azure-client-tools-bot-prd bot commented Feb 4, 2026

⚠️Azure CLI Extensions Breaking Change Test
⚠️aks-preview
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 *

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

Hi @NedAnd1,
Please write the description of changes which can be perceived by customers into HISTORY.rst.
If you want to release a new extension version, please update the version in setup.py as well.

@yonzhan
Copy link
Copy Markdown
Collaborator

yonzhan commented Feb 4, 2026

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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 4, 2026

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>

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 4, 2026

CodeGen Tools Feedback Collection

Thank you for using our CodeGen tool. We value your feedback, and we would like to know how we can improve our product. Please take a few minutes to fill our codegen survey

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 4, 2026

Copy link
Copy Markdown
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 pull request adds support for ephemeralDisk and elasticSan storage options for Azure Container Storage (ACStor) v2 in the AKS preview CLI extension, providing parity with the main CLI PR #32558. The changes enable users to selectively enable or disable specific storage driver options rather than managing the entire extension as a single unit.

Changes:

  • Refactored enable/disable operations into a unified function that can handle individual storage driver configuration
  • Updated validators to support multiple storage types and improved error messages
  • Modified argument parsing to accept multiple storage type values (space or comma-separated)
  • Added comprehensive test coverage for new validation scenarios

Reviewed changes

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

Show a summary per file
File Description
test_validators.py Updated test cases to reflect new validation logic with multiple storage types and improved parameter signatures
managed_cluster_decorator.py Refactored to use unified update function, updated parameter passing, and added logic for granular storage option prompts
acstor_ops.py Merged enable/disable functions into single update function with config settings for individual CSI drivers
_validators.py Enhanced validation to support multiple storage types, improved error messages, and better handling of already-enabled scenarios
_helpers.py Added new helper functions to check extension installation status and individual driver enablement states
_params.py Consolidated argument type functions and updated to support multiple storage type values with case-insensitive matching
Comments suppressed due to low confidence (1)

src/aks-preview/azext_aks_preview/azurecontainerstorage/acstor_ops.py:708

  • The comment references the old function name "perform_disable_azure_container_storage" but the function has been renamed to "perform_azure_container_storage_update" which handles both enable and disable operations. Please update this comment to reflect the current function name.
    # This will be set true only when aks-preview extension is used
    # and we want the aks-preview ManagedClusterDecorator to call the
    # perform_disable_azure_container_storage function.

@yanzhudd
Copy link
Copy Markdown
Contributor

yanzhudd commented Feb 4, 2026

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 2 pipeline(s).

@NedAnd1
Copy link
Copy Markdown
Contributor Author

NedAnd1 commented Feb 5, 2026

The integration failures look like they are unrelated & fixed by PR #9575

@FumingZhang
Copy link
Copy Markdown
Member

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 2 pipeline(s).

@github-actions github-actions bot added the release-version-block Updates do not qualify release version rules. NOTE: please do not edit it manually. label Feb 24, 2026
@github-actions github-actions bot removed the release-version-block Updates do not qualify release version rules. NOTE: please do not edit it manually. label Feb 24, 2026
@FumingZhang
Copy link
Copy Markdown
Member

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 2 pipeline(s).

Copy link
Copy Markdown
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_with_ephemeral_disk_parameters
  • test_aks_create_with_azurecontainerstorage_with_elastic_san_parameters
  • test_aks_create_with_azurecontainerstorage_with_multiple_parameters
  • test_aks_update_with_azurecontainerstorage_with_ephemeral_disk
  • test_aks_update_with_azurecontainerstorage_with_elastic_san
  • test_aks_update_with_azurecontainerstorage_with_multiple_parameters

@NedAnd1
Copy link
Copy Markdown
Contributor Author

NedAnd1 commented Feb 25, 2026

Queued live test to validate the change

  • test_aks_create_with_azurecontainerstorage_with_ephemeral_disk_parameters
  • test_aks_create_with_azurecontainerstorage_with_elastic_san_parameters
  • test_aks_create_with_azurecontainerstorage_with_multiple_parameters
  • test_aks_update_with_azurecontainerstorage_with_ephemeral_disk
  • test_aks_update_with_azurecontainerstorage_with_elastic_san
  • test_aks_update_with_azurecontainerstorage_with_multiple_parameters

One of the test cases failed due to a transient helm install issue, could they be retried?

@FumingZhang
Copy link
Copy Markdown
Member

FumingZhang commented Feb 25, 2026

Queued live test to validate the change

  • test_aks_create_with_azurecontainerstorage_with_ephemeral_disk_parameters
  • test_aks_create_with_azurecontainerstorage_with_elastic_san_parameters
  • test_aks_create_with_azurecontainerstorage_with_multiple_parameters
  • test_aks_update_with_azurecontainerstorage_with_ephemeral_disk
  • test_aks_update_with_azurecontainerstorage_with_elastic_san
  • test_aks_update_with_azurecontainerstorage_with_multiple_parameters

One of the test cases failed due to a transient helm install issue, could they be retried?

Re-queued live test for test_aks_update_with_azurecontainerstorage_with_ephemeral_disk

The test failed with error

E azure.cli.core.azclierror.UnknownError: An error occurred while checking the version of Azure Container Storageextension installed on the cluster: The extension k8s-extension is not installed. Please install the extension via az extension add -n k8s-extension.

https://dev.azure.com/msazure/CloudNativeCompute/CloudNativeCompute%20Team/_build/results?buildId=154585891&view=logs&j=b162b355-d59d-5864-ce0f-0a70f12dd28b&t=a26fe913-e2be-5062-b08e-d15f1acc7ea2&l=4248

You may follow the examples in other test cases to install the extension you need

@NedAnd1
Copy link
Copy Markdown
Contributor Author

NedAnd1 commented Feb 26, 2026

Queued live test to validate the change

  • test_aks_create_with_azurecontainerstorage_with_ephemeral_disk_parameters
  • test_aks_create_with_azurecontainerstorage_with_elastic_san_parameters
  • test_aks_create_with_azurecontainerstorage_with_multiple_parameters
  • test_aks_update_with_azurecontainerstorage_with_ephemeral_disk
  • test_aks_update_with_azurecontainerstorage_with_elastic_san
  • test_aks_update_with_azurecontainerstorage_with_multiple_parameters

One of the test cases failed due to a transient helm install issue, could they be retried?

Re-queued live test for test_aks_update_with_azurecontainerstorage_with_ephemeral_disk

The test failed with error

E azure.cli.core.azclierror.UnknownError: An error occurred while checking the version of Azure Container Storageextension installed on the cluster: The extension k8s-extension is not installed. Please install the extension via az extension add -n k8s-extension.

https://dev.azure.com/msazure/CloudNativeCompute/CloudNativeCompute%20Team/_build/results?buildId=154585891&view=logs&j=b162b355-d59d-5864-ce0f-0a70f12dd28b&t=a26fe913-e2be-5062-b08e-d15f1acc7ea2&l=4248

You may follow the examples in other test cases to install the extension you need

Weird that that error is cropping up now, since the k8s-extension installs were previously commented out in our scenario tests for aks update, but I updated them.

@FumingZhang
Copy link
Copy Markdown
Member

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 2 pipeline(s).

@FumingZhang
Copy link
Copy Markdown
Member

FumingZhang commented Feb 27, 2026

FumingZhang
FumingZhang previously approved these changes Feb 27, 2026
@FumingZhang
Copy link
Copy Markdown
Member

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 2 pipeline(s).

FumingZhang
FumingZhang previously approved these changes Mar 2, 2026
Co-authored-by: Yan Zhu <105691024+yanzhudd@users.noreply.github.com>
@NedAnd1
Copy link
Copy Markdown
Contributor Author

NedAnd1 commented Mar 5, 2026

@yanzhudd @FumingZhang Thanks for the reviews, could this PR be reapproved & merged soon?

@FumingZhang
Copy link
Copy Markdown
Member

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 2 pipeline(s).

@yanzhudd yanzhudd merged commit a6f99cd into Azure:main Mar 9, 2026
24 checks passed
@azclibot
Copy link
Copy Markdown
Collaborator

azclibot commented Mar 9, 2026

[Release] Update index.json for extension [ aks-preview-19.0.0b23 ] : https://dev.azure.com/msazure/One/_build/results?buildId=156058189&view=results

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

Labels

AKS Auto-Assign Auto assign by bot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants