Skip to content

[ElasticSan] Support for 2026-05-01-preview service version - #10462

Open
Amanda Nguyen (amnguye) wants to merge 12 commits into
Azure:mainfrom
amnguye:feature/elastic-san/2026-05-01-preview
Open

Amanda Nguyen (amnguye) wants to merge 12 commits into
Azure:mainfrom
amnguye:feature/elastic-san/2026-05-01-preview

Conversation

@amnguye

@amnguye Amanda Nguyen (amnguye) commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

🤖 PR Validation — ⚠️ Review suggested

Breaking Changes Suppressions
⚠️ None ⚠️ 1 added
⚠️Azure CLI Extensions Breaking Change Test
⚠️elastic-san
rule cmd_name rule_message suggest_message
⚠️ 1006 - ParaAdd elastic-san create cmd elastic-san create added parameter total_iops
⚠️ 1006 - ParaAdd elastic-san create cmd elastic-san create added parameter total_mbps
⚠️ 1006 - ParaAdd elastic-san create cmd elastic-san create added parameter total_size_tib
⚠️ 1006 - ParaAdd elastic-san create cmd elastic-san create added parameter version
⚠️ 1006 - ParaAdd elastic-san update cmd elastic-san update added parameter total_iops
⚠️ 1006 - ParaAdd elastic-san update cmd elastic-san update added parameter total_mbps
⚠️ 1006 - ParaAdd elastic-san update cmd elastic-san update added parameter total_size_tib
⚠️ 1006 - ParaAdd elastic-san volume create cmd elastic-san volume create added parameter managed_by
⚠️ 1006 - ParaAdd elastic-san volume delete cmd elastic-san volume delete added parameter delete_type
⚠️ 1006 - ParaAdd elastic-san volume list cmd elastic-san volume list added parameter x_ms_access_soft_deleted_resources
⚠️ 1006 - ParaAdd elastic-san volume update cmd elastic-san volume update added parameter managed_by
⚠️ 1006 - ParaAdd elastic-san volume-group create cmd elastic-san volume-group create added parameter delete_retention_policy
⚠️ 1006 - ParaAdd elastic-san volume-group create cmd elastic-san volume-group create added parameter encryption_in_transit
⚠️ 1006 - ParaAdd elastic-san volume-group create cmd elastic-san volume-group create added parameter quality_of_service
⚠️ 1006 - ParaAdd elastic-san volume-group create cmd elastic-san volume-group create added parameter reserved_iops
⚠️ 1006 - ParaAdd elastic-san volume-group create cmd elastic-san volume-group create added parameter reserved_mbps
⚠️ 1010 - ParaPropUpdate elastic-san volume-group create cmd elastic-san volume-group create update parameter protocol_type: updated property choices from ['Iscsi', 'None'] to ['DirectAttach', 'Iscsi', 'None']
⚠️ 1006 - ParaAdd elastic-san volume-group list cmd elastic-san volume-group list added parameter x_ms_access_soft_deleted_resources
⚠️ 1006 - ParaAdd elastic-san volume-group update cmd elastic-san volume-group update added parameter delete_retention_policy
⚠️ 1006 - ParaAdd elastic-san volume-group update cmd elastic-san volume-group update added parameter mi_system_assigned
⚠️ 1006 - ParaAdd elastic-san volume-group update cmd elastic-san volume-group update added parameter reserved_iops
⚠️ 1006 - ParaAdd elastic-san volume-group update cmd elastic-san volume-group update added parameter reserved_mbps
⚠️ 1006 - ParaAdd elastic-san volume-group update cmd elastic-san volume-group update added parameter user_assigned_identity
⚠️ 1010 - ParaPropUpdate elastic-san volume-group update cmd elastic-san volume-group update update parameter protocol_type: updated property choices from ['Iscsi', 'None'] to ['DirectAttach', 'Iscsi', 'None']

This PR adds warning or check suppressions. Fix the underlying warning where possible and justify each remaining suppression in a code comment or the PR description.

1 added suppression
File Line Kind Code
src/elastic-san/azext_elastic_san/custom.py 37 pylint class _InstanceUpdateByGeneric(AAZGenericInstanceUpdateOperation): # pylint: disable=too-few-public-methods

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

Related command

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 azdev 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 balanced review requested due to automatic review settings October 13, 2026 04:11
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

Legacy identity removal is broken, additional breaking changes are undocumented, and major new command paths lack coverage.

7 open findings
What changed in this PR

Updates Elastic SAN commands to the 2026-05-01-preview API and adds V2 capacity, performance, soft-delete, identity, and snapshot capabilities.

Changes:

  • Adds Elastic SAN V2 capacity and performance settings.
  • Expands volume and volume-group lifecycle controls.
  • Adds snapshot update support and updates extension metadata.
File Description
src/​elastic-san/​setup.py Bumps extension version.
src/​elastic-san/​HISTORY.rst Documents release features and breaking changes.
src/​elastic-san/​azext_elastic_san/​custom.py Adapts legacy volume-group identity arguments.
.../​volume/​snapshot/​_wait.py Updates snapshot wait schema and API.
.../​volume/​snapshot/​_update.py Adds snapshot update command.
.../​volume/​snapshot/​_show.py Updates snapshot retrieval schema.
.../​volume/​snapshot/​_list.py Updates snapshot listing schema.
.../​volume/​snapshot/​_delete.py Migrates snapshot deletion API.
.../​volume/​snapshot/​_create.py Migrates snapshot creation API.
.../​volume/​snapshot/​__init__.py Exports snapshot update.
.../​volume/​_wait.py Updates volume wait response schema.
.../​volume/​_update.py Adds managed-by updates.
.../​volume/​_show.py Supports managed-by lists.
.../​volume/​_list.py Adds soft-deleted volume access.
.../​volume/​_delete.py Adds permanent deletion.
.../​volume/​_create.py Adds managed-by creation.
.../​volume_group/​_wait.py Adds new volume-group response fields.
.../​volume_group/​_update.py Switches updates to PATCH and adds settings.
.../​volume_group/​_test_restore.py Migrates restore validation API.
.../​volume_group/​_test_backup.py Migrates backup validation API.
.../​volume_group/​_show.py Exposes retention and QoS fields.
.../​volume_group/​_list.py Adds soft-delete and new fields.
.../​volume_group/​_delete.py Migrates volume-group deletion API.
.../​volume_group/​_create.py Adds retention, encryption, and QoS settings.
.../​elastic_san/​_wait.py Adds V2 response fields.
.../​elastic_san/​_update.py Uses PATCH and adds V2 updates.
.../​elastic_san/​_show.py Exposes V2 capacity metrics.
.../​elastic_san/​_list.py Exposes V2 fields in listings.
.../​elastic_san/​_list_sku.py Adds zone capability metadata.
.../​elastic_san/​_delete.py Migrates SAN deletion API.
.../​elastic_san/​_create.py Adds V2 creation parameters.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/elastic-san/HISTORY.rst Resolved
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

@yonzhan

Copy link
Copy Markdown
Collaborator

Please fix CI issues

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

@amnguye

Copy link
Copy Markdown
Member Author

NoriZC Do we also have to create separate branches for these preview releases as well for CLI extensions?

@amnguye

Copy link
Copy Markdown
Member Author

Yong Zhang (@yonzhan) NoriZC Is there anything else we need to do before approval and merging?

@a0x1ab Aditya Pujara (a0x1ab) added the Request X Engineering Agent Ask the agent to triage this issue or review this PR label Oct 29, 2026
@x-engineering-agent

x-engineering-agent Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

X Engineering Agent Pull request review: Comments

Amanda Nguyen (@amnguye) Not passing: the deterministic generated-source ownership blocker remains. All seven Copilot feedback items are invalid at this head: identity removal and generic updates are implemented in registered custom commands; V2 create/update assertions and recording are present; snapshot update is not shipped; capacity and volume-list help are corrected. No additional semantic defect was confirmed in the bounded review.

Check Status Detail
Upstream CI Passed Green: 6 checks completed, 5 passed, 0 failed, 0 pending.
Agent live tests Not run This is a review-only PR.
Regression coverage Not applicable Not applicable to the changed files.
Findings 1 high findings 1 high
Risk Risk 89/100 Critical Critical; owner review required

To address

Tick each item as you address it.

Review details

Upstream CI

Green: 6 checks completed, 5 passed, 0 failed, 0 pending. This is upstream evidence, not an Agent regression-test result.

Test validation

  • Agent live test: Not run; this is a review-only PR. Check author-provided test evidence and upstream CI separately.
  • Regression coverage: Not applicable to the changed files.

Risk assessment

89/100 · Critical

The Critical rating is driven by security-sensitive behavior, public CLI behavior, dependency or supply chain and 1 additional signal(s).

  • Change scope: 40 changed files, 10228 changed lines (+7331 / -2897), including 29 production files.
  • Affected components: elastic-san
  • Risk drivers: security-sensitive behavior (+28); public CLI behavior (+18); dependency or supply chain (+18); generated output (+12)
  • Regression evidence: Changed regression tests are included, reducing risk.
  • Confidence: High because changed-line patches were available for every production file.
  • Required review: Owning-squad review is required for elastic-san before merge.

Ask the Agent

Tick a box to queue an action. Requires write access to this repository.

  • Re-review this PR
  • Run Agent live tests on this PR

X Engineering Agent · Reviewer · React with +1 or -1 to train the agent

@x-engineering-agent x-engineering-agent Bot added the X Engineering Agent Reviewed Agent reviewed this PR label Oct 29, 2026
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

x-engineering-agent[bot]

This comment was marked as outdated.

@yonzhan

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

@x-engineering-agent x-engineering-agent Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Review comments are inline on the changed lines. See the X Engineering Agent Report.


_aaz_info = {
"version": "2025-09-01",
"version": "2026-05-01-preview",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

High Link the durable generated command-model source

The deterministic ownership check found generated output changes without an open or merged Azure/aaz PR containing the durable command-model change. Make that source change, link its PR, and regenerate aaz/. Verify from a clean checkout that regeneration reproduces this change and the source PR is open or merged.

X Engineering Agent · Reviewer · React with +1 or -1 to train the reviewer

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

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

Labels

Request X Engineering Agent Ask the agent to triage this issue or review this PR X Engineering Agent Reviewed Agent reviewed this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants