[Network] az network virtual-appliance migration: Support migrating NVA to ILB architecture#33766
[Network] az network virtual-appliance migration: Support migrating NVA to ILB architecture#33766Jordang3177 wants to merge 2 commits into
az network virtual-appliance migration: Support migrating NVA to ILB architecture#33766Conversation
|
Hi @Jordang3177, |
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
|
Thank you for your contribution @Jordang3177! We will review the pull request and get back to you soon. |
There was a problem hiding this comment.
Pull request overview
Adds a new az network virtual-appliance migration command group (prepare/execute/commit/abort) backed by NVA RP migration operations (API 2025-09-01), and introduces a live-only scenario test that exercises the prepare → execute → commit flow.
Changes:
- Add AAZ-generated
network virtual-appliance migrationcommand group with--no-waitsupport. - Add a live-only scenario test covering the multi-phase migration workflow.
- Update
HISTORY.rstwith a Network release note for the new commands.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/azure-cli/HISTORY.rst | Adds release history entry for the new NVA migration commands. |
| src/azure-cli/azure/cli/command_modules/network/tests/latest/test_network_commands.py | Adds a live-only scenario test for NVA migration phases. |
| src/azure-cli/azure/cli/command_modules/network/aaz/latest/network/virtual_appliance/migration/_prepare.py | Adds AAZ command for migration prepare (POST prepareMigration). |
| src/azure-cli/azure/cli/command_modules/network/aaz/latest/network/virtual_appliance/migration/_execute.py | Adds AAZ command for migration execute (POST executeMigration). |
| src/azure-cli/azure/cli/command_modules/network/aaz/latest/network/virtual_appliance/migration/_commit.py | Adds AAZ command for migration commit (POST commitMigration). |
| src/azure-cli/azure/cli/command_modules/network/aaz/latest/network/virtual_appliance/migration/_abort.py | Adds AAZ command for migration abort (POST abortMigration) with confirmation prompt. |
| src/azure-cli/azure/cli/command_modules/network/aaz/latest/network/virtual_appliance/migration/init.py | Exposes the migration subcommands/command group for loading. |
| src/azure-cli/azure/cli/command_modules/network/aaz/latest/network/virtual_appliance/migration/__cmd_group.py | Registers the network virtual-appliance migration command group and help. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| * `az network ddos-custom-policy`: Support specifying frontend IP configuration associations (#33413) | ||
| * `az network traffic-manager profile create/update`: Add `--record-type` parameter to support record type filtering (#33503) | ||
| * `az network private-endpoint-connection`: Add provider `Microsoft.HorizonDB/clusters` (#33644) | ||
| * `az network virtual-appliance migration prepare/execute/commit/abort`: Add commands to migrate a Network Virtual Appliance to the new internal load balancer (ILB) architecture |
| # Variables to use in the test | ||
| subscriptionId = self.get_subscription_id() | ||
| self.kwargs.update({ | ||
| 'vwan': 'clitestvwan', # Virtual WAN name | ||
| 'vhub': 'clivhub', # Virtual Hub name | ||
| 'nva_name': 'clivirtualappliancemigration', # NVA name | ||
| 'rg': resource_group, | ||
| 'subscription': subscriptionId, | ||
| 'migration_type': 'MigrateToNewILBArchitecture', | ||
| }) |
| while routing_state != 'Provisioned': | ||
| if retry_count == 20: | ||
| break | ||
| retry_count += 1 | ||
| sleep(360) | ||
| routing_state = self.cmd('network vhub show -g {rg} -n {vhub}').get_output_in_json()['routingState'] |
|
network |
|
/azp run |
| Command 'run |
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
| * `az network ddos-custom-policy`: Support specifying frontend IP configuration associations (#33413) | ||
| * `az network traffic-manager profile create/update`: Add `--record-type` parameter to support record type filtering (#33503) | ||
| * `az network private-endpoint-connection`: Add provider `Microsoft.HorizonDB/clusters` (#33644) | ||
| * `az network virtual-appliance migration prepare/execute/commit/abort`: Add commands to migrate a Network Virtual Appliance to the new internal load balancer (ILB) architecture |
There was a problem hiding this comment.
please don't modify changelog, it will be generated during release.
|
@Jordang3177 plz provide the pr link under Azure/aaz. |
az network virtual-appliance migration: Support migrating NVA to ILB architecture
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
Related command
az network virtual-appliance migration prepareaz network virtual-appliance migration executeaz network virtual-appliance migration commitaz network virtual-appliance migration abortDescription
Adds a new
az network virtual-appliance migrationcommand group to support migrating a Network Virtual Appliance (NVA) to the new internal load balancer (ILB) architecture. The migration is a phased, long-running workflow that maps to the new NFV RP operations (prepareMigration,executeMigration,commitMigration,abortMigration) on theMicrosoft.Network/networkVirtualAppliancesresource (API version2025-09-01):prepare– Phase 1. Validates eligibility and stages the resources required for the migration. Accepts--migration-type(MigrateToNewILBArchitecture|MigrateToNewOSVersion) and, for OS-version migrations,--marketplace-version.execute– Phase 2. Applies the new infrastructure to the NVA. Must run afterprepare.commit– Phase 3. Finalizes the new architecture and discards the previous configuration.abort– Rolls back an in-progress (prepared/executed but not committed) migration; migration type is inferred from the resource and the command prompts for confirmation.All commands are async (LRO) and support
--no-wait. No existing commands are changed.Testing Guide
Verify progress between phases with
az network virtual-appliance show -n MyNva -g MyRG(checkprovisioningStateisSucceeded). A live scenario test,NetworkVirtualApplianceMigrationScenarioTest.test_network_virtual_appliance_migration(@live_only), covers the prepare → execute → commit flow.History Notes
[Network]
az network virtual-appliance migration prepare/execute/commit/abort: Add commands to migrate a Network Virtual Appliance to the new internal load balancer (ILB) architectureThis checklist is used to make sure that common guidelines for a pull request are followed.
The PR title and description has followed the guideline in Submitting Pull Requests.
I adhere to the Command Guidelines.
I adhere to the Error Handling Guidelines.
🤖 PR Validation —⚠️ Review suggested