Skip to content

Commit bd81d61

Browse files
Update GetAzureRmRecoveryServicesBackupSchedulePolicyObject to default the PolicySubType to Enhanced for AzureVM. (Azure#27043)
1 parent f5a2663 commit bd81d61

File tree

8 files changed

+940
-25
lines changed

8 files changed

+940
-25
lines changed

src/RecoveryServices/RecoveryServices.Backup.Test/ScenarioTests/AzureFiles/ItemTests.ps1

+17-12
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ function Test-AzureFSRestoreToAnotherRegion
7676
-EndDate $backupEndTime `
7777
-Item $items[0];
7878

79-
$restoreJob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -ResolveConflict Overwrite -VaultId $vault.ID -VaultLocation $vault.Location -TargetStorageAccountName $targetSaName -TargetFileShareName $targetFileShareName | Wait-AzRecoveryServicesBackupJob -VaultId $vault.ID
79+
$restoreJob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -ResolveConflict Overwrite -VaultId $vault.ID -VaultLocation $vault.Location -TargetStorageAccountName $targetSaName -TargetFileShareName $targetFileShareName
80+
$restoreJob = $restoreJob | Wait-AzRecoveryServicesBackupJob -VaultId $vault.ID
8081

8182
Assert-True { $restoreJob.Status -eq "Completed" }
8283
}
@@ -366,8 +367,9 @@ function Test-AzureFSFullRestore
366367
-RecoveryPoint $recoveryPoint[0] `
367368
-MultipleSourceFilePath $files `
368369
-SourceFileType File `
369-
-ResolveConflict Overwrite | `
370-
Wait-AzRecoveryServicesBackupJob -VaultId $vault.ID
370+
-ResolveConflict Overwrite
371+
372+
$restoreJob = $restoreJob | Wait-AzRecoveryServicesBackupJob -VaultId $vault.ID
371373

372374
Assert-True { $restoreJob.Status -eq "Completed" }
373375

@@ -382,8 +384,9 @@ function Test-AzureFSFullRestore
382384
-SourceFileType Directory `
383385
-TargetStorageAccountName $targetSaName `
384386
-TargetFileShareName $targetFileShareName `
385-
-TargetFolder $targetFolder | `
386-
Wait-AzRecoveryServicesBackupJob -VaultId $vault.ID
387+
-TargetFolder $targetFolder
388+
389+
$restoreJob1 = $restoreJob1 | Wait-AzRecoveryServicesBackupJob -VaultId $vault.ID
387390

388391
Assert-True { $restoreJob1.Status -eq "Completed" }
389392

@@ -396,9 +399,9 @@ function Test-AzureFSFullRestore
396399
-ResolveConflict Overwrite `
397400
-TargetStorageAccountName $targetSaName `
398401
-TargetFileShareName $targetFileShareName `
399-
-TargetFolder $targetFolder | `
400-
Wait-AzRecoveryServicesBackupJob -VaultId $vault.ID
401-
402+
-TargetFolder $targetFolder
403+
404+
$restoreJob2 = $restoreJob2 | Wait-AzRecoveryServicesBackupJob -VaultId $vault.ID
402405
Assert-True { $restoreJob2.Status -eq "Completed" }
403406

404407
# Test without storage account dependancy
@@ -409,8 +412,9 @@ function Test-AzureFSFullRestore
409412
-RecoveryPoint $recoveryPoint[0] `
410413
-ResolveConflict Overwrite `
411414
-SourceFilePath $filePath `
412-
-SourceFileType File | `
413-
Wait-AzRecoveryServicesBackupJob -VaultId $vault.ID
415+
-SourceFileType File
416+
417+
$restoreJob3 | Wait-AzRecoveryServicesBackupJob -VaultId $vault.ID
414418

415419
Assert-True { $restoreJob3.Status -eq "Completed" }
416420

@@ -420,8 +424,9 @@ function Test-AzureFSFullRestore
420424
-VaultId $vault.ID `
421425
-VaultLocation $vault.Location `
422426
-RecoveryPoint $recoveryPoint[0] `
423-
-ResolveConflict Overwrite | `
424-
Wait-AzRecoveryServicesBackupJob -VaultId $vault.ID
427+
-ResolveConflict Overwrite
428+
429+
$restoreJob4= $restoreJob4 | Wait-AzRecoveryServicesBackupJob -VaultId $vault.ID
425430

426431
Assert-True { $restoreJob4.Status -eq "Completed" }
427432
}

src/RecoveryServices/RecoveryServices.Backup.Test/ScenarioTests/IaasVm/ItemTests.ps1

+6-2
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,9 @@ function Test-AzureCrossZonalRestore
227227
$rp = Get-AzRecoveryServicesBackupRecoveryPoint -Item $item[0] -VaultId $vault.ID -RecoveryPointId $recoveryPointId
228228

229229
$restoreJobCZR = Restore-AzRecoveryServicesBackupItem -VaultId $vault.ID -VaultLocation $vault.Location `
230-
-RecoveryPoint $rp[0] -StorageAccountName $saName -StorageAccountResourceGroupName $vault.ResourceGroupName -TargetResourceGroupName $vault.ResourceGroupName -TargetVMName $targetVMName -TargetVNetName $targetVNetName -TargetVNetResourceGroup $targetVNetRG -TargetSubnetName $targetSubnetName -TargetZoneNumber 2 | Wait-AzRecoveryServicesBackupJob -VaultId $vault.ID
230+
-RecoveryPoint $rp[0] -StorageAccountName $saName -StorageAccountResourceGroupName $vault.ResourceGroupName -TargetResourceGroupName $vault.ResourceGroupName -TargetVMName $targetVMName -TargetVNetName $targetVNetName -TargetVNetResourceGroup $targetVNetRG -TargetSubnetName $targetSubnetName -TargetZoneNumber 2
231+
232+
$restoreJobCZR = $restoreJobCZR | Wait-AzRecoveryServicesBackupJob -VaultId $vault.ID
231233

232234
Assert-True { $restoreJobCZR.Status -match "Completed" } # later change to -eq
233235

@@ -266,7 +268,9 @@ function Test-AzureCrossZonalRestoreToNoZone
266268
$backupitem = Get-AzRecoveryServicesBackupItem -Container $namedContainer -WorkloadType "AzureVM" -VaultId $vault.ID
267269
$rp = Get-AzRecoveryServicesBackupRecoveryPoint -Item $backupitem -VaultId $vault.ID -RecoveryPointId $recoveryPointId
268270
$restoreJobCZR = Restore-AzRecoveryServicesBackupItem -VaultId $vault.ID -VaultLocation $vault.Location `
269-
-RecoveryPoint $rp[0] -StorageAccountName $saName -StorageAccountResourceGroupName $vault.ResourceGroupName -TargetResourceGroupName $vault.ResourceGroupName -TargetVMName $targetVMName -TargetVNetName $targetVNetName -TargetVNetResourceGroup $targetVNetRG -TargetSubnetName $targetSubnetName -TargetZoneNumber 0 | Wait-AzRecoveryServicesBackupJob -VaultId $vault.ID
271+
-RecoveryPoint $rp[0] -StorageAccountName $saName -StorageAccountResourceGroupName $vault.ResourceGroupName -TargetResourceGroupName $vault.ResourceGroupName -TargetVMName $targetVMName -TargetVNetName $targetVNetName -TargetVNetResourceGroup $targetVNetRG -TargetSubnetName $targetSubnetName -TargetZoneNumber 0
272+
273+
$restoreJobCZR = $restoreJobCZR | Wait-AzRecoveryServicesBackupJob -VaultId $vault.ID
270274

271275
Assert-True { $restoreJobCZR.Status -eq "Completed" }
272276
}

src/RecoveryServices/RecoveryServices.Backup.Test/ScenarioTests/IaasVm/PolicyTests.cs

+12
Original file line numberDiff line numberDiff line change
@@ -88,5 +88,17 @@ public void TestAzureVMCrashconsistentPolicy()
8888
"Test-AzureVMCrashconsistentPolicy"
8989
);
9090
}
91+
92+
[Fact]
93+
[Trait(Category.AcceptanceType, Category.CheckIn)]
94+
[Trait(TestConstants.Workload, TestConstants.AzureVM)]
95+
public void TestAzureVMEnhancedPolicyAsDefaultPolicy()
96+
{
97+
TestRunner.RunTestScript(
98+
$"Import-Module {_IaasVmcommonModule.AsAbsoluteLocation()}",
99+
$"Import-Module {_IaasVmtestModule.AsAbsoluteLocation()}",
100+
"Test-AzureVMEnhancedPolicyAsDefault"
101+
);
102+
}
91103
}
92104
}

src/RecoveryServices/RecoveryServices.Backup.Test/ScenarioTests/IaasVm/PolicyTests.ps1

+52-1
Original file line numberDiff line numberDiff line change
@@ -343,4 +343,55 @@ function Test-AzureVMPolicy
343343
# Cleanup
344344
Cleanup-ResourceGroup $resourceGroupName
345345
}
346-
}
346+
}
347+
348+
function Test-AzureVMEnhancedPolicyAsDefault
349+
{
350+
try
351+
{
352+
$resourceGroupName = "sgholapCZRTesting"
353+
$vaultName = "sgholapZRSTestingVault"
354+
$owner = "sgholap"
355+
$AzureVMPolicyName = "AzureVMPolicy"
356+
$AzureFilesPolicyName = "AzureFilesPolicy"
357+
# Subscription used for this test is sriramsa-IaaSVmBackup Canary Subscription(f2edfd5d-5496-4683-b94f-b3588c579009)
358+
359+
$vault = Get-AzRecoveryServicesVault -ResourceGroupName $resourceGroupName -Name $vaultName
360+
361+
$azureVMSchedulePolicy = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType AzureVM -BackupManagementType AzureVM -ScheduleRunFrequency Weekly
362+
Assert-NotNull $azureVMSchedulePolicy
363+
364+
$azureVMRetentionPolicy = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType AzureVM -BackupManagementType AzureVM -ScheduleRunFrequency Weekly
365+
Assert-NotNull $azureVMRetentionPolicy
366+
367+
$azureVMPolicy = New-AzRecoveryServicesBackupProtectionPolicy -Name $AzureVMPolicyName -WorkloadType AzureVM -BackupManagementType AzureVM -RetentionPolicy $azureVMRetentionPolicy -SchedulePolicy $azureVMSchedulePolicy -VaultId $vault.ID
368+
369+
Assert-NotNull $azureVMPolicy
370+
Assert-AreEqual $azureVMPolicy.Name $AzureVMPolicyName
371+
# Default policy type for AzureVM should be Enhanced
372+
Assert-AreEqual $azureVMPolicy.PolicySubType "Enhanced"
373+
374+
$azureFilesSchedulePolicy = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType AzureFiles
375+
Assert-NotNull $azureVMSchedulePolicy
376+
377+
$azureFilesRetentionPolicy = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType AzureFiles
378+
Assert-NotNull $azureVMRetentionPolicy
379+
380+
$azureFilesPolicy = New-AzRecoveryServicesBackupProtectionPolicy -Name $AzureFilesPolicyName -WorkloadType AzureFiles -RetentionPolicy $azureFilesRetentionPolicy -SchedulePolicy $azureFilesSchedulePolicy -VaultId $vault.ID
381+
382+
Assert-NotNull $azureFilesPolicy
383+
Assert-AreEqual $azureFilesPolicy.Name $AzureFilesPolicyName
384+
# Default policy type for AzureFiles should be Standard
385+
Assert-AreNotEqual $azureFilesPolicy.PolicySubType "Enhanced"
386+
}
387+
finally
388+
{
389+
# Cleanup
390+
# Delete policy
391+
$policy = Get-AzRecoveryServicesBackupProtectionPolicy -VaultId $vault.ID -Name $AzureVMPolicyName
392+
Remove-AzRecoveryServicesBackupProtectionPolicy -VaultId $vault.ID -Policy $policy -Force
393+
394+
$policy = Get-AzRecoveryServicesBackupProtectionPolicy -VaultId $vault.ID -Name $AzureFilesPolicyName
395+
Remove-AzRecoveryServicesBackupProtectionPolicy -VaultId $vault.ID -Policy $policy -Force
396+
}
397+
}

0 commit comments

Comments
 (0)