Skip to content

Commit acaeea5

Browse files
committed
Merge pull request Azure#213 from huangpf/ignite
Add Tags Support for VM
2 parents 9d00d0c + 2d8f322 commit acaeea5

File tree

7 files changed

+4445
-30
lines changed

7 files changed

+4445
-30
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
@@ -292,6 +292,9 @@
292292
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.VirtualMachineTests\TestVirtualMachineSizeAndUsage.json">
293293
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
294294
</None>
295+
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.VirtualMachineTests\TestVirtualMachineTags.json">
296+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
297+
</None>
295298
</ItemGroup>
296299
<ItemGroup>
297300
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,5 +81,12 @@ public void TestVirtualMachinePlan2()
8181
{
8282
ComputeTestController.NewInstance.RunPsTest("Test-VirtualMachinePlan2");
8383
}
84+
85+
[Fact]
86+
[Trait(Category.AcceptanceType, Category.CheckIn)]
87+
public void TestVirtualMachineTags()
88+
{
89+
ComputeTestController.NewInstance.RunPsTest("Test-VirtualMachineTags");
90+
}
8491
}
8592
}

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

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1004,4 +1004,80 @@ function Test-VirtualMachinePlan2
10041004
# Cleanup
10051005
Clean-ResourceGroup $rgname
10061006
}
1007+
}
1008+
1009+
1010+
<#
1011+
.SYNOPSIS
1012+
Test Virtual Machines Tags
1013+
#>
1014+
function Test-VirtualMachineTags
1015+
{
1016+
# Setup
1017+
$rgname = Get-ComputeTestResourceName
1018+
1019+
try
1020+
{
1021+
# Common
1022+
$loc = 'westus';
1023+
New-AzureResourceGroup -Name $rgname -Location $loc;
1024+
1025+
# VM Profile & Hardware
1026+
$vmsize = 'Standard_A0';
1027+
$vmname = 'vm' + $rgname;
1028+
$p = New-AzureVMConfig -VMName $vmname -VMSize $vmsize;
1029+
# NRP
1030+
$subnet = New-AzureVirtualNetworkSubnetConfig -Name ('subnet' + $rgname) -AddressPrefix "10.0.0.0/24";
1031+
$vnet = New-AzureVirtualNetwork -Force -Name ('vnet' + $rgname) -ResourceGroupName $rgname -Location $loc -AddressPrefix "10.0.0.0/16" -DnsServer "10.1.1.1" -Subnet $subnet;
1032+
$vnet = Get-AzureVirtualNetwork -Name ('vnet' + $rgname) -ResourceGroupName $rgname;
1033+
$subnetId = $vnet.Subnets[0].Id;
1034+
$pubip = New-AzurePublicIpAddress -Force -Name ('pubip' + $rgname) -ResourceGroupName $rgname -Location $loc -AllocationMethod Dynamic -DomainNameLabel ('pubip' + $rgname);
1035+
$pubip = Get-AzurePublicIpAddress -Name ('pubip' + $rgname) -ResourceGroupName $rgname;
1036+
$pubipId = $pubip.Id;
1037+
$nic = New-AzureNetworkInterface -Force -Name ('nic' + $rgname) -ResourceGroupName $rgname -Location $loc -SubnetId $subnetId -PublicIpAddressId $pubip.Id;
1038+
$nic = Get-AzureNetworkInterface -Name ('nic' + $rgname) -ResourceGroupName $rgname;
1039+
$nicId = $nic.Id;
1040+
1041+
$p = Add-AzureVMNetworkInterface -VM $p -Id $nicId;
1042+
1043+
# Storage Account (SA)
1044+
$stoname = 'sto' + $rgname;
1045+
$stotype = 'Standard_GRS';
1046+
New-AzureStorageAccount -ResourceGroupName $rgname -Name $stoname -Location $loc -Type $stotype;
1047+
$stoaccount = Get-AzureStorageAccount -ResourceGroupName $rgname -Name $stoname;
1048+
1049+
$osDiskName = 'osDisk';
1050+
$osDiskCaching = 'ReadWrite';
1051+
$osDiskVhdUri = "https://$stoname.blob.core.windows.net/test/os.vhd";
1052+
1053+
$p = Set-AzureVMOSDisk -VM $p -Name $osDiskName -VhdUri $osDiskVhdUri -Caching $osDiskCaching -CreateOption FromImage;
1054+
1055+
# OS & Image
1056+
$user = "Foo12";
1057+
$password = 'BaR@123' + $rgname;
1058+
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force;
1059+
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
1060+
$computerName = 'test';
1061+
1062+
$p = Set-AzureVMOperatingSystem -VM $p -Windows -ComputerName $computerName -Credential $cred;
1063+
1064+
# Image Reference;
1065+
$p.StorageProfile.SourceImage = $null;
1066+
$imgRef = Get-DefaultCRPImage;
1067+
$p = ($imgRef | Set-AzureVMSourceImage -VM $p);
1068+
1069+
# Test Tags
1070+
$tags = @{Name = "test1"; Value = "testval1"}, @{ Name = "test2"; Value = "testval2" };
1071+
New-AzureVM -ResourceGroupName $rgname -Location $loc -Name $vmname -VM $p -Tags $tags;
1072+
$vm = Get-AzureVM -ResourceGroupName $rgname -Name $vmname;
1073+
1074+
# Assert
1075+
Assert-AreEqual $tags[0].Value $vm.Tags[$tags[0].Name];
1076+
Assert-AreEqual $tags[1].Value $vm.Tags[$tags[1].Name];
1077+
}
1078+
finally
1079+
{
1080+
# Cleanup
1081+
Clean-ResourceGroup $rgname
1082+
}
10071083
}

0 commit comments

Comments
 (0)