Skip to content

[StorageSync] Bump API version to 2025-12-01 - #10442

Merged
NoriZC merged 2 commits into
Azure:mainfrom
JunKai-v:storagesync-bump-api-2025-12-01
Oct 16, 2026
Merged

NoriZC merged 2 commits into
Azure:mainfrom
JunKai-v:storagesync-bump-api-2025-12-01

Conversation

@JunKai-v

@JunKai-v JunKai-v commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

🤖 PR Validation — ️✔️ All clear

Breaking Changes
️✔️ None

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

Related command

  • az storagesync check-name-availability
  • az storagesync private-endpoint-connection list
  • az storagesync sync-group cloud-endpoint trigger-change-detection

Addresses Azure/azure-cli#33971.
AAZ command models: Azure/aaz#1121

Changes

  • Regenerated the 3 AAZ commands above with aaz-dev against Microsoft.StorageSync stable/2025-12-01 (spec tag package-2025-12), up from 2022-06-01.
    • check-name-availability: error format follows the new spec (ODataV4Format).
    • private-endpoint-connection list: response schema adds nextLink and read-only properties.groupIds.
    • trigger-change-detection: LRO now uses final-state-via: location, per the 2025-12-01 spec.
  • azext_metadata.json: minCliCoreVersion 2.55.0 -> 2.75.0 (set by the code generator).
  • Extension version 1.0.1 -> 1.0.2, with a HISTORY.rst entry.
  • Test recording test_storagesync.yaml updated for playback:
    • The 3 commands' requests (including LRO polls) moved to api-version=2025-12-01.
    • Core CLI calls updated to the api-versions current azure-cli sends: resource groups 2022-09-01 -> 2024-11-01, storage 2023-05-01 -> 2025-08-01.
    • Added one entry for the final GET on the operationresults Location URL that trigger-change-detection now makes (final-state-via: location). This entry was hand-written (copied from the last recorded Succeeded poll), not captured live.

Not in this PR (scope still being confirmed on the issue)

  • The remaining commands (storagesync create/show/list/delete, sync-group, cloud-endpoint create/show/list/delete, server-endpoint, registered-server) still use the vendored SDK at 2019-06-01.
  • New in 2025-12-01 and not yet exposed: CloudEndpoints_Update (a new cloud-endpoint update command) and changeEnumerationIntervalDays.

Testing

  • azdev style storagesync: Pylint PASSED, Flake8 PASSED.
  • python scripts/ci/test_index.py -q: 9 tests OK (2 skipped).
  • python -m pytest src/storagesync/azext_storagesync/tests/latest/test_storagesync_scenario.py (playback): 1 passed.

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.

@azure-pipelines

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

@JunKai-v JunKai-v changed the title [StorageSync] Bump API version to 2025-12-01 for AAZ commands [StorageSync] Bump API version to 2025-12-01 Oct 7, 2026
@yonzhan Yong Zhang (yonzhan) added this to the Backlog milestone Oct 7, 2026
@yonzhan

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

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

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@JunKai-v
JunKai-v marked this pull request as ready for review October 13, 2026 07:19
Copilot AI balanced review requested due to automatic review settings October 13, 2026 07:19
@azure-pipelines

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

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

The private endpoint list command does not follow the newly exposed pagination link, so multi-page results are truncated.

1 open finding
What changed in this PR

Updates three StorageSync AAZ commands to API version 2025-12-01.

Changes:

  • Regenerates command schemas, error handling, and LRO behavior.
  • Updates playback recordings and CLI compatibility metadata.
  • Bumps the extension to version 1.0.2.
File Description
setup.py Bumps extension version.
HISTORY.rst Documents the API upgrade.
test_storagesync.yaml Updates API versions and LRO playback.
azext_metadata.json Raises minimum CLI version.
_trigger_change_detection.py Updates API and final-state handling.
private_endpoint_connection/​_list.py Updates API and response schema.
_check_name_availability.py Updates API and error format.

🧠 Review effort: Balanced


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

Comment on lines +155 to +157
_schema_on_200.next_link = AAZStrType(
serialized_name="nextLink",
)
@NoriZC

NoriZC commented Oct 14, 2026

Copy link
Copy Markdown

/azp run Azure.azure-cli-extensions

@azure-pipelines

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

@NoriZC NoriZC added Request X Engineering Agent Ask the agent to triage this issue or review this PR X Engineering Agent Reviewed Agent reviewed this PR and removed X Engineering Agent Reviewed Agent reviewed this PR labels Oct 14, 2026
@x-engineering-agent

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

Copy link
Copy Markdown

X Engineering Agent Pull request review: Comments

JunKai-v The three-command API upgrade still has a pagination defect and unverified Location-based completion evidence. This is a review of upstream CI and author-provided evidence, not an Agent live-test run.

Upstream CI

Current-head validation completed with no failed or pending checks. The author reports style, index tests and one playback test passing; that does not validate a real 2025-12-01 completion response.

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.

That automated coverage result does not establish scenario coverage for this extension. src/storagesync/azext_storagesync/tests/latest/test_storagesync_scenario.py:65-66 invokes the list command without output assertions. Add a deterministic two-page fixture with distinct items and assert both pages, groupIds preservation, and empty-list behavior. The scenario at lines 116-120 invokes trigger-change-detection, but the description explicitly identifies the added final GET in tests/latest/recordings/test_storagesync.yaml as hand-written. Capture the real 2025-12-01 POST/poll/Location sequence and verify completion and terminal errors; rerun the focused StorageSync scenario through the repository's supported test workflow. This existing record-only scenario also needs a manually registered Windows server, so do not present it as a self-contained live reproduction.

Repository policy findings

Source verification correction: The description's shorthand Azure/aaz#1121 resolves to merged Azure/aaz PR #1121, whose changed files include all three command models and their 2025-12-01 resources. The reported missing-source finding is therefore disproved; it is not a source-ownership blocker. Use the full source PR URL so the deterministic link checker recognizes it; no duplicate source PR is needed.

Confirmed code finding

PR-related — pagination silently truncates results. _list.py:155-157 adds nextLink, but the traced path _handler:28-31 → _execute_operations:57-60 performs one request and _output:70-72 returns only instance.value. A response containing another page loses its remaining connections. This confirms the existing Copilot review comment. Correct the durable AAZ model/pagination generation (or a supported handwritten override), regenerate with paging enabled and (result, next_link) output, and run the two-page regression above; do not hand-edit generated output.

⚖️ Risk assessment — 47/100 · Medium · High confidence

The Medium rating is driven by public CLI behavior, dependency or supply chain, generated output.

  • Change scope: 7 changed files, 136 changed lines (+105 / -31), including 4 production files.
  • Affected components: storagesync
  • Risk drivers: 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 storagesync before merge.

X Engineering Agent · Reviewer · react 👍 / 👎 to train the agent

@JunKai-v
JunKai-v force-pushed the storagesync-bump-api-2025-12-01 branch from 0db8334 to 0bda4c3 Compare October 15, 2026 02:26
@JunKai-v

Copy link
Copy Markdown
Contributor Author

/azp run Azure.azure-cli-extensions

@azure-pipelines

Copy link
Copy Markdown
Commenter does not have sufficient privileges for PR 10442 in repo Azure/azure-cli-extensions

@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 added the X Engineering Agent Reviewed Agent reviewed this PR label Oct 15, 2026
@NoriZC
NoriZC merged commit 1c7f521 into Azure:main Oct 16, 2026
30 checks passed
@JunKai-v
JunKai-v deleted the storagesync-bump-api-2025-12-01 branch October 16, 2026 02:41
@azclibot

Copy link
Copy Markdown
Collaborator

[Release] Update index.json for extension [ storagesync-1.0.2 ] : https://dev.azure.com/msazure/One/_build/results?buildId=186066114&view=results

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.

6 participants