|
16 | 16 | .SYNOPSIS
|
17 | 17 | Test Virtual Machine Scalet Set
|
18 | 18 |
|
19 |
| -PS C:\> Get-Command *VirtualMachineScaleSet* |
20 |
| -
|
21 |
| -CommandType Name ModuleName |
22 |
| ------------ ---- ---------- |
23 |
| -Cmdlet Get-AzureVirtualMachineScaleSet AzureResourceManager |
24 |
| -Cmdlet Get-AzureVirtualMachineScaleSetAllList AzureResourceManager |
25 |
| -Cmdlet Get-AzureVirtualMachineScaleSetList AzureResourceManager |
26 |
| -Cmdlet Get-AzureVirtualMachineScaleSetNextList AzureResourceManager |
27 |
| -Cmdlet Get-AzureVirtualMachineScaleSetSkusList AzureResourceManager |
28 |
| -Cmdlet Get-AzureVirtualMachineScaleSetVM AzureResourceManager |
29 |
| -Cmdlet Get-AzureVirtualMachineScaleSetVMInstanceView AzureResourceManager |
30 |
| -Cmdlet Get-AzureVirtualMachineScaleSetVMList AzureResourceManager |
31 |
| -Cmdlet New-AzureVirtualMachineScaleSet AzureResourceManager |
32 |
| -Cmdlet Remove-AzureVirtualMachineScaleSet AzureResourceManager |
33 |
| -Cmdlet Remove-AzureVirtualMachineScaleSetInstances AzureResourceManager |
34 |
| -Cmdlet Remove-AzureVirtualMachineScaleSetVM AzureResourceManager |
35 |
| -Cmdlet Restart-AzureVirtualMachineScaleSet AzureResourceManager |
36 |
| -Cmdlet Restart-AzureVirtualMachineScaleSetInstances AzureResourceManager |
37 |
| -Cmdlet Restart-AzureVirtualMachineScaleSetVM AzureResourceManager |
38 |
| -Cmdlet Start-AzureVirtualMachineScaleSet AzureResourceManager |
39 |
| -Cmdlet Start-AzureVirtualMachineScaleSetInstances AzureResourceManager |
40 |
| -Cmdlet Start-AzureVirtualMachineScaleSetVM AzureResourceManager |
41 |
| -Cmdlet Stop-AzureVirtualMachineScaleSet AzureResourceManager |
42 |
| -Cmdlet Stop-AzureVirtualMachineScaleSetInstances AzureResourceManager |
43 |
| -Cmdlet Stop-AzureVirtualMachineScaleSetInstancesWithDe... AzureResourceManager |
44 |
| -Cmdlet Stop-AzureVirtualMachineScaleSetVM AzureResourceManager |
45 |
| -Cmdlet Stop-AzureVirtualMachineScaleSetVMWithDeallocation AzureResourceManager |
46 |
| -Cmdlet Stop-AzureVirtualMachineScaleSetWithDeallocation AzureResourceManager |
| 19 | +PS C:\> Get-Command *VMSS* |
| 20 | +
|
| 21 | +CommandType Name Version Source |
| 22 | +----------- ---- ------- ------ |
| 23 | +Cmdlet Add-AzureRmVMSshPublicKey 0.9.9 AzureResourceManager |
| 24 | +Cmdlet Get-AzureVMSS 0.9.9 AzureResourceManager |
| 25 | +Cmdlet Get-AzureVMSSAllList 0.9.9 AzureResourceManager |
| 26 | +Cmdlet Get-AzureVMSSInstanceView 0.9.9 AzureResourceManager |
| 27 | +Cmdlet Get-AzureVMSSList 0.9.9 AzureResourceManager |
| 28 | +Cmdlet Get-AzureVMSSNextList 0.9.9 AzureResourceManager |
| 29 | +Cmdlet Get-AzureVMSSSkusList 0.9.9 AzureResourceManager |
| 30 | +Cmdlet Get-AzureVMSSVM 0.9.9 AzureResourceManager |
| 31 | +Cmdlet Get-AzureVMSSVMInstanceView 0.9.9 AzureResourceManager |
| 32 | +Cmdlet Get-AzureVMSSVMList 0.9.9 AzureResourceManager |
| 33 | +Cmdlet New-AzureVMSS 0.9.9 AzureResourceManager |
| 34 | +Cmdlet Remove-AzureVMSS 0.9.9 AzureResourceManager |
| 35 | +Cmdlet Remove-AzureVMSSInstances 0.9.9 AzureResourceManager |
| 36 | +Cmdlet Remove-AzureVMSSVM 0.9.9 AzureResourceManager |
| 37 | +Cmdlet Restart-AzureVMSS 0.9.9 AzureResourceManager |
| 38 | +Cmdlet Restart-AzureVMSSInstances 0.9.9 AzureResourceManager |
| 39 | +Cmdlet Restart-AzureVMSSVM 0.9.9 AzureResourceManager |
| 40 | +Cmdlet Start-AzureVMSS 0.9.9 AzureResourceManager |
| 41 | +Cmdlet Start-AzureVMSSInstances 0.9.9 AzureResourceManager |
| 42 | +Cmdlet Start-AzureVMSSVM 0.9.9 AzureResourceManager |
| 43 | +Cmdlet Stop-AzureVMSS 0.9.9 AzureResourceManager |
| 44 | +Cmdlet Stop-AzureVMSSInstances 0.9.9 AzureResourceManager |
| 45 | +Cmdlet Stop-AzureVMSSInstancesWithDeallocation 0.9.9 AzureResourceManager |
| 46 | +Cmdlet Stop-AzureVMSSVM 0.9.9 AzureResourceManager |
| 47 | +Cmdlet Stop-AzureVMSSVMWithDeallocation 0.9.9 AzureResourceManager |
| 48 | +Cmdlet Stop-AzureVMSSWithDeallocation 0.9.9 AzureResourceManager |
| 49 | +Cmdlet Update-AzureVMSSInstances 0.9.9 AzureResourceManager |
47 | 50 | #>
|
48 | 51 | function Test-VirtualMachineScaleSet
|
49 | 52 | {
|
@@ -81,7 +84,7 @@ function Test-VirtualMachineScaleSet
|
81 | 84 | $vmss.Location = $loc;
|
82 | 85 |
|
83 | 86 | $vmss.VirtualMachineProfile = New-AzureComputeParameterObject -FriendlyName VirtualMachineScaleSetVMProfile;
|
84 |
| - $vmss.VirtualMachineProfile.Extensions = $null; |
| 87 | + $vmss.VirtualMachineProfile.ExtensionProfile = $null; |
85 | 88 | $vmss.Sku = New-AzureComputeParameterObject -FriendlyName VirtualMachineScaleSetSku;
|
86 | 89 | $vmss.Sku.Capacity = 2;
|
87 | 90 | $vmss.Sku.Name = 'Standard_A0';
|
@@ -119,102 +122,102 @@ function Test-VirtualMachineScaleSet
|
119 | 122 | $vhdContainer = "https://" + $stoname + ".blob.core.windows.net/" + $vmss.Name;
|
120 | 123 | $vmss.VirtualMachineProfile.StorageProfile.OSDisk.VirtualHardDiskContainers.Add($vhdContainer);
|
121 | 124 |
|
122 |
| - $st = New-AzureVirtualMachineScaleSet -ResourceGroupName $rgname -VirtualMachineScaleSetCreateOrUpdateParameters $vmss; |
| 125 | + $st = New-AzureVMSS -ResourceGroupName $rgname -VirtualMachineScaleSetCreateOrUpdateParameters $vmss; |
123 | 126 |
|
124 |
| - Write-Verbose ('Running Command : ' + 'Get-AzureVirtualMachineScaleSet'); |
125 |
| - $vmssResult = Get-AzureVirtualMachineScaleSet -ResourceGroupName $rgname -VMScaleSetName $vmss.Name; |
| 127 | + Write-Verbose ('Running Command : ' + 'Get-AzureVMSS'); |
| 128 | + $vmssResult = Get-AzureVMSS -ResourceGroupName $rgname -VMScaleSetName $vmss.Name; |
126 | 129 | Assert-True { $vmss.Name -eq $vmssResult.VirtualMachineScaleSet.Name };
|
127 | 130 | $output = $vmssResult | Out-String;
|
128 |
| - Assert-True { $output.Contains("VirtualMachineScaleSet") }; |
129 | 131 | Write-Verbose ($output);
|
| 132 | + Assert-True { $output.Contains("VirtualMachineScaleSet") }; |
130 | 133 |
|
131 | 134 | # List All
|
132 |
| - Write-Verbose ('Running Command : ' + 'Get-AzureVirtualMachineScaleSetAllList'); |
133 |
| - $vmssList = Get-AzureVirtualMachineScaleSetAllList -VirtualMachineScaleSetListAllParameters $null; |
| 135 | + Write-Verbose ('Running Command : ' + 'Get-AzureVMSSAllList'); |
| 136 | + $vmssList = Get-AzureVMSSAllList -VirtualMachineScaleSetListAllParameters $null; |
134 | 137 | Assert-True { ($vmssList.VirtualMachineScaleSets | select -ExpandProperty Name) -contains $vmss.Name };
|
135 | 138 | $output = $vmssList | Out-String;
|
136 |
| - Assert-True { $output.Contains("VirtualMachineScaleSets") }; |
137 | 139 | Write-Verbose ($output);
|
| 140 | + Assert-True { $output.Contains("VirtualMachineScaleSets") }; |
138 | 141 |
|
139 | 142 | # List from RG
|
140 |
| - Write-Verbose ('Running Command : ' + 'Get-AzureVirtualMachineScaleSetList'); |
141 |
| - $vmssList = Get-AzureVirtualMachineScaleSetList -ResourceGroupName $rgname; |
| 143 | + Write-Verbose ('Running Command : ' + 'Get-AzureVMSSList'); |
| 144 | + $vmssList = Get-AzureVMSSList -ResourceGroupName $rgname; |
142 | 145 | Assert-True { ($vmssList.VirtualMachineScaleSets | select -ExpandProperty Name) -contains $vmss.Name };
|
143 | 146 | $output = $vmssList | Out-String;
|
144 |
| - Assert-True { $output.Contains("VirtualMachineScaleSets") }; |
145 | 147 | Write-Verbose ($output);
|
| 148 | + Assert-True { $output.Contains("VirtualMachineScaleSet") }; |
146 | 149 |
|
147 | 150 | # List Skus
|
148 |
| - Write-Verbose ('Running Command : ' + 'Get-AzureVirtualMachineScaleSetSkusList'); |
149 |
| - $skuList = Get-AzureVirtualMachineScaleSetSkusList -ResourceGroupName $rgname -VMScaleSetName $vmss.Name; |
| 151 | + Write-Verbose ('Running Command : ' + 'Get-AzureVMSSSkusList'); |
| 152 | + $skuList = Get-AzureVMSSSkusList -ResourceGroupName $rgname -VMScaleSetName $vmss.Name; |
150 | 153 | $output = $skuList | Out-String;
|
151 |
| - Assert-True { $output.Contains("VirtualMachineScaleSetSku") }; |
152 | 154 | Write-Verbose ($output);
|
| 155 | + Assert-True { $output.Contains("VirtualMachineScaleSetSku") }; |
153 | 156 |
|
154 | 157 | # List All VMs
|
155 | 158 | $vmListParams = New-AzureComputeParameterObject -FriendlyName VirtualMachineScaleSetVMListParameters;
|
156 | 159 | $vmListParams.ResourceGroupName = $rgname;
|
157 | 160 | $vmListParams.VirtualMachineScaleSetName = $vmss.Name;
|
158 | 161 |
|
159 |
| - Write-Verbose ('Running Command : ' + 'Get-AzureVirtualMachineScaleSetVMList'); |
160 |
| - $vmListResult = Get-AzureVirtualMachineScaleSetVMList -VirtualMachineScaleSetVMListParameters $vmListParams; |
| 162 | + Write-Verbose ('Running Command : ' + 'Get-AzureVMSSVMList'); |
| 163 | + $vmListResult = Get-AzureVMSSVMList -VirtualMachineScaleSetVMListParameters $vmListParams; |
161 | 164 | $output = $vmListResult | Out-String;
|
162 |
| - Assert-True { $output.Contains("VirtualMachineScaleSetVM") }; |
163 | 165 | Write-Verbose ($output);
|
| 166 | + Assert-True { $output.Contains("VirtualMachineScaleSetVM") }; |
164 | 167 |
|
165 | 168 | $vmList = $vmListResult.VirtualMachineScaleSetVMs;
|
166 | 169 |
|
167 | 170 | # List each VM
|
168 | 171 | for ($i = 0; $i -lt $vmList.Count; $i++)
|
169 | 172 | {
|
170 |
| - Write-Verbose ('Running Command : ' + 'Get-AzureVirtualMachineScaleSetVM'); |
171 |
| - $vm = Get-AzureVirtualMachineScaleSetVM -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -InstanceId $i; |
| 173 | + Write-Verbose ('Running Command : ' + 'Get-AzureVMSSVM'); |
| 174 | + $vm = Get-AzureVMSSVM -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -InstanceId $i; |
172 | 175 | Assert-NotNull $vm.VirtualMachineScaleSetVM;
|
173 | 176 | $output = $vm | Out-String;
|
174 |
| - Assert-True { $output.Contains("VirtualMachineScaleSetVM") }; |
175 | 177 | Write-Verbose ($output);
|
| 178 | + Assert-True { $output.Contains("VirtualMachineScaleSetVM") }; |
176 | 179 |
|
177 |
| - Write-Verbose ('Running Command : ' + 'Get-AzureVirtualMachineScaleSetVMInstanceView'); |
178 |
| - $vmInstance = Get-AzureVirtualMachineScaleSetVMInstanceView -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -InstanceId $i; |
| 180 | + Write-Verbose ('Running Command : ' + 'Get-AzureVMSSVMInstanceView'); |
| 181 | + $vmInstance = Get-AzureVMSSVMInstanceView -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -InstanceId $i; |
179 | 182 | Assert-NotNull $vmInstance.VirtualMachineScaleSetVMInstanceView;
|
180 | 183 | $output = $vmInstance | Out-String;
|
181 |
| - Assert-True { $output.Contains("VirtualMachineScaleSetVMInstanceView") }; |
182 | 184 | Write-Verbose($output);
|
| 185 | + Assert-True { $output.Contains("VirtualMachineScaleSetVMInstanceView") }; |
183 | 186 | }
|
184 | 187 |
|
185 | 188 | # List Next (negative test)
|
186 |
| - Assert-ThrowsContains { Get-AzureVirtualMachineScaleSetNextList -NextLink test.com } "Invalid URI: The format of the URI could not be determined."; |
| 189 | + Assert-ThrowsContains { Get-AzureVMSSNextList -NextLink test.com } "Invalid URI: The format of the URI could not be determined."; |
187 | 190 |
|
188 | 191 | # Stop/Start/Restart Operation
|
189 | 192 | for ($i = 0; $i -lt $vmList.Count; $i++)
|
190 | 193 | {
|
191 |
| - $st = Stop-AzureVirtualMachineScaleSetVM -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -InstanceId $i; |
192 |
| - $st = Stop-AzureVirtualMachineScaleSetVMWithDeallocation -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -InstanceId $i; |
193 |
| - $st = Start-AzureVirtualMachineScaleSetVM -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -InstanceId $i; |
194 |
| - $st = Restart-AzureVirtualMachineScaleSetVM -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -InstanceId $i; |
| 194 | + $st = Stop-AzureVMSSVM -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -InstanceId $i; |
| 195 | + $st = Stop-AzureVMSSVMWithDeallocation -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -InstanceId $i; |
| 196 | + $st = Start-AzureVMSSVM -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -InstanceId $i; |
| 197 | + $st = Restart-AzureVMSSVM -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -InstanceId $i; |
195 | 198 | }
|
196 | 199 |
|
197 |
| - $st = Stop-AzureVirtualMachineScaleSet -ResourceGroupName $rgname -VMScaleSetName $vmss.Name; |
198 |
| - $st = Stop-AzureVirtualMachineScaleSetWithDeallocation -ResourceGroupName $rgname -VMScaleSetName $vmss.Name; |
199 |
| - $st = Start-AzureVirtualMachineScaleSet -ResourceGroupName $rgname -VMScaleSetName $vmss.Name; |
200 |
| - $st = Restart-AzureVirtualMachineScaleSet -ResourceGroupName $rgname -VMScaleSetName $vmss.Name; |
| 200 | + $st = Stop-AzureVMSS -ResourceGroupName $rgname -VMScaleSetName $vmss.Name; |
| 201 | + $st = Stop-AzureVMSSWithDeallocation -ResourceGroupName $rgname -VMScaleSetName $vmss.Name; |
| 202 | + $st = Start-AzureVMSS -ResourceGroupName $rgname -VMScaleSetName $vmss.Name; |
| 203 | + $st = Restart-AzureVMSS -ResourceGroupName $rgname -VMScaleSetName $vmss.Name; |
201 | 204 |
|
202 | 205 | $instanceListParam = New-AzureComputeParameterObject -FriendlyName VirtualMachineScaleSetVMInstanceIDs;
|
203 | 206 | for ($i = 0; $i -lt $vmList.Count; $i++)
|
204 | 207 | {
|
205 | 208 | $instanceListParam.InstanceIDs.Add($i);
|
206 | 209 | }
|
207 |
| - $st = Stop-AzureVirtualMachineScaleSetInstances -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs $instanceListParam; |
208 |
| - $st = Stop-AzureVirtualMachineScaleSetInstancesWithDeallocation -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs $instanceListParam; |
209 |
| - $st = Start-AzureVirtualMachineScaleSetInstances -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs $instanceListParam; |
210 |
| - $st = Restart-AzureVirtualMachineScaleSetInstances -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs $instanceListParam; |
| 210 | + $st = Stop-AzureVMSSInstances -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs $instanceListParam; |
| 211 | + $st = Stop-AzureVMSSInstancesWithDeallocation -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs $instanceListParam; |
| 212 | + $st = Start-AzureVMSSInstances -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs $instanceListParam; |
| 213 | + $st = Restart-AzureVMSSInstances -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs $instanceListParam; |
211 | 214 |
|
212 | 215 | # Remove
|
213 | 216 | $instanceListParam = New-AzureComputeParameterObject -FriendlyName VirtualMachineScaleSetVMInstanceIDs;
|
214 | 217 | $instanceListParam.InstanceIDs.Add(1);
|
215 |
| - $st = Remove-AzureVirtualMachineScaleSetInstances -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs $instanceListParam; |
216 |
| - Assert-ThrowsContains { $st = Remove-AzureVirtualMachineScaleSetVM -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -InstanceId 0 } "cannot be deleted because it is the last remaining"; |
217 |
| - $st = Remove-AzureVirtualMachineScaleSet -ResourceGroupName $rgname -VMScaleSetName $vmss.Name; |
| 218 | + $st = Remove-AzureVMSSInstances -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs $instanceListParam; |
| 219 | + Assert-ThrowsContains { $st = Remove-AzureVMSSVM -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -InstanceId 0 } "cannot be deleted because it is the last remaining"; |
| 220 | + $st = Remove-AzureVMSS -ResourceGroupName $rgname -VMScaleSetName $vmss.Name; |
218 | 221 | }
|
219 | 222 | finally
|
220 | 223 | {
|
|
0 commit comments