16
16
# ######################### Site Recovery Tests #############################
17
17
18
18
# Inputs
19
- $vaultRg = " vmwaresrcrg "
20
- $vaultName = " v2aRcm-pwsh-test "
21
- $primaryFabricName = " v2aRcm-pwsh-testreplicationfabric "
22
- $primaryContainerName = " v2aRcm-pwsh-test0afareplicationcontainer "
19
+ $vaultRg = " V2A-ECY "
20
+ $vaultName = " Rcm-Vault-150 "
21
+ $primaryFabricName = " Rcm-Vault-150-vmwarefabric "
22
+ $primaryContainerName = " Rcm-Vault-4678replicationcontainer "
23
23
$policyName = " v2aRcm-pwsh-testpolicy"
24
24
$failbackPolicyName = " appconsistency-policy-failback"
25
25
$primaryContainerMappingName = " v2aRcm-pwsh-testmapping"
26
26
$recoveryContainerMappingName = " appconsistency-failback-containerpairing"
27
27
28
- $vmName = " V2ARCM-Pwsh-Vm"
29
- $recoveryVmName = " V2ARCM-Pwsh-Vm"
30
- $updateRecoveryVmName = " v2aRcm-ps-vm"
28
+ $vmName = " Rcm-W2K16-153"
29
+ $recoveryVmName = " Rcm-W2K16-153"
30
+ $updateRecoveryVmName = " Rcm-W2K16-1531"
31
+ $tfoVmName = " Rcm-W2K19-152"
32
+ $foVmName = $tfoVmName
33
+ $reprotectVmName = $foVmName
34
+ $failbackVmName = $reprotectVmName
35
+
36
+ $switchAppVmName = " Rcm-Ub18-154"
37
+ $TargetApplianceName = " Rcm-App-151"
38
+ $CredentialsToAccessVm = " LinCreds"
39
+
31
40
$recoveryPlanName = " v2arcm-pwsh-rp"
32
- $credentialsName = " windows-creds "
33
- $recoveryAzureNetworkId = " /subscriptions/7c943c1b-5122-4097-90c8-861411bdd574 /resourceGroups/vmwaretargetrg /providers/Microsoft.Network/virtualNetworks/v2arcm-vnet "
34
- $testNetworkId = " /subscriptions/7c943c1b-5122-4097-90c8-861411bdd574 /resourceGroups/vmwaretargetrg /providers/Microsoft.Network/virtualNetworks/v2arcm-vnet "
35
- $recoveryAzureSubnetName = " default "
36
- $testSubnetName = " default "
37
- $recoveryResourceGroupId = " /subscriptions/7c943c1b-5122-4097-90c8-861411bdd574 /resourceGroups/vmwaretargetrg "
38
- $logStorageAccountId = " /subscriptions/7c943c1b-5122-4097-90c8-861411bdd574 /resourceGroups/vmwaretargetrg /providers/Microsoft.Storage/storageAccounts/v2arcmpwshsa "
39
- $recoveryBootDiagnosticsStorageAccountId = " /subscriptions/7c943c1b-5122-4097-90c8-861411bdd574 /resourceGroups/vmwaretargetrg /providers/Microsoft.Storage/storageAccounts/v2arcmpwshsa "
40
- $dataStoreName = " datastore1 (1) "
41
+ $credentialsName = " WinCreds "
42
+ $recoveryAzureNetworkId = " /subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c /resourceGroups/V2A-ECY /providers/Microsoft.Network/virtualNetworks/v2aecynw "
43
+ $testNetworkId = " /subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c /resourceGroups/V2A-ECY /providers/Microsoft.Network/virtualNetworks/v2aecynw "
44
+ $recoveryAzureSubnetName = " Subnet1 "
45
+ $testSubnetName = " Subnet1 "
46
+ $recoveryResourceGroupId = " /subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c /resourceGroups/V2A-ECY "
47
+ $logStorageAccountId = " /subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c /resourceGroups/V2A-ECY /providers/Microsoft.Storage/storageAccounts/v2aecystor "
48
+ $recoveryBootDiagnosticsStorageAccountId = " /subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c /resourceGroups/V2A-ECY /providers/Microsoft.Storage/storageAccounts/v2aecystor "
49
+ $dataStoreName = " SharedDS-84-85 "
41
50
42
51
<#
43
52
. SYNOPSIS
@@ -255,7 +264,7 @@ function Test-V2ARCMUpdateProtection {
255
264
Assert-NotNull ($RPI.providerSpecificDetails )
256
265
257
266
# Update protected item .
258
- $job = Set-AzRecoveryServicesAsrReplicationProtectedItem - InputObject $RPI - Name $updateRecoveryVmName - Size Standard_D1
267
+ $job = Set-AzRecoveryServicesAsrReplicationProtectedItem - InputObject $RPI - Name $updateRecoveryVmName - Size Standard_B2s
259
268
WaitForJobCompletion - JobId $Job.Name
260
269
261
270
# Get protected item.
@@ -285,7 +294,7 @@ function Test-V2ARCMTestFailover {
285
294
Assert-true { $Container.name -eq $primaryContainerName }
286
295
287
296
# Get protected item.
288
- $RPI = Get-AzRecoveryServicesAsrReplicationProtectedItem - ProtectionContainer $Container - FriendlyName $vmName
297
+ $RPI = Get-AzRecoveryServicesAsrReplicationProtectedItem - ProtectionContainer $Container - FriendlyName $tfoVmName
289
298
Assert-NotNull ($RPI )
290
299
Assert-NotNull ($RPI.providerSpecificDetails )
291
300
@@ -319,7 +328,7 @@ function Test-V2ARCMFailover {
319
328
Assert-true { $Container.name -eq $primaryContainerName }
320
329
321
330
# Get protected item.
322
- $RPI = Get-AzRecoveryServicesAsrReplicationProtectedItem - ProtectionContainer $Container - FriendlyName $vmName
331
+ $RPI = Get-AzRecoveryServicesAsrReplicationProtectedItem - ProtectionContainer $Container - FriendlyName $foVmName
323
332
Assert-NotNull ($RPI )
324
333
Assert-NotNull ($RPI.providerSpecificDetails )
325
334
@@ -349,7 +358,7 @@ function Test-V2ARCMCommit {
349
358
Assert-true { $Container.name -eq $primaryContainerName }
350
359
351
360
# Get protected item.
352
- $RPI = Get-AzRecoveryServicesAsrReplicationProtectedItem - ProtectionContainer $Container - FriendlyName $vmName
361
+ $RPI = Get-AzRecoveryServicesAsrReplicationProtectedItem - ProtectionContainer $Container - FriendlyName $foVmName
353
362
Assert-NotNull ($RPI )
354
363
Assert-NotNull ($RPI.providerSpecificDetails )
355
364
@@ -383,19 +392,19 @@ function Test-V2ARCMReprotect {
383
392
384
393
# Get mapping.
385
394
$FailbackMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping - ProtectionContainer $Container `
386
- - Name $recoveryContainerMappingName
395
+ - Name $recoveryContainerMappingName
387
396
Assert-NotNull ($FailbackMapping )
388
397
389
398
# Get protected item.
390
- $RPI = Get-AzRecoveryServicesAsrReplicationProtectedItem - ProtectionContainer $Container - FriendlyName $vmName
399
+ $RPI = Get-AzRecoveryServicesAsrReplicationProtectedItem - ProtectionContainer $Container - FriendlyName $reprotectVmName
391
400
Assert-NotNull ($RPI )
392
401
Assert-NotNull ($RPI.providerSpecificDetails )
393
402
394
403
# Reprotect.
395
404
$Job = Update-AzRecoveryServicesAsrProtectionDirection - ReplicateAzureToVMware - ProtectionContainerMapping $FailbackMapping `
396
405
- ReplicationProtectedItem $RPI - Direction RecoveryToPrimary `
397
406
- ApplianceName $Fabric.FabricSpecificDetails.ProcessServers [0 ].Name - Fabric $Fabric `
398
- - LogStorageAccountId $logStorageAccountId - DatastoreName $dataStoreName
407
+ - LogStorageAccountId $logStorageAccountId - DatastoreName $dataStoreName
399
408
}
400
409
401
410
<#
@@ -419,14 +428,13 @@ function Test-V2ARCMFailback {
419
428
Assert-true { $Container.name -eq $primaryContainerName }
420
429
421
430
# Get protected item.
422
- $RPI = Get-AzRecoveryServicesAsrReplicationProtectedItem - ProtectionContainer $Container - FriendlyName $recoveryVmName
431
+ $RPI = Get-AzRecoveryServicesAsrReplicationProtectedItem - ProtectionContainer $Container - FriendlyName $failbackVmName
423
432
Assert-NotNull ($RPI )
424
433
Assert-NotNull ($RPI.providerSpecificDetails )
425
434
426
435
# Failback.
427
436
$Job = Start-AzRecoveryServicesAsrPlannedFailoverJob - ReplicationProtectedItem $RPI - Direction RecoveryToPrimary `
428
437
- RecoveryTag RecoveryTagApplicationConsistent
429
- WaitForJobCompletion - JobId $Job.Name
430
438
}
431
439
432
440
<#
@@ -450,13 +458,12 @@ function Test-V2ARCMCancelFailover {
450
458
Assert-true { $Container.name -eq $primaryContainerName }
451
459
452
460
# Get protected item.
453
- $RPI = Get-AzRecoveryServicesAsrReplicationProtectedItem - ProtectionContainer $Container - FriendlyName $recoveryVmName
461
+ $RPI = Get-AzRecoveryServicesAsrReplicationProtectedItem - ProtectionContainer $Container - FriendlyName $failbackVmName
454
462
Assert-NotNull ($RPI )
455
463
Assert-NotNull ($RPI.providerSpecificDetails )
456
464
457
465
# Cancel failover.
458
- $Job = Start-ASRCancelFailover - ReplicationProtectedItem $RPI
459
- WaitForJobCompletion - JobId $Job.Name
466
+ $Job = Start-ASRCancelFailover - ReplicationProtectedItem $RPI
460
467
}
461
468
462
469
<#
@@ -480,7 +487,7 @@ function Test-V2ARCMRecoveryPlan {
480
487
Assert-true { $Container.name -eq $primaryContainerName }
481
488
482
489
# Get protected item
483
- $RPI = Get-AzRecoveryServicesAsrReplicationProtectedItem - ProtectionContainer $Container - Name $vmName
490
+ $RPI = Get-AzRecoveryServicesAsrReplicationProtectedItem - ProtectionContainer $Container - FriendlyName $vmName
484
491
Assert-NotNull ($RPI )
485
492
Assert-NotNull ($RPI.providerSpecificDetails )
486
493
@@ -498,6 +505,42 @@ function Test-V2ARCMRecoveryPlan {
498
505
WaitForJobCompletion - JobId $Job.Name
499
506
}
500
507
508
+ <#
509
+ . SYNOPSIS
510
+ Site Recovery V2A RCM switch appliance Test.
511
+ #>
512
+ function Test-V2ARCMSwitchAppliance {
513
+
514
+ # Set vault context.
515
+ $Vault = Get-AzRecoveryServicesVault - ResourceGroupName $vaultRg - Name $vaultName
516
+ Set-ASRVaultContext - Vault $Vault
517
+
518
+ # Get fabric.
519
+ $Fabric = Get-AzRecoveryServicesAsrFabric - Name $primaryFabricName
520
+ Assert-NotNull ($Fabric )
521
+ Assert-true { $Fabric.name -eq $primaryFabricName }
522
+
523
+ # Get container.
524
+ $Container = Get-AzRecoveryServicesAsrProtectionContainer - Name $primaryContainerName - Fabric $Fabric
525
+ Assert-NotNull ($Container )
526
+ Assert-true { $Container.name -eq $primaryContainerName }
527
+
528
+ # Get protected item.
529
+ $RPI = Get-AzRecoveryServicesAsrReplicationProtectedItem - ProtectionContainer $Container - FriendlyName $switchAppVmName
530
+ Assert-NotNull ($RPI )
531
+ Assert-NotNull ($RPI.providerSpecificDetails )
532
+
533
+ # Cancel failover.
534
+ $Job = Start-ASRSwitchAppliance - Fabric $Fabric - ReplicationProtectedItem $RPI - TargetApplianceName $TargetApplianceName # -CredentialsToAccessVm $CredentialsToAccessVm
535
+ WaitForJobCompletion - JobId $Job.Name
536
+
537
+ # Get protected item.
538
+ $RPI = Get-AzRecoveryServicesAsrReplicationProtectedItem - ProtectionContainer $Container - FriendlyName $switchAppVmName
539
+ Assert-NotNull ($RPI )
540
+ Assert-NotNull ($RPI.providerSpecificDetails )
541
+ Assert-true { $RPI.providerSpecificDetails.ProcessServerName -eq $TargetApplianceName }
542
+ }
543
+
501
544
<#
502
545
. SYNOPSIS
503
546
Wait for job completion.
0 commit comments