An Azure networking service that is used to provision private networks and optionally to connect to on-premises datacenters.
Hello Paul Sabini
The MoveOperationInProgressOrFailed error usually indicates that Azure Network Resource Provider (NRP) still considers the affected resources involved in a move operation, even if the move has already failed.
- Check whether the move is still active
Azure Resource Manager allows up to four hours for a resource move to finish.
Check the source and destination resource groups:
az monitor activity-log list \
--resource-group "<resource-group>" \
--offset 90d \
--query "[?contains(operationName.value, 'move')].{Time:eventTimestamp,Operation:operationName.value,Status:status.value,CorrelationId:correlationId}" \
-o table
- Check the affected resource state
az resource show \
--ids "<resource-id>" \
--query "{id:id,provisioningState:properties.provisioningState}" \
-o json
Repeat for the VNet, NIC, Public IP and NSG.
If the move has already completed or failed, but these resources continue returning MoveOperationInProgressOrFailed, this is likely stale move metadata rather than a normal resource dependency issue.
- Request backend cleanup
There is very similar Microsoft Q&A case where a Public IP could not be deleted after a failed move. Microsoft Support engaged the networking engineering team, which manually corrected the backend move state. The resource was then successfully deleted.
Since you've already checked locks, dependencies and Activity Logs, I recommend opening an Azure Support request and requesting:
Please engage the Azure Network Resource Provider engineering team to investigate and clear the stale move-operation state for the affected VNet, NIC, Public IP and NSG. The resources remain blocked by
MoveOperationInProgressOrFaileddespite the move no longer being active.
Include the resource IDs, subscription ID, source/destination resource groups, failed move correlation ID, and UTC timestamps.
Once Microsoft confirms the move state is cleared, remove the VM/network dependencies and delete the resources in dependency order.
Repeated delete attempts, removing ordinary ARM locks, or reapplying resource configurations will not necessarily clear a backend move-operation block. Avoid forceful cleanup until the move state is resolved.
Related Microsoft Q&A cases:
- Failed move blocking Public IP deletion — resolved by backend engineering
- Public IP blocked by MoveOperationInProgressOrFailed — October 2025
Given your existing troubleshooting, Microsoft Support intervention is the most appropriate next step if the move is no longer active.