Skip to content

Commit 764645e

Browse files
committed
Merge remote-tracking branch 'upstream/dev' into dev
2 parents 0101c68 + f87828c commit 764645e

File tree

11 files changed

+4931
-465
lines changed

11 files changed

+4931
-465
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,9 @@
352352
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.VirtualMachineTests\TestVirtualMachineTags.json">
353353
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
354354
</None>
355+
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.VirtualMachineTests\TestVirtualMachineWithDifferentStorageResource.json">
356+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
357+
</None>
355358
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.VirtualMachineTests\TestVirtualMachineWithVMAgentAutoUpdate.json">
356359
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
357360
</None>

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

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -398,27 +398,28 @@ function Get-SasUri
398398
# Get a Location according to resource provider.
399399
function Get-ResourceProviderLocation
400400
{
401+
param ([string] $provider)
402+
401403
if ([Microsoft.Azure.Test.HttpRecorder.HttpMockServer]::Mode -ne [Microsoft.Azure.Test.HttpRecorder.HttpRecorderMode]::Playback)
402404
{
403-
$namespace = $provider.Split("/")[0]
404-
if($provider.Contains("/"))
405-
{
406-
$type = $provider.Substring($namespace.Length + 1)
407-
$location = Get-AzureRmResourceProvider -ProviderNamespace $namespace | where {$_.ResourceTypes[0].ResourceTypeName -eq $type}
405+
$namespace = $provider.Split("/")[0];
406+
if($provider.Contains("/"))
407+
{
408+
$type = $provider.Substring($namespace.Length + 1);
409+
$location = Get-AzureRmResourceProvider -ProviderNamespace $namespace | where {$_.ResourceTypes[0].ResourceTypeName -eq $type};
408410

409-
if ($location -eq $null)
410-
{
411-
return "West US"
412-
} else
413-
{
414-
return $location.Locations[0]
415-
}
416-
}
417-
418-
return "West US"
411+
if ($location -eq $null)
412+
{
413+
return "westus";
414+
}
415+
else
416+
{
417+
return $location.Locations[0];
418+
}
419+
}
420+
return "westus";
419421
}
420-
421-
return "WestUS"
422+
return "westus";
422423
}
423424

424425
function Get-ComputeVMLocation

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,5 +137,12 @@ public void TestVirtualMachineListWithPaging()
137137
{
138138
ComputeTestController.NewInstance.RunPsTest("Test-VirtualMachineListWithPaging");
139139
}
140+
141+
[Fact]
142+
[Trait(Category.AcceptanceType, Category.CheckIn)]
143+
public void TestVirtualMachineWithDifferentStorageResource()
144+
{
145+
ComputeTestController.NewInstance.RunPsTest("Test-VirtualMachineWithDifferentStorageResource");
146+
}
140147
}
141148
}

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

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1803,3 +1803,134 @@ function Test-VirtualMachineListWithPaging
18031803
}
18041804
}
18051805

1806+
1807+
<#
1808+
.SYNOPSIS
1809+
Test Virtual Machines
1810+
#>
1811+
function Test-VirtualMachineWithDifferentStorageResource
1812+
{
1813+
# Setup
1814+
$rgname = Get-ComputeTestResourceName
1815+
$rgname_storage = Get-ComputeTestResourceName
1816+
1817+
try
1818+
{
1819+
# Common
1820+
$loc = "eastus";
1821+
New-AzureRmResourceGroup -Name $rgname -Location $loc -Force;
1822+
New-AzureRmResourceGroup -Name $rgname_storage -Location $loc -Force;
1823+
1824+
# VM Profile & Hardware
1825+
$vmsize = 'Standard_A4';
1826+
$vmname = 'vm' + $rgname;
1827+
$p = New-AzureRmVMConfig -VMName $vmname -VMSize $vmsize;
1828+
Assert-AreEqual $p.HardwareProfile.VirtualMachineSize $vmsize;
1829+
1830+
# NRP
1831+
$subnet = New-AzureRmVirtualNetworkSubnetConfig -Name ('subnet' + $rgname) -AddressPrefix "10.0.0.0/24";
1832+
$vnet = New-AzureRmVirtualNetwork -Force -Name ('vnet' + $rgname) -ResourceGroupName $rgname -Location $loc -AddressPrefix "10.0.0.0/16" -DnsServer "10.1.1.1" -Subnet $subnet;
1833+
$vnet = Get-AzureRmVirtualNetwork -Name ('vnet' + $rgname) -ResourceGroupName $rgname;
1834+
$subnetId = $vnet.Subnets[0].Id;
1835+
$pubip = New-AzureRmPublicIpAddress -Force -Name ('pubip' + $rgname) -ResourceGroupName $rgname -Location $loc -AllocationMethod Dynamic -DomainNameLabel ('pubip' + $rgname);
1836+
$pubip = Get-AzureRmPublicIpAddress -Name ('pubip' + $rgname) -ResourceGroupName $rgname;
1837+
$pubipId = $pubip.Id;
1838+
$nic = New-AzureRmNetworkInterface -Force -Name ('nic' + $rgname) -ResourceGroupName $rgname -Location $loc -SubnetId $subnetId -PublicIpAddressId $pubip.Id;
1839+
$nic = Get-AzureRmNetworkInterface -Name ('nic' + $rgname) -ResourceGroupName $rgname;
1840+
$nicId = $nic.Id;
1841+
1842+
$p = Add-AzureRmVMNetworkInterface -VM $p -Id $nicId;
1843+
Assert-AreEqual $p.NetworkProfile.NetworkInterfaces.Count 1;
1844+
Assert-AreEqual $p.NetworkProfile.NetworkInterfaces[0].ReferenceUri $nicId;
1845+
1846+
# Adding the same Nic but not set it Primary
1847+
$p = Add-AzureRmVMNetworkInterface -VM $p -Id $nicId -Primary;
1848+
Assert-AreEqual $p.NetworkProfile.NetworkInterfaces.Count 1;
1849+
Assert-AreEqual $p.NetworkProfile.NetworkInterfaces[0].ReferenceUri $nicId;
1850+
Assert-AreEqual $p.NetworkProfile.NetworkInterfaces[0].Primary $true;
1851+
1852+
# Storage Account (SA)
1853+
$stoname = 'sto' + $rgname;
1854+
$stotype = 'Standard_GRS';
1855+
New-AzureRmStorageAccount -ResourceGroupName $rgname_storage -Name $stoname -Location $loc -Type $stotype;
1856+
$stoaccount = Get-AzureRmStorageAccount -ResourceGroupName $rgname_storage -Name $stoname;
1857+
1858+
$osDiskName = 'osDisk';
1859+
$osDiskCaching = 'ReadWrite';
1860+
$osDiskVhdUri = "https://$stoname.blob.core.windows.net/test/os.vhd";
1861+
$dataDiskVhdUri1 = "https://$stoname.blob.core.windows.net/test/data1.vhd";
1862+
$dataDiskVhdUri2 = "https://$stoname.blob.core.windows.net/test/data2.vhd";
1863+
$dataDiskVhdUri3 = "https://$stoname.blob.core.windows.net/test/data3.vhd";
1864+
1865+
$p = Set-AzureRmVMOSDisk -VM $p -Name $osDiskName -VhdUri $osDiskVhdUri -Caching $osDiskCaching -CreateOption FromImage;
1866+
1867+
$p = Add-AzureRmVMDataDisk -VM $p -Name 'testDataDisk1' -Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 1 -VhdUri $dataDiskVhdUri1 -CreateOption Empty;
1868+
$p = Add-AzureRmVMDataDisk -VM $p -Name 'testDataDisk2' -Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 2 -VhdUri $dataDiskVhdUri2 -CreateOption Empty;
1869+
$p = Add-AzureRmVMDataDisk -VM $p -Name 'testDataDisk3' -Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 3 -VhdUri $dataDiskVhdUri3 -CreateOption Empty;
1870+
$p = Remove-AzureRmVMDataDisk -VM $p -Name 'testDataDisk3';
1871+
1872+
Assert-AreEqual $p.StorageProfile.OSDisk.Caching $osDiskCaching;
1873+
Assert-AreEqual $p.StorageProfile.OSDisk.Name $osDiskName;
1874+
Assert-AreEqual $p.StorageProfile.OSDisk.VirtualHardDisk.Uri $osDiskVhdUri;
1875+
Assert-AreEqual $p.StorageProfile.DataDisks.Count 2;
1876+
Assert-AreEqual $p.StorageProfile.DataDisks[0].Caching 'ReadOnly';
1877+
Assert-AreEqual $p.StorageProfile.DataDisks[0].DiskSizeGB 10;
1878+
Assert-AreEqual $p.StorageProfile.DataDisks[0].Lun 1;
1879+
Assert-AreEqual $p.StorageProfile.DataDisks[0].VirtualHardDisk.Uri $dataDiskVhdUri1;
1880+
Assert-AreEqual $p.StorageProfile.DataDisks[1].Caching 'ReadOnly';
1881+
Assert-AreEqual $p.StorageProfile.DataDisks[1].DiskSizeGB 11;
1882+
Assert-AreEqual $p.StorageProfile.DataDisks[1].Lun 2;
1883+
Assert-AreEqual $p.StorageProfile.DataDisks[1].VirtualHardDisk.Uri $dataDiskVhdUri2;
1884+
1885+
# OS & Image
1886+
$user = "Foo12";
1887+
$password = 'BaR@123' + $rgname;
1888+
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force;
1889+
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
1890+
$computerName = 'test';
1891+
$vhdContainer = "https://$stoname.blob.core.windows.net/test";
1892+
1893+
# $p.StorageProfile.OSDisk = $null;
1894+
$p = Set-AzureRmVMOperatingSystem -VM $p -Windows -ComputerName $computerName -Credential $cred;
1895+
1896+
$imgRef = Get-DefaultCRPImage -loc $loc;
1897+
$p = ($imgRef | Set-AzureRmVMSourceImage -VM $p);
1898+
1899+
Assert-AreEqual $p.OSProfile.AdminUsername $user;
1900+
Assert-AreEqual $p.OSProfile.ComputerName $computerName;
1901+
Assert-AreEqual $p.OSProfile.AdminPassword $password;
1902+
1903+
Assert-AreEqual $p.StorageProfile.ImageReference.Offer $imgRef.Offer;
1904+
Assert-AreEqual $p.StorageProfile.ImageReference.Publisher $imgRef.PublisherName;
1905+
Assert-AreEqual $p.StorageProfile.ImageReference.Sku $imgRef.Skus;
1906+
Assert-AreEqual $p.StorageProfile.ImageReference.Version $imgRef.Version;
1907+
1908+
# Virtual Machine
1909+
New-AzureRmVM -ResourceGroupName $rgname -Location $loc -VM $p;
1910+
1911+
# Get VM
1912+
$vm1 = Get-AzureRmVM -Name $vmname -ResourceGroupName $rgname;
1913+
Assert-AreEqual $vm1.Name $vmname;
1914+
Assert-AreEqual $vm1.NetworkProfile.NetworkInterfaces.Count 1;
1915+
Assert-AreEqual $vm1.NetworkProfile.NetworkInterfaces[0].ReferenceUri $nicId;
1916+
1917+
Assert-AreEqual $vm1.StorageProfile.ImageReference.Offer $imgRef.Offer;
1918+
Assert-AreEqual $vm1.StorageProfile.ImageReference.Publisher $imgRef.PublisherName;
1919+
Assert-AreEqual $vm1.StorageProfile.ImageReference.Sku $imgRef.Skus;
1920+
Assert-AreEqual $vm1.StorageProfile.ImageReference.Version $imgRef.Version;
1921+
1922+
Assert-AreEqual $vm1.OSProfile.AdminUsername $user;
1923+
Assert-AreEqual $vm1.OSProfile.ComputerName $computerName;
1924+
Assert-AreEqual $vm1.HardwareProfile.VirtualMachineSize $vmsize;
1925+
1926+
Assert-AreEqual $true $vm1.DiagnosticsProfile.BootDiagnostics.Enabled;
1927+
Assert-AreNotEqual $stoaccount.PrimaryEndpoints.Blob $vm1.DiagnosticsProfile.BootDiagnostics.StorageUri;
1928+
}
1929+
finally
1930+
{
1931+
# Cleanup
1932+
Clean-ResourceGroup $rgname
1933+
Clean-ResourceGroup $rgname_storage
1934+
}
1935+
}
1936+

0 commit comments

Comments
 (0)