Skip to content

Commit 901c513

Browse files
committed
Merge pull request #111 from hyonholee/vmss
Auto-generator for helper cmdlet
2 parents b3595e0 + 9131640 commit 901c513

29 files changed

+5468
-2141
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ namespace Microsoft.Azure.Commands.Compute.Test.ScenarioTests
1919
{
2020
public partial class VirtualMachineScaleSetTests
2121
{
22-
[Fact(Skip = "TODO: need to re-record")]
22+
[Fact]
2323
[Trait(Category.AcceptanceType, Category.CheckIn)]
2424
public void TestVirtualMachineScaleSet()
2525
{

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

Lines changed: 25 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -78,49 +78,31 @@ function Test-VirtualMachineScaleSet
7878
$stoaccount = Get-AzureRMStorageAccount -ResourceGroupName $rgname -Name $stoname;
7979

8080
# New VMSS Parameters
81-
$vmss = New-AzureComputeParameterObject -FullName Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSet;
82-
$vmss.Name = 'vmss' + $rgname;
83-
$vmss.Type = 'Microsoft.Compute/virtualMachineScaleSets';
84-
$vmss.Location = $loc;
85-
86-
$vmss.VirtualMachineProfile = New-AzureComputeParameterObject -FriendlyName VirtualMachineScaleSetVMProfile;
87-
$vmss.VirtualMachineProfile.ExtensionProfile = $null;
88-
$vmss.Sku = New-AzureComputeParameterObject -FriendlyName VirtualMachineScaleSetSku;
89-
$vmss.Sku.Capacity = 2;
90-
$vmss.Sku.Name = 'Standard_A0';
91-
$vmss.UpgradePolicy = New-AzureComputeParameterObject -FriendlyName VirtualMachineScaleSetUpgradePolicy;
92-
$vmss.UpgradePolicy.Mode = 'automatic';
93-
94-
$vmss.VirtualMachineProfile.NetworkProfile = New-AzureComputeParameterObject -FriendlyName VirtualMachineScaleSetNetworkProfile;
95-
$ipCfg = New-Object Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetIPConfiguration;
96-
$ipcfg.Name = 'test';
97-
$ipCfg.LoadBalancerBackendAddressPools = $null;
98-
$ipCfg.Subnet = New-Object Microsoft.Azure.Management.Compute.Models.ApiEntityReference;
99-
$ipCfg.Subnet.ReferenceUri = $subnetId;
100-
$netCfg = New-AzureComputeParameterObject -FriendlyName VirtualMachineScaleSetNetworkConfiguration;
101-
$netCfg.Name = 'test';
102-
$netCfg.Primary = $true;
103-
$netCfg.IPConfigurations.Add($ipCfg);
104-
$vmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations.Add($netCfg);
105-
106-
$vmss.VirtualMachineProfile.OSProfile = New-AzureComputeParameterObject -FriendlyName VirtualMachineScaleSetOSProfile;
107-
$vmss.VirtualMachineProfile.OSProfile.ComputerNamePrefix = 'test';
108-
$vmss.VirtualMachineProfile.OSProfile.AdminUsername = 'Foo12';
109-
$vmss.VirtualMachineProfile.OSProfile.AdminPassword = "BaR@123" + $rgname;
110-
111-
$vmss.VirtualMachineProfile.StorageProfile = New-AzureComputeParameterObject -FriendlyName VirtualMachineScaleSetStorageProfile;
81+
$vmssName = 'vmss' + $rgname;
82+
$vmssType = 'Microsoft.Compute/virtualMachineScaleSets';
83+
84+
$adminUsername = 'Foo12';
85+
$adminPassword = "BaR@123" + $rgname;
86+
11287
$imgRef = Get-DefaultCRPImage -loc $loc;
113-
$vmss.VirtualMachineProfile.StorageProfile.ImageReference = New-AzureComputeParameterObject -FriendlyName VirtualMachineScaleSetImageReference;
114-
$vmss.VirtualMachineProfile.StorageProfile.ImageReference.Publisher = $imgRef.PublisherName;
115-
$vmss.VirtualMachineProfile.StorageProfile.ImageReference.Offer = $imgRef.Offer;
116-
$vmss.VirtualMachineProfile.StorageProfile.ImageReference.Sku = $imgRef.Skus;
117-
$vmss.VirtualMachineProfile.StorageProfile.ImageReference.Version = $imgRef.Version;
118-
$vmss.VirtualMachineProfile.StorageProfile.OSDisk = New-AzureComputeParameterObject -FriendlyName VirtualMachineScaleSetOSDisk;
119-
$vmss.VirtualMachineProfile.StorageProfile.OSDisk.Caching = 'None';
120-
$vmss.VirtualMachineProfile.StorageProfile.OSDisk.CreateOption = 'FromImage';
121-
$vmss.VirtualMachineProfile.StorageProfile.OSDisk.Name = 'test';
122-
$vhdContainer = "https://" + $stoname + ".blob.core.windows.net/" + $vmss.Name;
123-
$vmss.VirtualMachineProfile.StorageProfile.OSDisk.VirtualHardDiskContainers.Add($vhdContainer);
88+
$vhdContainer = "https://" + $stoname + ".blob.core.windows.net/" + $vmssName;
89+
90+
$aucComponentName="Microsoft-Windows-Shell-Setup";
91+
$aucPassName ="oobeSystem";
92+
$aucSetting = "AutoLogon";
93+
$aucContent = "<UserAccounts><AdministratorPassword><Value>password</Value><PlainText>true</PlainText></AdministratorPassword></UserAccounts>";
94+
95+
$ipCfg = New-AzureVmssIPConfigurationsConfig -Name 'test' -LoadBalancerBackendAddressPoolsReferenceUri $null -SubnetReferenceUri $subnetId;
96+
97+
$vmss = New-AzureVmssConfig -Name $vmssName -Type $vmssType -Location $loc `
98+
-SkuCapacity 2 -SkuName 'Standard_A0' -UpgradePolicyMode 'automatic' -NetworkInterfaceConfigurations $netCfg `
99+
| Add-AzureVmssNetworkInterfaceConfiguration -Name 'test' -Primary $true -IPConfigurations $ipCfg `
100+
| Set-AzureVmssOSProfile -ComputerNamePrefix 'test' -AdminUsername $adminUsername -AdminPassword $adminPassword `
101+
| Set-AzureVmssStorageProfile -Name 'test' -CreateOption 'FromImage' -Caching 'None' `
102+
-ImageReferenceOffer $imgRef.Offer -ImageReferenceSku $imgRef.Skus -ImageReferenceVersion $imgRef.Version `
103+
-ImageReferencePublisher $imgRef.PublisherName -VirtualHardDiskContainers $vhdContainer `
104+
| Add-AzureVmssAdditionalUnattendContent -ComponentName $aucComponentName -Content $aucContent -PassName $aucPassName -SettingName $aucSetting `
105+
| Remove-AzureVmssAdditionalUnattendContent -ComponentName $aucComponentName;
124106

125107
$st = New-AzureRmVmss -ResourceGroupName $rgname -VirtualMachineScaleSetCreateOrUpdateParameters $vmss;
126108

@@ -136,7 +118,6 @@ function Test-VirtualMachineScaleSet
136118

137119
$argList = New-AzureComputeArgumentList -MethodName VirtualMachineScaleSetListAll;
138120
$args = ($argList | select -ExpandProperty Value);
139-
#$vmssList = Invoke-AzureComputeMethod -MethodName VirtualMachineScaleSetListAll -ArgumentList $args;
140121
$vmssList = Get-AzureRmVmssAllList;
141122
Assert-True { ($vmssList.VirtualMachineScaleSets | select -ExpandProperty Name) -contains $vmss.Name };
142123
$output = $vmssList | Out-String;
@@ -165,7 +146,6 @@ function Test-VirtualMachineScaleSet
165146
$argList[2].Value = $rgname;
166147
$argList[4].Value = $vmss.Name;
167148
$args = ($argList | select -ExpandProperty Value);
168-
#$vmListResult = Invoke-AzureComputeMethod -MethodName VirtualMachineScaleSetVMList -ArgumentList $args;
169149
$vmListResult = Get-AzureRmVmssVMList -ResourceGroupName $rgname -VirtualMachineScaleSetName $vmss.Name;
170150
$output = $vmListResult | Out-String;
171151
Write-Verbose ($output);
@@ -214,26 +194,13 @@ function Test-VirtualMachineScaleSet
214194
$instanceListParam += $i.ToString();
215195
}
216196

217-
$argList = New-AzureComputeArgumentList -MethodName VirtualMachineScaleSetPowerOffInstances;
218-
$argList[0].Value = $rgname;
219-
$argList[1].Value = $vmss.Name;
220-
$argList[2].Value = $instanceListParam;
221-
$args = @()
222-
for ($i = 0; $i -lt $argList.Length; $i++)
223-
{
224-
$args += , $argList[$i].Value;
225-
}
226-
227-
#$vmssResult = Invoke-AzureComputeMethod -MethodName VirtualMachineScaleSetPowerOffInstances -ArgumentList $args;
228197
$st = Stop-AzureRmVmssInstances -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs $instanceListParam;
229198
$st = Stop-AzureRmVmssInstancesWithDeallocation -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs $instanceListParam;
230199
$st = Start-AzureRmVmssInstances -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs $instanceListParam;
231200
$st = Restart-AzureRmVmssInstances -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs $instanceListParam;
232201

233202
# Remove
234-
$instanceListParam = New-AzureComputeParameterObject -FriendlyName VirtualMachineScaleSetVMInstanceIDs;
235-
$instanceListParam.InstanceIDs.Add(1);
236-
$st = Remove-AzureRmVmssInstances -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs $instanceListParam;
203+
$st = Remove-AzureRmVmssInstances -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs 1;
237204
Assert-ThrowsContains { $st = Remove-AzureRmVmssVM -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -InstanceId 0 } "cannot be deleted because it is the last remaining";
238205
$st = Remove-AzureRmVmss -ResourceGroupName $rgname -VMScaleSetName $vmss.Name;
239206
}

0 commit comments

Comments
 (0)