@@ -126,7 +126,31 @@ function Test-VirtualMachineScaleSet-Common($IsManaged)
126
126
{
127
127
$vmss = $vmss | Set-AzureRmVmssStorageProfile - OsDiskCreateOption ' FromImage' - OsDiskCaching ' None' `
128
128
- ImageReferenceOffer $imgRef.Offer - ImageReferenceSku $imgRef.Skus - ImageReferenceVersion $imgRef.Version `
129
- - ImageReferencePublisher $imgRef.PublisherName
129
+ - ImageReferencePublisher $imgRef.PublisherName - OsDiskWriteAccelerator `
130
+ | Add-AzureRmVmssDataDisk - Name ' testDataDisk1' - Caching ' ReadOnly' - DiskSizeGB 20 - Lun 1 - CreateOption Empty `
131
+ - StorageAccountType StandardLRS - WriteAccelerator;
132
+
133
+ Assert-AreEqual ' FromImage' $vmss.VirtualMachineProfile.StorageProfile.OsDisk.CreateOption ;
134
+ Assert-AreEqual ' None' $vmss.VirtualMachineProfile.StorageProfile.OsDisk.Caching ;
135
+ Assert-AreEqual $true $vmss.VirtualMachineProfile.StorageProfile.OsDisk.WriteAcceleratorEnabled ;
136
+ $vmss.VirtualMachineProfile.StorageProfile.OsDisk.WriteAcceleratorEnabled = $false ;
137
+
138
+ Assert-AreEqual $imgRef.PublisherName $vmss.VirtualMachineProfile.StorageProfile.ImageReference.Publisher ;
139
+ Assert-AreEqual $imgRef.Offer $vmss.VirtualMachineProfile.StorageProfile.ImageReference.Offer ;
140
+ Assert-AreEqual $imgRef.Skus $vmss.VirtualMachineProfile.StorageProfile.ImageReference.Sku ;
141
+ Assert-AreEqual $imgRef.Version $vmss.VirtualMachineProfile.StorageProfile.ImageReference.Version ;
142
+
143
+ Assert-AreEqual ' testDataDisk1' $vmss.VirtualMachineProfile.StorageProfile.DataDisks [0 ].Name;
144
+ Assert-AreEqual ' ReadOnly' $vmss.VirtualMachineProfile.StorageProfile.DataDisks [0 ].Caching;
145
+ Assert-AreEqual 20 $vmss.VirtualMachineProfile.StorageProfile.DataDisks [0 ].DiskSizeGB;
146
+ Assert-AreEqual 1 $vmss.VirtualMachineProfile.StorageProfile.DataDisks [0 ].Lun;
147
+ Assert-AreEqual ' Empty' $vmss.VirtualMachineProfile.StorageProfile.DataDisks [0 ].CreateOption;
148
+ Assert-AreEqual ' StandardLRS' $vmss.VirtualMachineProfile.StorageProfile.DataDisks [0 ].ManagedDisk.StorageAccountType;
149
+ Assert-AreEqual $true $vmss.VirtualMachineProfile.StorageProfile.DataDisks [0 ].WriteAcceleratorEnabled;
150
+ $vmss.VirtualMachineProfile.StorageProfile.DataDisks [0 ].WriteAcceleratorEnabled = $false ;
151
+
152
+ $vmss = $vmss | Remove-AzureRmVmssDataDisk - Lun 1 ;
153
+ Assert-AreEqual 0 $vmss.VirtualMachineProfile.StorageProfile.DataDisks.Count ;
130
154
}
131
155
else
132
156
{
@@ -1347,3 +1371,97 @@ function Test-VirtualMachineScaleSetPriority
1347
1371
Clean - ResourceGroup $rgname
1348
1372
}
1349
1373
}
1374
+
1375
+ <#
1376
+ . SYNOPSIS
1377
+ Test Virtual Machine Scale Set Write Accelerator Update
1378
+ #>
1379
+ function Test-VirtualMachineScaleSetWriteAcceleratorUpdate
1380
+ {
1381
+ # Setup
1382
+ $rgname = Get-ComputeTestResourceName
1383
+
1384
+ try
1385
+ {
1386
+ # Common
1387
+ $loc = ' WestEurope' ;
1388
+ New-AzureRMResourceGroup - Name $rgname - Location $loc - Force;
1389
+
1390
+ # NRP
1391
+ $subnet = New-AzureRMVirtualNetworkSubnetConfig - Name (' subnet' + $rgname ) - AddressPrefix " 10.0.0.0/24" ;
1392
+ $vnet = New-AzureRMVirtualNetwork - Force - Name (' vnet' + $rgname ) - ResourceGroupName $rgname - Location $loc - AddressPrefix " 10.0.0.0/16" - Subnet $subnet ;
1393
+ $vnet = Get-AzureRMVirtualNetwork - Name (' vnet' + $rgname ) - ResourceGroupName $rgname ;
1394
+ $subnetId = $vnet.Subnets [0 ].Id;
1395
+
1396
+ # New VMSS Parameters
1397
+ $vmssName = ' vmss' + $rgname ;
1398
+
1399
+ $adminUsername = ' Foo12' ;
1400
+ $adminPassword = $PLACEHOLDER ;
1401
+ $imgRef = Get-DefaultCRPImage - loc $loc ;
1402
+
1403
+ $extname = ' csetest' ;
1404
+ $publisher = ' Microsoft.Compute' ;
1405
+ $exttype = ' BGInfo' ;
1406
+ $extver = ' 2.1' ;
1407
+
1408
+ $ipCfg = New-AzureRmVmssIPConfig - Name ' test' - SubnetId $subnetId ;
1409
+ $vmss = New-AzureRmVmssConfig - Location $loc - SkuCapacity 2 - SkuName ' Standard_A0' - UpgradePolicyMode ' Manual' `
1410
+ | Add-AzureRmVmssNetworkInterfaceConfiguration - Name ' test' - Primary $true - IPConfiguration $ipCfg `
1411
+ | Set-AzureRmVmssOSProfile - ComputerNamePrefix ' test' - AdminUsername $adminUsername - AdminPassword $adminPassword `
1412
+ | Set-AzureRmVmssStorageProfile - OsDiskCreateOption ' FromImage' - OsDiskCaching ' None' `
1413
+ - ImageReferenceOffer $imgRef.Offer - ImageReferenceSku $imgRef.Skus - ImageReferenceVersion $imgRef.Version `
1414
+ - ImageReferencePublisher $imgRef.PublisherName `
1415
+ | Add-AzureRmVmssExtension - Name $extname - Publisher $publisher - Type $exttype - TypeHandlerVersion $extver - AutoUpgradeMinorVersion $true ;
1416
+
1417
+ $result = New-AzureRmVmss - ResourceGroupName $rgname - Name $vmssName - VirtualMachineScaleSet $vmss ;
1418
+
1419
+ Assert-AreEqual $loc $result.Location ;
1420
+ Assert-AreEqual 2 $result.Sku.Capacity ;
1421
+ Assert-AreEqual ' Standard_A0' $result.Sku.Name ;
1422
+ Assert-AreEqual ' Manual' $result.UpgradePolicy.Mode ;
1423
+
1424
+ # Validate Network Profile
1425
+ Assert-AreEqual ' test' $result.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations [0 ].Name;
1426
+ Assert-AreEqual $true $result.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations [0 ].Primary;
1427
+ Assert-AreEqual $subnetId `
1428
+ $result.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations [0 ].IpConfigurations[0 ].Subnet.Id;
1429
+
1430
+ # Validate OS Profile
1431
+ Assert-AreEqual ' test' $result.VirtualMachineProfile.OsProfile.ComputerNamePrefix ;
1432
+ Assert-AreEqual $adminUsername $result.VirtualMachineProfile.OsProfile.AdminUsername ;
1433
+ Assert-Null $result.VirtualMachineProfile.OsProfile.AdminPassword ;
1434
+
1435
+ # Validate Storage Profile
1436
+ Assert-AreEqual $imgRef.Offer $result.VirtualMachineProfile.StorageProfile.ImageReference.Offer ;
1437
+ Assert-AreEqual $imgRef.Skus $result.VirtualMachineProfile.StorageProfile.ImageReference.Sku ;
1438
+ Assert-AreEqual $imgRef.Version $result.VirtualMachineProfile.StorageProfile.ImageReference.Version ;
1439
+ Assert-AreEqual $imgRef.PublisherName $result.VirtualMachineProfile.StorageProfile.ImageReference.Publisher ;
1440
+
1441
+ # Validate Extension Profile
1442
+ Assert-AreEqual $extname $result.VirtualMachineProfile.ExtensionProfile.Extensions [0 ].Name;
1443
+ Assert-AreEqual $publisher $result.VirtualMachineProfile.ExtensionProfile.Extensions [0 ].Publisher;
1444
+ Assert-AreEqual $exttype $result.VirtualMachineProfile.ExtensionProfile.Extensions [0 ].Type;
1445
+ Assert-AreEqual $extver $result.VirtualMachineProfile.ExtensionProfile.Extensions [0 ].TypeHandlerVersion;
1446
+ Assert-AreEqual $true $result.VirtualMachineProfile.ExtensionProfile.Extensions [0 ].AutoUpgradeMinorVersion;
1447
+
1448
+ # Verify the result of VMSS
1449
+ $vmss = Get-AzureRmVmss - ResourceGroupName $rgname - VMScaleSetName $vmssName ;
1450
+ Assert-AreEqual $null $vmss.Zones ;
1451
+ Assert-AreEqual 0 $vmss.Tags.Count ;
1452
+ Assert-AreEqual 2 $vmss.Sku.Capacity ;
1453
+ Assert-AreEqual $false $vmss.VirtualMachineProfile.StorageProfile.OsDisk.WriteAcceleratorEnabled ;
1454
+
1455
+ Assert-ThrowsContains {
1456
+ $vmss | Update-AzureRmVmss - OsDiskWriteAccelerator $true ; } `
1457
+ " not supported on disks with Write Accelerator enabled" ;
1458
+
1459
+ $vmss2 = $vmss | Update-AzureRmVmss - OsDiskWriteAccelerator $false ;
1460
+ Assert-AreEqual $false $vmss2.VirtualMachineProfile.StorageProfile.OsDisk.WriteAcceleratorEnabled ;
1461
+ }
1462
+ finally
1463
+ {
1464
+ # Cleanup
1465
+ Clean - ResourceGroup $rgname
1466
+ }
1467
+ }
0 commit comments