Skip to content

Commit 879da76

Browse files
audunnmsJinLei
andauthored
[NetAppFiles]Added Revert cmdlet, update to 2020-02-01 apiversion (#12891)
* Added Revert cmdlet, update to 2020-02-01 apiversion * Added new helpfile, updated test recordings * Added missing example * Added online version * Rename revert volume to restore volume * Resolve project conflict, remove emtpy line * Update NetAppFiles.Test.csproj Remove tab key Co-authored-by: Audunn Baldvinsson <[email protected]> Co-authored-by: Jin Lei <[email protected]>
1 parent 1b9a021 commit 879da76

File tree

31 files changed

+18142
-5592
lines changed

31 files changed

+18142
-5592
lines changed

src/NetAppFiles/NetAppFiles.Test/NetAppFiles.Test.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
</PropertyGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="Microsoft.Azure.Management.NetApp" Version="1.4.0" />
14+
<PackageReference Include="Microsoft.Azure.Management.NetApp" Version="1.6.0" />
1515
<PackageReference Include="Microsoft.Azure.Management.Network" Version="20.1.1" />
1616
</ItemGroup>
1717

src/NetAppFiles/NetAppFiles.Test/ScenarioTests/AccountTests.ps1

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@ function Test-AccountActiveDirectory
2929
<#[SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine", Justification="...")]#>
3030
Password = "sdkpass"
3131
Domain = "sdkdomain"
32-
Dns = "127.0.0.1"
32+
Dns = "192.0.2.2"
3333
SmbServerName = "PSSMBSName"
3434
}
3535
$activeDirectory2 = @{
3636
Username = "sdkuser1"
3737
<#[SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine", Justification="...")]#>
3838
Password = "sdkpass1"
3939
Domain = "sdkdomain"
40-
Dns = "127.0.0.1"
40+
Dns = "192.0.2.2"
4141
SmbServerName = "PSSMBSName"
4242
}
4343

@@ -55,13 +55,16 @@ function Test-AccountActiveDirectory
5555
# create and check account 1
5656
$newTagName = "tag1"
5757
$newTagValue = "tagValue1"
58-
$retrievedAcc = New-AzNetAppFilesAccount -ResourceGroupName $resourceGroup -Location $resourceLocation -Name $accName1 -Tag @{$newTagName = $newTagValue} -ActiveDirector $activeDirectories
59-
Assert-True { $false }
58+
#$retrievedAcc = New-AzNetAppFilesAccount -ResourceGroupName $resourceGroup -Location $resourceLocation -Name $accName1 -Tag @{$newTagName = $newTagValue} -ActiveDirector $activeDirectories
59+
60+
Assert-ThrowsContains{ New-AzNetAppFilesAccount -ResourceGroupName $resourceGroup -Location $resourceLocation -Name $accName1 -Tag @{$newTagName = $newTagValue} -ActiveDirector $activeDirectories} 'Only one active directory allowed';
61+
#Assert-True { $false }
6062
}
6163
catch
6264
{
6365
$ErrorMessage = $_.Exception.Message
64-
Assert-True { ($ErrorMessage -contains 'Only one active directory allowed') }
66+
#Assert-True { ($ErrorMessage -contains 'Only one active directory allowed') }
67+
Assert-True { ($ErrorMessage -contains 'Only one') }
6568
#Assert-AreEqual $accName1 $retrievedAcc.Name
6669
}
6770

src/NetAppFiles/NetAppFiles.Test/ScenarioTests/Common.ps1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,17 +46,17 @@ function Get-ProviderLocation($provider)
4646

4747
if ($location -eq $null)
4848
{
49-
return "westus2"
49+
return "westcentralus"
5050
} else
5151
{
5252
return $location.Locations[0]
5353
}
5454
}
5555

56-
return "westus2"
56+
return "westcentralus"
5757
}
5858

59-
return "westus2"
59+
return "westcentralus"
6060
}
6161

6262
<#

src/NetAppFiles/NetAppFiles.Test/ScenarioTests/SnapshotTests.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,5 +40,20 @@ public void TestSnapshotPipelines()
4040
{
4141
TestController.NewInstance.RunPowerShellTest(_logger, "Test-SnapshotPipelines");
4242
}
43+
44+
[Fact]
45+
[Trait(Category.AcceptanceType, Category.CheckIn)]
46+
public void TestCreateVolumeFromSnapshot()
47+
{
48+
TestController.NewInstance.RunPowerShellTest(_logger, "Test-CreateVolumeFromSnapshot");
49+
}
50+
51+
52+
[Fact]
53+
[Trait(Category.AcceptanceType, Category.CheckIn)]
54+
public void TestRestoreVolumeFromSnapshot()
55+
{
56+
TestController.NewInstance.RunPowerShellTest(_logger, "Test-RestoreVolumeFromSnapshot");
57+
}
4358
}
4459
}

src/NetAppFiles/NetAppFiles.Test/ScenarioTests/SnapshotTests.ps1

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,4 +158,150 @@ function Test-SnapshotPipelines
158158
# Cleanup
159159
Clean-ResourceGroup $resourceGroup
160160
}
161+
}
162+
163+
<#
164+
.SYNOPSIS
165+
Test Create new Volume from a Snapshot operation
166+
#>
167+
function Test-CreateVolumeFromSnapshot
168+
{
169+
$currentSub = (Get-AzureRmContext).Subscription
170+
$subsid = $currentSub.SubscriptionId
171+
172+
$resourceGroup = Get-ResourceGroupName
173+
$accName = Get-ResourceName
174+
$poolName = Get-ResourceName
175+
$volName = Get-ResourceName
176+
$snName1 = Get-ResourceName
177+
$snName2 = Get-ResourceName
178+
$gibibyte = 1024 * 1024 * 1024
179+
$usageThreshold = 100 * $gibibyte
180+
$doubleUsage = 2 * $usageThreshold
181+
$resourceLocation = Get-ProviderLocation "Microsoft.NetApp" "eastus" -UseCanonical
182+
$subnetName = "default"
183+
$standardPoolSize = 4398046511104
184+
$serviceLevel = "Premium"
185+
$vnetName = $resourceGroup + "-vnet"
186+
187+
$subnetId = "/subscriptions/$subsId/resourceGroups/$resourceGroup/providers/Microsoft.Network/virtualNetworks/$vnetName/subnets/$subnetName"
188+
189+
try
190+
{
191+
# create the resource group
192+
New-AzResourceGroup -Name $resourceGroup -Location $resourceLocation
193+
194+
# create virtual network
195+
$virtualNetwork = New-AzVirtualNetwork -ResourceGroupName $resourceGroup -Location $resourceLocation -Name $vnetName -AddressPrefix 10.0.0.0/16
196+
$delegation = New-AzDelegation -Name "netAppVolumes" -ServiceName "Microsoft.Netapp/volumes"
197+
Add-AzVirtualNetworkSubnetConfig -Name $subnetName -VirtualNetwork $virtualNetwork -AddressPrefix "10.0.1.0/24" -Delegation $delegation | Set-AzVirtualNetwork
198+
199+
# create the resource group
200+
New-AzResourceGroup -Name $resourceGroupName -Location $resourceLocation
201+
202+
# create account, pool and volume
203+
$retrievedAcc = New-AzNetAppFilesAccount -ResourceGroupName $resourceGroup -Location $resourceLocation -AccountName $accName
204+
205+
$retrievedPool = New-AzNetAppFilesPool -ResourceGroupName $resourceGroup -Location $resourceLocation -AccountName $accName -PoolName $poolName -PoolSize $standardPoolSize -ServiceLevel $serviceLevel
206+
207+
$retrievedVolume = New-AzNetAppFilesVolume -ResourceGroupName $resourceGroup -Location $resourceLocation -AccountName $accName -PoolName $poolName -VolumeName $volName -CreationToken $volName -UsageThreshold $usageThreshold -ServiceLevel $serviceLevel -SubnetId $subnetId
208+
Assert-AreEqual "$accName/$poolName/$volName" $retrievedVolume.Name
209+
Assert-AreEqual $serviceLevel $retrievedVolume.ServiceLevel
210+
211+
# create two snapshots and check
212+
$retrieveSn = New-AzNetAppFilesSnapshot -ResourceGroupName $resourceGroup -Location $resourceLocation -AccountName $accName -PoolName $poolName -VolumeName $volName -SnapshotName $snName1 -FileSystemId $retrievedVolume.FileSystemId
213+
Assert-AreEqual "$accName/$poolName/$volName/$snName1" $retrieveSn.Name
214+
# check created date has been populated
215+
Assert-NotNull $retrieveSn.Created
216+
217+
# get and check a snapshot by name
218+
$retrievedSnapshot = Get-AzNetAppFilesSnapshot -ResourceGroupName $resourceGroup -AccountName $accName -PoolName $poolName -VolumeName $volName -SnapshotName $snName1
219+
Assert-AreEqual "$accName/$poolName/$volName/$snName1" $retrievedSnapshot.Name
220+
221+
# get and check the snapshot again using the resource id just obtained
222+
$retrievedSnapshotById = Get-AzNetAppFilesSnapshot -ResourceId $retrievedSnapshot.Id
223+
Assert-AreEqual "$accName/$poolName/$volName/$snName1" $retrievedSnapshotById.Name
224+
225+
# Create volume from snapshot
226+
$restoredVolume = New-AzNetAppFilesVolume -ResourceGroupName $resourceGroup -Location $resourceLocation -AccountName $accName -PoolName $poolName -VolumeName $volName -CreationToken $volName -UsageThreshold $usageThreshold -ServiceLevel $serviceLevel -SubnetId $subnetId -SnapshotId $retrievedSnapshot.SnapshotId
227+
Assert-AreEqual $retrievedVolume.Name $restoredVolume.Name
228+
}
229+
finally
230+
{
231+
# Cleanup
232+
Clean-ResourceGroup $resourceGroup
233+
}
234+
}
235+
236+
<#
237+
.SYNOPSIS
238+
Test Restore/Revert Volume from one of its Snapshots
239+
#>
240+
function Test-RestoreVolumeFromSnapshot
241+
{
242+
$currentSub = (Get-AzureRmContext).Subscription
243+
$subsid = $currentSub.SubscriptionId
244+
245+
$resourceGroup = Get-ResourceGroupName
246+
$accName = Get-ResourceName
247+
$poolName = Get-ResourceName
248+
$volName = Get-ResourceName
249+
$snName1 = Get-ResourceName
250+
$snName2 = Get-ResourceName
251+
$gibibyte = 1024 * 1024 * 1024
252+
$usageThreshold = 100 * $gibibyte
253+
$doubleUsage = 2 * $usageThreshold
254+
$resourceLocation = Get-ProviderLocation "Microsoft.NetApp" "eastus" -UseCanonical
255+
$subnetName = "default"
256+
$standardPoolSize = 4398046511104
257+
$serviceLevel = "Premium"
258+
$vnetName = $resourceGroup + "-vnet"
259+
260+
$subnetId = "/subscriptions/$subsId/resourceGroups/$resourceGroup/providers/Microsoft.Network/virtualNetworks/$vnetName/subnets/$subnetName"
261+
262+
try
263+
{
264+
# create the resource group
265+
New-AzResourceGroup -Name $resourceGroup -Location $resourceLocation
266+
267+
# create virtual network
268+
$virtualNetwork = New-AzVirtualNetwork -ResourceGroupName $resourceGroup -Location $resourceLocation -Name $vnetName -AddressPrefix 10.0.0.0/16
269+
$delegation = New-AzDelegation -Name "netAppVolumes" -ServiceName "Microsoft.Netapp/volumes"
270+
Add-AzVirtualNetworkSubnetConfig -Name $subnetName -VirtualNetwork $virtualNetwork -AddressPrefix "10.0.1.0/24" -Delegation $delegation | Set-AzVirtualNetwork
271+
272+
# create the resource group
273+
New-AzResourceGroup -Name $resourceGroupName -Location $resourceLocation
274+
275+
# create account, pool and volume
276+
$retrievedAcc = New-AzNetAppFilesAccount -ResourceGroupName $resourceGroup -Location $resourceLocation -AccountName $accName
277+
278+
$retrievedPool = New-AzNetAppFilesPool -ResourceGroupName $resourceGroup -Location $resourceLocation -AccountName $accName -PoolName $poolName -PoolSize $standardPoolSize -ServiceLevel $serviceLevel
279+
280+
$retrievedVolume = New-AzNetAppFilesVolume -ResourceGroupName $resourceGroup -Location $resourceLocation -AccountName $accName -PoolName $poolName -VolumeName $volName -CreationToken $volName -UsageThreshold $usageThreshold -ServiceLevel $serviceLevel -SubnetId $subnetId
281+
Assert-AreEqual "$accName/$poolName/$volName" $retrievedVolume.Name
282+
Assert-AreEqual $serviceLevel $retrievedVolume.ServiceLevel
283+
284+
# create two snapshots and check
285+
$retrieveSn = New-AzNetAppFilesSnapshot -ResourceGroupName $resourceGroup -Location $resourceLocation -AccountName $accName -PoolName $poolName -VolumeName $volName -SnapshotName $snName1 -FileSystemId $retrievedVolume.FileSystemId
286+
Assert-AreEqual "$accName/$poolName/$volName/$snName1" $retrieveSn.Name
287+
# check created date has been populated
288+
Assert-NotNull $retrieveSn.Created
289+
290+
# get and check a snapshot by name
291+
$retrievedSnapshot = Get-AzNetAppFilesSnapshot -ResourceGroupName $resourceGroup -AccountName $accName -PoolName $poolName -VolumeName $volName -SnapshotName $snName1
292+
Assert-AreEqual "$accName/$poolName/$volName/$snName1" $retrievedSnapshot.Name
293+
294+
# get and check the snapshot again using the resource id just obtained
295+
$retrievedSnapshotById = Get-AzNetAppFilesSnapshot -ResourceId $retrievedSnapshot.Id
296+
Assert-AreEqual "$accName/$poolName/$volName/$snName1" $retrievedSnapshotById.Name
297+
298+
# revert the volume from snapshot
299+
Restore-AzNetAppFilesVolume -ResourceGroupName $resourceGroup -AccountName $accName -PoolName $poolName -VolumeName $volName -SnapshotId $retrievedSnapshot.SnapshotId
300+
301+
}
302+
finally
303+
{
304+
# Cleanup
305+
Clean-ResourceGroup $resourceGroup
306+
}
161307
}

0 commit comments

Comments
 (0)