Skip to content

[redisenterprise] Release stable 2026-09-01 API support (1.5.0) - #10551

Open
Kanchan Joshi (koderjoker) wants to merge 3 commits into
Azure:mainfrom
koderjoker:feature/redisenterprise-2026-09-01-ga
Open

Kanchan Joshi (koderjoker) wants to merge 3 commits into
Azure:mainfrom
koderjoker:feature/redisenterprise-2026-09-01-ga

Conversation

@koderjoker

@koderjoker Kanchan Joshi (koderjoker) commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

🤖 PR Validation — ❌ Action needed

Breaking Changes Suppressions
❌ 1 ️✔️ None
❌Azure CLI Extensions Breaking Change Test
❌redisenterprise
rule cmd_name rule_message suggest_message
❌ 1007 - ParaRemove redisenterprise database access-policy-assignment create cmd redisenterprise database access-policy-assignment create removed parameter access_string please add back parameter access_string for cmd redisenterprise database access-policy-assignment create
❌ 1007 - ParaRemove redisenterprise database access-policy-assignment update cmd redisenterprise database access-policy-assignment update removed parameter access_string please add back parameter access_string for cmd redisenterprise database access-policy-assignment update
❌ 1007 - ParaRemove redisenterprise migration validate cmd redisenterprise migration validate removed parameter force_migrate please add back parameter force_migrate for cmd redisenterprise migration validate
⚠️ 1006 - ParaAdd redisenterprise migration undo cmd redisenterprise migration undo added parameter rollback_reason
⚠️ 1001 - CmdAdd redisenterprise migration unlink-migrated-endpoint cmd redisenterprise migration unlink-migrated-endpoint added
⚠️ 1001 - CmdAdd redisenterprise unlink-migrated-endpoint cmd redisenterprise unlink-migrated-endpoint added

Related command

az redisenterprise

Companion AAZ model PR: Azure/aaz#1157

Summary

  • Update the extension to stable API 2026-09-01 and version 1.5.0; retain existing GA access-policy assignment behavior.
  • Add the OSS migration-child and Enterprise cluster unlink-migrated-endpoint commands, with shared handling for their resource-returning final polling responses.
  • Preserve the existing single-default-database interface, migration argument serialization, and SKU-transition cleanup.
  • Add meaningful migration, assignment, keyspace, and maintenance coverage; refresh live recordings and customer-facing examples.

Validation

  • All 14 functional scenarios passed live in East US 2 EUAP, including a separate live dataplane connection check.
  • Complete playback/offline suite with 16 workers: 28 passed, 1 intentional live-only skip, and 27 subtests passed.
  • Official azdev Pylint and Flake8 passed; the final wheel was built and its metadata and README checked.
  • Local extension index checks passed: 9 tests, including 2 CI-only skips.
  • Recordings were checked for credentials; test-owned resources were cleaned up.

The migration scenarios exercise endpoint/SKU migration, rollback, and unlink. They do not validate full data transfer or import/export; those README examples require the documented live prerequisites.

General Guidelines

  • Have you run azdev style <YOUR_EXT> locally?
  • Have you run python scripts/ci/test_index.py -q locally?
  • My extension version conforms to the Extension version schema.

src/index.json is intentionally unchanged; extension publication follows the repository's normal post-merge pipeline.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: daca167c-c874-4578-b41b-e2933e9502e9
Copilot AI balanced review requested due to automatic review settings November 3, 2026 13:53
@azure-pipelines

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

@koderjoker

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

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

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@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 migration-undo README references Location instead of Azure-AsyncOperation, leaving the example without the required operation ID and region.

1 open issue
What changed in this PR

Promotes the Redis Enterprise extension to stable version 1.5.0 using API 2026-09-01, supporting Azure Managed Redis migrations while retaining existing GA access-policy behavior.

Changes:

  • Updates generated commands and release metadata to the stable API.
  • Adds migration and cluster endpoint-unlink commands, rollback reasons, and shared polling handling.
  • Expands migration, access-policy, keyspace, and recording-sanitization coverage; refreshes usage examples.

Paths below are relative to src/redisenterprise/.

File Description
setup.py Sets version 1.5.0 and stable classification.
README.md Refreshes examples and documents migration prerequisites.
HISTORY.rst Records stable-release changes.
azext_redisenterprise/​tests/​latest/​test_test_connection.py Moves live connectivity testing to East US 2 EUAP.
azext_redisenterprise/​tests/​latest/​test_recording_processors.py Tests migration registration and nested-key sanitization.
azext_redisenterprise/​tests/​latest/​test_migration.py Covers rollback and both endpoint-unlink workflows.
azext_redisenterprise/​tests/​latest/​test_migration_flatten_args.py Adds serialization, polling, and response-schema regressions.
azext_redisenterprise/​tests/​latest/​test_maintenance_config.py Moves maintenance testing to East US 2 EUAP.
azext_redisenterprise/​tests/​latest/​test_demo.py Updates test regions and removes subscription-list steps.
azext_redisenterprise/​tests/​latest/​test_database_keyspace.py Tests changing and clearing keyspace notifications.
azext_redisenterprise/​tests/​latest/​test_access_policy_assignment.py Adds stable access-policy assignment lifecycle coverage.
azext_redisenterprise/​tests/​latest/​test_access_policy_access_string.py Removes preview-only access-string tests.
azext_redisenterprise/​tests/​latest/​recording_processors.py Sanitizes nested OSS source-cache access keys.
azext_redisenterprise/​tests/​latest/​example_steps.py Updates shared scenario locations.
azext_redisenterprise/​custom.py Shares final-response polling handling across migration actions.
azext_redisenterprise/​commands.py Registers customized endpoint-unlink commands.
azext_redisenterprise/​azext_metadata.json Marks the extension as non-preview.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​operation_status/​_show.py Uses the stable operation-status API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​migration/​_wait.py Updates API and migration response fields.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​migration/​_validate.py Uses stable validation without --force-migrate.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​migration/​_unlink_migrated_endpoint.py Adds OSS migration endpoint unlinking.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​migration/​_undo.py Adds optional rollback reasons.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​migration/​_start.py Updates API and migration response fields.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​migration/​_show.py Exposes rollback deadlines and nullable status details.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​migration/​_list.py Updates listed migration response fields.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​migration/​__init__.py Exports the migration unlink command.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​access_policy_assignment/​_wait.py Restores stable assignment response schema.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​access_policy_assignment/​_update.py Restores stable assignment updates without access strings.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​access_policy_assignment/​_show.py Uses stable assignment API and response schema.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​access_policy_assignment/​_list.py Uses stable assignment listing schema.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​access_policy_assignment/​_delete.py Uses stable API and removes preview marking.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​access_policy_assignment/​_create.py Restores stable policy-based assignment creation.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​access_policy_assignment/​__cmd_group.py Removes the group's preview marking.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​_wait.py Uses the stable database polling API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​_upgrade_db_redis_version.py Uses the stable database upgrade API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​_update.py Uses the stable database update API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​_show.py Uses the stable database retrieval API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​_regenerate_key.py Uses the stable key-regeneration API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​_list.py Uses the stable database listing API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​_list_keys.py Uses the stable key-listing API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​_import.py Uses the stable database import API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​_force_unlink.py Uses the stable replication-unlink API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​_force_link_to_replication_group.py Uses the stable replication-link API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​_flush.py Uses the stable database flush API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​_export.py Uses the stable database export API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​_delete.py Uses the stable database deletion API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​database/​_create.py Uses the stable database creation API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​_wait.py Uses the stable cluster polling API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​_update.py Uses the stable cluster update API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​_unlink_migrated_endpoint.py Adds Enterprise migration endpoint unlinking.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​_show.py Uses the stable cluster retrieval API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​_list.py Uses stable cluster listing APIs.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​_list_skus_for_scaling.py Uses the stable scaling-SKU API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​_delete.py Uses the stable cluster deletion API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​_create.py Uses the stable cluster creation API.
azext_redisenterprise/​aaz/​latest/​redisenterprise/​__init__.py Exports the cluster unlink command.

Review effort: Balanced

Comment thread src/redisenterprise/README.md Resolved
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: daca167c-c874-4578-b41b-e2933e9502e9
@koderjoker
Kanchan Joshi (koderjoker) requested a balanced review from Copilot November 3, 2026 15:04
@koderjoker

Copy link
Copy Markdown
Member Author

The README and Python 3.10 timestamp fixes are now in commit 86fae27. Please rerun Azure Pipelines for the new head with /azp run; my earlier trigger was rejected for insufficient permissions. Current GitHub checks pass.

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@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.

🟢 Approval recommended

No active review issues are reported for the Redis Enterprise stable-release update.

No open issues 🎉

1 resolved since last review

Review effort: Balanced

@koderjoker

Copy link
Copy Markdown
Member Author

Regarding breaking changes- These removals are intentional changes from 1.5.0b1 preview -> 1.5.0 GA, aligning with stable API 2026-09-01

@yonzhan

Copy link
Copy Markdown
Collaborator

Please fix CI issues

@koderjoker

Kanchan Joshi (koderjoker) commented Nov 4, 2026 •

Copy link
Copy Markdown
Member Author

Yong Zhang (@yonzhan) the only CI issue is from the do not merge label I have applied to this PR, as I am waiting for some of my team's feature owners to sign off in parallel today. Rest everything is passing.

@msarfraz mansoor sarfraz (msarfraz) added the Request X Engineering Agent Ask the agent to triage this issue or review this PR label Nov 4, 2026
@x-engineering-agent

x-engineering-agent Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

X Engineering Agent Pull request review: In progress

In progress — X Engineering Agent is reviewing this PR at 69adcb5. This comment will be updated with the results.

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

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: daca167c-c874-4578-b41b-e2933e9502e9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Auto-Assign Auto assign by bot do-not-merge Redis Enterprise Request X Engineering Agent Ask the agent to triage this issue or review this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants