Skip to content

Commit 352598d

Browse files
committed
Merge pull request Azure#224 from hyonholee/ignite2
Set null for AUC when WindowsConfiguration is initialized
2 parents fa877ea + d49212a commit 352598d

File tree

9 files changed

+7982
-1
lines changed

9 files changed

+7982
-1
lines changed

src/ResourceManager/Compute/Commands.Compute.Test/Commands.Compute.Test.csproj

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,12 @@
262262
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.VirtualMachineNetworkInterfaceTests\TestVirtualMachineSingleNetworkInterface.json">
263263
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
264264
</None>
265+
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.VirtualMachineProfileTests\TestVirtualMachineProfileWithoutAUC.json">
266+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
267+
</None>
268+
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.VirtualMachineTests\TestLinuxVirtualMachine.json">
269+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
270+
</None>
265271
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.VirtualMachineTests\TestVirtualMachine.json">
266272
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
267273
</None>
@@ -295,6 +301,9 @@
295301
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.VirtualMachineTests\TestVirtualMachineTags.json">
296302
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
297303
</None>
304+
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.VirtualMachineTests\TestVirtualMachineWithVMAgentAutoUpdate.json">
305+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
306+
</None>
298307
</ItemGroup>
299308
<ItemGroup>
300309
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />

src/ResourceManager/Compute/Commands.Compute.Test/ScenarioTests/VirtualMachineProfileTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,12 @@ public void TestVirtualMachineProfile()
2525
{
2626
ComputeTestController.NewInstance.RunPsTest("Test-VirtualMachineProfile");
2727
}
28+
29+
[Fact]
30+
[Trait(Category.AcceptanceType, Category.CheckIn)]
31+
public void TestVirtualMachineProfileWithoutAUC()
32+
{
33+
ComputeTestController.NewInstance.RunPsTest("Test-VirtualMachineProfileWithoutAUC");
34+
}
2835
}
2936
}

src/ResourceManager/Compute/Commands.Compute.Test/ScenarioTests/VirtualMachineProfileTests.ps1

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,3 +165,118 @@ function Test-VirtualMachineProfile
165165
Assert-AreEqual $sshPath $p.OSProfile.LinuxConfiguration.SshConfiguration.PublicKeys[1].Path;
166166
Assert-AreEqual $true $p.OSProfile.LinuxConfiguration.DisablePasswordAuthentication
167167
}
168+
169+
<#
170+
.SYNOPSIS
171+
Test Virtual Machine Profile without AdditionalUnattendContent
172+
#>
173+
function Test-VirtualMachineProfileWithoutAUC
174+
{
175+
# VM Profile & Hardware
176+
$vmsize = 'Standard_A2';
177+
$vmname = 'pstestvm' + ((Get-Random) % 10000);
178+
$p = New-AzureVMConfig -VMName $vmname -VMSize $vmsize;
179+
Assert-AreEqual $p.HardwareProfile.VirtualMachineSize $vmsize;
180+
181+
# Network
182+
$ipname = 'hpfip' + ((Get-Random) % 10000);
183+
$ipRefUri = "https://test.foo.bar/$ipname";
184+
$nicName = $ipname + 'nic1';
185+
$publicIPName = $ipname + 'name1';
186+
187+
$p = Add-AzureVMNetworkInterface -VM $p -Id $ipRefUri;
188+
189+
Assert-AreEqual $p.NetworkProfile.NetworkInterfaces.Count 1;
190+
Assert-AreEqual $p.NetworkProfile.NetworkInterfaces[0].ReferenceUri $ipRefUri;
191+
192+
# Storage
193+
$stoname = 'hpfteststo' + ((Get-Random) % 10000);
194+
$stotype = 'Standard_GRS';
195+
196+
$osDiskName = 'osDisk';
197+
$osDiskCaching = 'ReadWrite';
198+
$osDiskVhdUri = "https://$stoname.blob.core.windows.net/test/os.vhd";
199+
$dataDiskVhdUri1 = "https://$stoname.blob.core.windows.net/test/data1.vhd";
200+
$dataDiskVhdUri2 = "https://$stoname.blob.core.windows.net/test/data2.vhd";
201+
$dataDiskVhdUri3 = "https://$stoname.blob.core.windows.net/test/data3.vhd";
202+
203+
$p = Set-AzureVMOSDisk -VM $p -Name $osDiskName -VhdUri $osDiskVhdUri -Caching $osDiskCaching -CreateOption Empty;
204+
205+
$p = Add-AzureVMDataDisk -VM $p -Name 'testDataDisk1' -Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 0 -VhdUri $dataDiskVhdUri1 -CreateOption Empty;
206+
$p = Add-AzureVMDataDisk -VM $p -Name 'testDataDisk2' -Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 1 -VhdUri $dataDiskVhdUri2 -CreateOption Empty;
207+
$p = Add-AzureVMDataDisk -VM $p -Name 'testDataDisk3' -Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 2 -VhdUri $dataDiskVhdUri3 -CreateOption Empty;
208+
$p = Remove-AzureVMDataDisk -VM $p -Name 'testDataDisk3';
209+
210+
Assert-AreEqual $p.StorageProfile.OSDisk.Caching $osDiskCaching;
211+
Assert-AreEqual $p.StorageProfile.OSDisk.Name $osDiskName;
212+
Assert-AreEqual $p.StorageProfile.OSDisk.VirtualHardDisk.Uri $osDiskVhdUri;
213+
Assert-AreEqual $p.StorageProfile.DataDisks.Count 2;
214+
Assert-AreEqual $p.StorageProfile.DataDisks[0].Caching 'ReadOnly';
215+
Assert-AreEqual $p.StorageProfile.DataDisks[0].DiskSizeGB 10;
216+
Assert-AreEqual $p.StorageProfile.DataDisks[0].Lun 0;
217+
Assert-AreEqual $p.StorageProfile.DataDisks[0].VirtualHardDisk.Uri $dataDiskVhdUri1;
218+
Assert-AreEqual $p.StorageProfile.DataDisks[1].Caching 'ReadOnly';
219+
Assert-AreEqual $p.StorageProfile.DataDisks[1].DiskSizeGB 11;
220+
Assert-AreEqual $p.StorageProfile.DataDisks[1].Lun 1;
221+
Assert-AreEqual $p.StorageProfile.DataDisks[1].VirtualHardDisk.Uri $dataDiskVhdUri2;
222+
223+
# Windows OS
224+
$user = "Foo12";
225+
$password = 'BaR@000' + ((Get-Random) % 10000);
226+
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force;
227+
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
228+
$computerName = 'test';
229+
$vhdContainer = "https://$stoname.blob.core.windows.net/test";
230+
$img = 'a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-201503.01-en.us-127GB.vhd';
231+
232+
$winRMCertUrl = "http://keyVaultName.vault.azure.net/secrets/secretName/secretVersion";
233+
$timeZone = "Pacific Standard Time";
234+
$custom = "echo 'Hello World'";
235+
$encodedCustom = "ZWNobyAnSGVsbG8gV29ybGQn";
236+
237+
$p = Set-AzureVMOperatingSystem -VM $p -Windows -ComputerName $computerName -Credential $cred -CustomData $custom -WinRMHttp -WinRMHttps -WinRMCertificateUrl $winRMCertUrl -ProvisionVMAgent -EnableAutoUpdate -TimeZone $timeZone;
238+
$p = Set-AzureVMSourceImage -VM $p -Name $img;
239+
$subid = (Get-AzureSubscription -Current).SubscriptionId;
240+
241+
$referenceUri = "/subscriptions/" + $subid + "/resourceGroups/RgTest1/providers/Microsoft.KeyVault/vaults/TestVault123";
242+
$certStore = "My";
243+
$certUrl = "https://testvault123.vault.azure.net/secrets/Test1/514ceb769c984Assert-True379a7e0230bdd703272";
244+
$p = Add-AzureVMSecret -VM $p -SourceVaultId $referenceUri -CertificateStore $certStore -CertificateUrl $certUrl;
245+
246+
$referenceUri2 = "/subscriptions/" + $subid + "/resourceGroups/RgTest1/providers/Microsoft.KeyVault/vaults/TestVault456";
247+
$p = Add-AzureVMSecret -VM $p -SourceVaultId $referenceUri2 -CertificateStore $certStore -CertificateUrl $certUrl;
248+
249+
$certStore2 = "My2";
250+
$certUrl2 = "https://testvault123.vault.azure.net/secrets/Test1/514ceb769c984379a7e0230bddaaaaaa";
251+
$p = Add-AzureVMSecret -VM $p -SourceVaultId $referenceUri -CertificateStore $certStore2 -CertificateUrl $certUrl2;
252+
253+
Assert-AreEqual $p.OSProfile.AdminUsername $user;
254+
Assert-AreEqual $p.OSProfile.ComputerName $computerName;
255+
Assert-AreEqual $p.OSProfile.AdminPassword $password;
256+
Assert-AreEqual $p.StorageProfile.SourceImage.ReferenceUri ('/' + $subid + '/services/images/' + $img);
257+
Assert-AreEqual $p.OSProfile.Secrets[0].SourceVault.ReferenceUri $referenceUri;
258+
Assert-AreEqual $p.OSProfile.Secrets[0].VaultCertificates[0].CertificateStore $certStore;
259+
Assert-AreEqual $p.OSProfile.Secrets[0].VaultCertificates[0].CertificateUrl $certUrl;
260+
Assert-AreEqual $p.OSProfile.Secrets[0].SourceVault.ReferenceUri $referenceUri;
261+
Assert-AreEqual $p.OSProfile.Secrets[0].VaultCertificates[1].CertificateStore $certStore2;
262+
Assert-AreEqual $p.OSProfile.Secrets[0].VaultCertificates[1].CertificateUrl $certUrl2;
263+
Assert-AreEqual $p.OSProfile.Secrets[1].SourceVault.ReferenceUri $referenceUri2;
264+
Assert-AreEqual $p.OSProfile.Secrets[1].VaultCertificates[0].CertificateStore $certStore;
265+
Assert-AreEqual $p.OSProfile.Secrets[1].VaultCertificates[0].CertificateUrl $certUrl;
266+
Assert-AreEqual $encodedCustom $p.OSProfile.CustomData;
267+
268+
# Verify WinRM
269+
Assert-Null $p.OSProfile.WindowsConfiguration.WinRMConfiguration.Listeners[0].CertificateUrl;
270+
Assert-AreEqual "http" $p.OSProfile.WindowsConfiguration.WinRMConfiguration.Listeners[0].Protocol ;
271+
Assert-AreEqual $winRMCertUrl $p.OSProfile.WindowsConfiguration.WinRMConfiguration.Listeners[1].CertificateUrl ;
272+
Assert-AreEqual "https" $p.OSProfile.WindowsConfiguration.WinRMConfiguration.Listeners[1].Protocol ;
273+
274+
# Verify Windows Provisioning Setup
275+
Assert-AreEqual $true $p.OSProfile.WindowsConfiguration.ProvisionVMAgent;
276+
Assert-AreEqual $true $p.OSProfile.WindowsConfiguration.EnableAutomaticUpdates;
277+
Assert-AreEqual $timeZone $p.OSProfile.WindowsConfiguration.TimeZone;
278+
279+
# Verify Additional Unattend Content
280+
Assert-Null $p.OSProfile.WindowsConfiguration.AdditionalUnattendContents "NULL";
281+
Assert-False {$p.OSProfile.WindowsConfiguration.AdditionalUnattendContents.IsInitialized};
282+
}

src/ResourceManager/Compute/Commands.Compute.Test/ScenarioTests/VirtualMachineTests.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,20 @@ public void TestVirtualMachine()
2626
ComputeTestController.NewInstance.RunPsTest("Test-VirtualMachine");
2727
}
2828

29+
[Fact]
30+
[Trait(Category.AcceptanceType, Category.CheckIn)]
31+
public void TestLinuxVirtualMachine()
32+
{
33+
ComputeTestController.NewInstance.RunPsTest("Test-LinuxVirtualMachine");
34+
}
35+
36+
[Fact]
37+
[Trait(Category.AcceptanceType, Category.CheckIn)]
38+
public void TestVirtualMachineWithVMAgentAutoUpdate()
39+
{
40+
ComputeTestController.NewInstance.RunPsTest("Test-VirtualMachineWithVMAgentAutoUpdate");
41+
}
42+
2943
[Fact]
3044
[Trait(Category.AcceptanceType, Category.CheckIn)]
3145
public void TestVirtualMachineImageList()

src/ResourceManager/Compute/Commands.Compute.Test/ScenarioTests/VirtualMachineTests.ps1

Lines changed: 188 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1080,4 +1080,191 @@ function Test-VirtualMachineTags
10801080
# Cleanup
10811081
Clean-ResourceGroup $rgname
10821082
}
1083-
}
1083+
}
1084+
1085+
<#
1086+
.SYNOPSIS
1087+
Test Virtual Machines with VMAgent and AutoUpdate
1088+
#>
1089+
function Test-VirtualMachineWithVMAgentAutoUpdate
1090+
{
1091+
# Setup
1092+
$rgname = Get-ComputeTestResourceName
1093+
1094+
try
1095+
{
1096+
# Common
1097+
$loc = 'westus';
1098+
New-AzureResourceGroup -Name $rgname -Location $loc;
1099+
1100+
# VM Profile & Hardware
1101+
$vmsize = 'Standard_A4';
1102+
$vmname = 'vm' + $rgname;
1103+
$p = New-AzureVMConfig -VMName $vmname -VMSize $vmsize;
1104+
Assert-AreEqual $p.HardwareProfile.VirtualMachineSize $vmsize;
1105+
1106+
# NRP
1107+
$subnet = New-AzureVirtualNetworkSubnetConfig -Name ('subnet' + $rgname) -AddressPrefix "10.0.0.0/24";
1108+
$vnet = New-AzureVirtualNetwork -Force -Name ('vnet' + $rgname) -ResourceGroupName $rgname -Location $loc -AddressPrefix "10.0.0.0/16" -DnsServer "10.1.1.1" -Subnet $subnet;
1109+
$vnet = Get-AzureVirtualNetwork -Name ('vnet' + $rgname) -ResourceGroupName $rgname;
1110+
$subnetId = $vnet.Subnets[0].Id;
1111+
$pubip = New-AzurePublicIpAddress -Force -Name ('pubip' + $rgname) -ResourceGroupName $rgname -Location $loc -AllocationMethod Dynamic -DomainNameLabel ('pubip' + $rgname);
1112+
$pubip = Get-AzurePublicIpAddress -Name ('pubip' + $rgname) -ResourceGroupName $rgname;
1113+
$pubipId = $pubip.Id;
1114+
$nic = New-AzureNetworkInterface -Force -Name ('nic' + $rgname) -ResourceGroupName $rgname -Location $loc -SubnetId $subnetId -PublicIpAddressId $pubip.Id;
1115+
$nic = Get-AzureNetworkInterface -Name ('nic' + $rgname) -ResourceGroupName $rgname;
1116+
$nicId = $nic.Id;
1117+
1118+
$p = Add-AzureVMNetworkInterface -VM $p -Id $nicId;
1119+
Assert-AreEqual $p.NetworkProfile.NetworkInterfaces.Count 1;
1120+
Assert-AreEqual $p.NetworkProfile.NetworkInterfaces[0].ReferenceUri $nicId;
1121+
1122+
# Storage Account (SA)
1123+
$stoname = 'sto' + $rgname;
1124+
$stotype = 'Standard_GRS';
1125+
New-AzureStorageAccount -ResourceGroupName $rgname -Name $stoname -Location $loc -Type $stotype;
1126+
$stoaccount = Get-AzureStorageAccount -ResourceGroupName $rgname -Name $stoname;
1127+
1128+
$osDiskName = 'osDisk';
1129+
$osDiskCaching = 'ReadWrite';
1130+
$osDiskVhdUri = "https://$stoname.blob.core.windows.net/test/os.vhd";
1131+
$p = Set-AzureVMOSDisk -VM $p -Name $osDiskName -VhdUri $osDiskVhdUri -Caching $osDiskCaching -CreateOption FromImage;
1132+
1133+
Assert-AreEqual $p.StorageProfile.OSDisk.Caching $osDiskCaching;
1134+
Assert-AreEqual $p.StorageProfile.OSDisk.Name $osDiskName;
1135+
Assert-AreEqual $p.StorageProfile.OSDisk.VirtualHardDisk.Uri $osDiskVhdUri;
1136+
1137+
# OS & Image
1138+
$user = "Foo12";
1139+
$password = 'BaR@123' + $rgname;
1140+
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force;
1141+
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
1142+
$computerName = 'test';
1143+
$vhdContainer = "https://$stoname.blob.core.windows.net/test";
1144+
$img = 'a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-201503.01-en.us-127GB.vhd';
1145+
1146+
$p = Set-AzureVMOperatingSystem -VM $p -Windows -ComputerName $computerName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate;
1147+
$p = Set-AzureVMSourceImage -VM $p -Name $img;
1148+
1149+
Assert-AreEqual $p.OSProfile.AdminUsername $user;
1150+
Assert-AreEqual $p.OSProfile.ComputerName $computerName;
1151+
Assert-AreEqual $p.OSProfile.AdminPassword $password;
1152+
Assert-AreEqual $p.StorageProfile.SourceImage.ReferenceUri ('/' + (Get-AzureSubscription -Current).SubscriptionId + '/services/images/' + $img);
1153+
Assert-Null $p.OSProfile.WindowsConfiguration.AdditionalUnattendContents "NULL";
1154+
1155+
# Virtual Machine
1156+
# TODO: Still need to do retry for New-AzureVM for SA, even it's returned in Get-.
1157+
New-AzureVM -ResourceGroupName $rgname -Location $loc -Name $vmname -VM $p;
1158+
1159+
# Get VM
1160+
$vm1 = Get-AzureVM -Name $vmname -ResourceGroupName $rgname;
1161+
Assert-AreEqual $vm1.Name $vmname;
1162+
Assert-AreEqual $vm1.NetworkProfile.NetworkInterfaces.Count 1;
1163+
Assert-AreEqual $vm1.NetworkProfile.NetworkInterfaces[0].ReferenceUri $nicId;
1164+
Assert-AreEqual $vm1.StorageProfile.SourceImage.ReferenceUri ('/' + (Get-AzureSubscription -Current).SubscriptionId + '/services/images/' + $img);
1165+
Assert-AreEqual $vm1.OSProfile.AdminUsername $user;
1166+
Assert-AreEqual $vm1.OSProfile.ComputerName $computerName;
1167+
Assert-AreEqual $vm1.HardwareProfile.VirtualMachineSize $vmsize;
1168+
1169+
# Remove
1170+
Remove-AzureVM -Name $vmname -ResourceGroupName $rgname -Force;
1171+
}
1172+
finally
1173+
{
1174+
# Cleanup
1175+
Clean-ResourceGroup $rgname
1176+
}
1177+
}
1178+
1179+
<#
1180+
.SYNOPSIS
1181+
Test Virtual Machines with VMAgent and AutoUpdate
1182+
#>
1183+
function Test-LinuxVirtualMachine
1184+
{
1185+
# Setup
1186+
$rgname = Get-ComputeTestResourceName
1187+
1188+
try
1189+
{
1190+
# Common
1191+
$loc = 'westus';
1192+
New-AzureResourceGroup -Name $rgname -Location $loc;
1193+
1194+
# VM Profile & Hardware
1195+
$vmsize = 'Standard_A4';
1196+
$vmname = 'vm' + $rgname;
1197+
$p = New-AzureVMConfig -VMName $vmname -VMSize $vmsize;
1198+
Assert-AreEqual $p.HardwareProfile.VirtualMachineSize $vmsize;
1199+
1200+
# NRP
1201+
$subnet = New-AzureVirtualNetworkSubnetConfig -Name ('subnet' + $rgname) -AddressPrefix "10.0.0.0/24";
1202+
$vnet = New-AzureVirtualNetwork -Force -Name ('vnet' + $rgname) -ResourceGroupName $rgname -Location $loc -AddressPrefix "10.0.0.0/16" -DnsServer "10.1.1.1" -Subnet $subnet;
1203+
$vnet = Get-AzureVirtualNetwork -Name ('vnet' + $rgname) -ResourceGroupName $rgname;
1204+
$subnetId = $vnet.Subnets[0].Id;
1205+
$pubip = New-AzurePublicIpAddress -Force -Name ('pubip' + $rgname) -ResourceGroupName $rgname -Location $loc -AllocationMethod Dynamic -DomainNameLabel ('pubip' + $rgname);
1206+
$pubip = Get-AzurePublicIpAddress -Name ('pubip' + $rgname) -ResourceGroupName $rgname;
1207+
$pubipId = $pubip.Id;
1208+
$nic = New-AzureNetworkInterface -Force -Name ('nic' + $rgname) -ResourceGroupName $rgname -Location $loc -SubnetId $subnetId -PublicIpAddressId $pubip.Id;
1209+
$nic = Get-AzureNetworkInterface -Name ('nic' + $rgname) -ResourceGroupName $rgname;
1210+
$nicId = $nic.Id;
1211+
1212+
$p = Add-AzureVMNetworkInterface -VM $p -Id $nicId;
1213+
Assert-AreEqual $p.NetworkProfile.NetworkInterfaces.Count 1;
1214+
Assert-AreEqual $p.NetworkProfile.NetworkInterfaces[0].ReferenceUri $nicId;
1215+
1216+
# Storage Account (SA)
1217+
$stoname = 'sto' + $rgname;
1218+
$stotype = 'Standard_GRS';
1219+
New-AzureStorageAccount -ResourceGroupName $rgname -Name $stoname -Location $loc -Type $stotype;
1220+
$stoaccount = Get-AzureStorageAccount -ResourceGroupName $rgname -Name $stoname;
1221+
1222+
$osDiskName = 'osDisk';
1223+
$osDiskCaching = 'ReadWrite';
1224+
$osDiskVhdUri = "https://$stoname.blob.core.windows.net/test/os.vhd";
1225+
$p = Set-AzureVMOSDisk -VM $p -Name $osDiskName -VhdUri $osDiskVhdUri -Caching $osDiskCaching -CreateOption FromImage;
1226+
1227+
Assert-AreEqual $p.StorageProfile.OSDisk.Caching $osDiskCaching;
1228+
Assert-AreEqual $p.StorageProfile.OSDisk.Name $osDiskName;
1229+
Assert-AreEqual $p.StorageProfile.OSDisk.VirtualHardDisk.Uri $osDiskVhdUri;
1230+
1231+
# OS & Image
1232+
$user = "Foo12";
1233+
$password = 'BaR@123' + $rgname;
1234+
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force;
1235+
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
1236+
$computerName = 'test';
1237+
$vhdContainer = "https://$stoname.blob.core.windows.net/test";
1238+
$img = 'b4590d9e3ed742e4a1d46e5424aa335e__SUSE-Linux-Enterprise-Server-11-SP3-v206';
1239+
1240+
$p = Set-AzureVMOperatingSystem -VM $p -Linux -ComputerName $computerName -Credential $cred
1241+
$p = Set-AzureVMSourceImage -VM $p -Name $img;
1242+
1243+
Assert-AreEqual $p.OSProfile.AdminUsername $user;
1244+
Assert-AreEqual $p.OSProfile.ComputerName $computerName;
1245+
Assert-AreEqual $p.OSProfile.AdminPassword $password;
1246+
Assert-AreEqual $p.StorageProfile.SourceImage.ReferenceUri ('/' + (Get-AzureSubscription -Current).SubscriptionId + '/services/images/' + $img);
1247+
1248+
# Virtual Machine
1249+
# TODO: Still need to do retry for New-AzureVM for SA, even it's returned in Get-.
1250+
New-AzureVM -ResourceGroupName $rgname -Location $loc -Name $vmname -VM $p;
1251+
1252+
# Get VM
1253+
$vm1 = Get-AzureVM -Name $vmname -ResourceGroupName $rgname;
1254+
Assert-AreEqual $vm1.Name $vmname;
1255+
Assert-AreEqual $vm1.NetworkProfile.NetworkInterfaces.Count 1;
1256+
Assert-AreEqual $vm1.NetworkProfile.NetworkInterfaces[0].ReferenceUri $nicId;
1257+
Assert-AreEqual $vm1.StorageProfile.SourceImage.ReferenceUri ('/' + (Get-AzureSubscription -Current).SubscriptionId + '/services/images/' + $img);
1258+
Assert-AreEqual $vm1.OSProfile.AdminUsername $user;
1259+
Assert-AreEqual $vm1.OSProfile.ComputerName $computerName;
1260+
Assert-AreEqual $vm1.HardwareProfile.VirtualMachineSize $vmsize;
1261+
1262+
# Remove
1263+
Remove-AzureVM -Name $vmname -ResourceGroupName $rgname -Force;
1264+
}
1265+
finally
1266+
{
1267+
# Cleanup
1268+
Clean-ResourceGroup $rgname
1269+
}
1270+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"Entries": [],
3+
"Names": {
4+
"Test-VirtualMachineProfile": [
5+
"onesdk1234"
6+
]
7+
},
8+
"Variables": {
9+
"SubscriptionId": "2c224e7e-3ef5-431d-a57b-e71f4662e3a6",
10+
"UserId": "[email protected]",
11+
"TenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
12+
}
13+
}

0 commit comments

Comments
 (0)