Skip to content

Commit 38ab463

Browse files
authored
Merge pull request Azure#3102 from MSSedusch/dev
Fix error in Test-AzureRmVMAEMExtension and improve error message
2 parents ef16451 + 2c93502 commit 38ab463

File tree

13 files changed

+27160
-6806
lines changed

13 files changed

+27160
-6806
lines changed

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,15 +304,27 @@
304304
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\TestAEMExtensionAdvancedLinux.json">
305305
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
306306
</None>
307+
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\TestAEMExtensionAdvancedLinuxWAD.json">
308+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
309+
</None>
307310
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\TestAEMExtensionAdvancedWindows.json">
308311
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
309312
</None>
313+
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\TestAEMExtensionAdvancedWindowsWAD.json">
314+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
315+
</None>
310316
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\TestAEMExtensionBasicLinux.json">
311317
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
312318
</None>
319+
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\TestAEMExtensionBasicLinuxWAD.json">
320+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
321+
</None>
313322
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\TestAEMExtensionBasicWindows.json">
314323
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
315324
</None>
325+
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AEMExtensionTests\TestAEMExtensionBasicWindowsWAD.json">
326+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
327+
</None>
316328
<None Include="SessionRecords\Microsoft.Azure.Commands.Compute.Test.ScenarioTests.AvailabilitySetTests\TestAvailabilitySet.json">
317329
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
318330
</None>

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

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,24 +23,48 @@ public AEMExtensionTests(Xunit.Abstractions.ITestOutputHelper output)
2323
ServiceManagemenet.Common.Models.XunitTracingInterceptor.AddToContext(new ServiceManagemenet.Common.Models.XunitTracingInterceptor(output));
2424
}
2525

26+
[Fact]
27+
public void TestAEMExtensionBasicWindowsWAD()
28+
{
29+
ComputeTestController.NewInstance.RunPsTest("Test-AEMExtensionBasicWindowsWAD");
30+
}
31+
2632
[Fact]
2733
public void TestAEMExtensionBasicWindows()
2834
{
2935
ComputeTestController.NewInstance.RunPsTest("Test-AEMExtensionBasicWindows");
3036
}
3137

38+
[Fact]
39+
public void TestAEMExtensionBasicLinuxWAD()
40+
{
41+
ComputeTestController.NewInstance.RunPsTest("Test-AEMExtensionBasicLinuxWAD");
42+
}
43+
3244
[Fact]
3345
public void TestAEMExtensionBasicLinux()
3446
{
3547
ComputeTestController.NewInstance.RunPsTest("Test-AEMExtensionBasicLinux");
3648
}
3749

50+
[Fact]
51+
public void TestAEMExtensionAdvancedWindowsWAD()
52+
{
53+
ComputeTestController.NewInstance.RunPsTest("Test-AEMExtensionAdvancedWindowsWAD");
54+
}
55+
3856
[Fact]
3957
public void TestAEMExtensionAdvancedWindows()
4058
{
4159
ComputeTestController.NewInstance.RunPsTest("Test-AEMExtensionAdvancedWindows");
4260
}
4361

62+
[Fact]
63+
public void TestAEMExtensionAdvancedLinuxWAD()
64+
{
65+
ComputeTestController.NewInstance.RunPsTest("Test-AEMExtensionAdvancedLinuxWAD");
66+
}
67+
4468
[Fact]
4569
public void TestAEMExtensionAdvancedLinux()
4670
{

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

Lines changed: 228 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,52 @@
1717
Test the basic usage of the Set/Get/Test/Remove virtual machine Azure Enhanced Monitoring extension command
1818
#>
1919

20+
function Test-AEMExtensionBasicWindowsWAD
21+
{
22+
$rgname = Get-ComputeTestResourceName
23+
$loc = Get-ComputeVMLocation
24+
25+
try
26+
{
27+
# Setup
28+
$vm = Create-AdvancedVM -rgname $rgname -loc $loc
29+
$vmname = $vm.Name
30+
31+
# Get with not extension
32+
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
33+
Assert-Null $extension
34+
# Test with not extension
35+
$testResult = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorageCheck
36+
Assert-False { $testResult.Result }
37+
38+
# Set and Get command.
39+
Set-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorage -EnableWAD
40+
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
41+
42+
Assert-NotNull $extension
43+
Assert-AreEqual $extension.Publisher 'Microsoft.AzureCAT.AzureEnhancedMonitoring'
44+
Assert-AreEqual $extension.ExtensionType 'AzureCATExtensionHandler'
45+
Assert-AreEqual $extension.Name 'AzureCATExtensionHandler'
46+
$settings = $extension.PublicSettings | ConvertFrom-Json
47+
Assert-NotNull $settings.cfg
48+
49+
# Test command.
50+
$testResult = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -WaitTimeInMinutes 50 -SkipStorageCheck
51+
Assert-True { $testResult.Result }
52+
Assert-True { ($testResult.PartialResults.Count -gt 0) }
53+
54+
# Remove command.
55+
Remove-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
56+
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
57+
Assert-Null $extension
58+
}
59+
finally
60+
{
61+
# Cleanup
62+
Clean-ResourceGroup $rgname
63+
}
64+
}
65+
2066
function Test-AEMExtensionBasicWindows
2167
{
2268
$rgname = Get-ComputeTestResourceName
@@ -63,6 +109,73 @@ function Test-AEMExtensionBasicWindows
63109
}
64110
}
65111

112+
function Test-AEMExtensionAdvancedWindowsWAD
113+
{
114+
$rgname = Get-ComputeTestResourceName
115+
$loc = Get-ComputeVMLocation
116+
117+
try
118+
{
119+
Write-Verbose "Start the test Test-AEMExtensionAdvancedWindows"
120+
# Setup
121+
$vm = Create-AdvancedVM -rgname $rgname -loc $loc -vmsize 'Standard_DS2' -stotype 'Premium_LRS' -nicCount 2
122+
$vmname = $vm.Name
123+
Write-Verbose "Test-AEMExtensionAdvancedWindows: VM created"
124+
125+
# Get with not extension
126+
Write-Verbose "Test-AEMExtensionAdvancedWindows: Get with no extension"
127+
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
128+
Assert-Null $extension
129+
130+
# Test with not extension
131+
Write-Verbose "Test-AEMExtensionAdvancedWindows: Test with no extension"
132+
$res = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorageCheck
133+
Assert-False { $res.Result }
134+
Write-Verbose "Test-AEMExtensionAdvancedWindows: Test done"
135+
136+
$stoname = 'sto' + $rgname + "2";
137+
New-AzureRmStorageAccount -ResourceGroupName $rgname -Name $stoname -Location $loc -Type 'Standard_LRS';
138+
139+
# Set and Get command.
140+
Write-Verbose "Test-AEMExtensionAdvancedWindows: Set with no extension"
141+
Set-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -WADStorageAccountName $stoname -SkipStorage -EnableWAD
142+
Write-Verbose "Test-AEMExtensionAdvancedWindows: Set done"
143+
Write-Verbose "Test-AEMExtensionAdvancedWindows: Get with extension"
144+
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
145+
146+
147+
Assert-NotNull $extension
148+
Assert-AreEqual $extension.Publisher 'Microsoft.AzureCAT.AzureEnhancedMonitoring'
149+
Assert-AreEqual $extension.ExtensionType 'AzureCATExtensionHandler'
150+
Assert-AreEqual $extension.Name 'AzureCATExtensionHandler'
151+
$settings = $extension.PublicSettings | ConvertFrom-Json
152+
Assert-NotNull $settings.cfg
153+
Write-Verbose "Test-AEMExtensionAdvancedWindows: Get done"
154+
155+
# Test command.
156+
Write-Verbose "Test-AEMExtensionAdvancedWindows: Test with extension"
157+
$res = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorageCheck
158+
Assert-True { $res.Result }
159+
Assert-True { ($res.PartialResults.Count -gt 0) }
160+
Write-Verbose "Test-AEMExtensionAdvancedWindows: Test done"
161+
162+
# Remove command.
163+
Write-Verbose "Test-AEMExtensionAdvancedWindows: Remove with extension"
164+
Remove-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
165+
Write-Verbose "Test-AEMExtensionAdvancedWindows: Remove done"
166+
167+
Write-Verbose "Test-AEMExtensionAdvancedWindows: Get after remove"
168+
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
169+
Assert-Null $extension
170+
Write-Verbose "Test-AEMExtensionAdvancedWindows: Get after remove done"
171+
}
172+
finally
173+
{
174+
# Cleanup
175+
Clean-ResourceGroup $rgname
176+
}
177+
}
178+
66179
function Test-AEMExtensionAdvancedWindows
67180
{
68181
$rgname = Get-ComputeTestResourceName
@@ -130,6 +243,52 @@ function Test-AEMExtensionAdvancedWindows
130243
}
131244
}
132245

246+
function Test-AEMExtensionBasicLinuxWAD
247+
{
248+
$rgname = Get-ComputeTestResourceName
249+
$loc = Get-ComputeVMLocation
250+
251+
try
252+
{
253+
# Setup
254+
$vm = Create-AdvancedVM -rgname $rgname -loc $loc -linux
255+
$vmname = $vm.Name
256+
257+
# Get with not extension
258+
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
259+
Assert-Null $extension
260+
# Test with not extension
261+
$testResult = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorageCheck
262+
Assert-False { $testResult.Result }
263+
264+
# Set and Get command.
265+
Set-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorage -EnableWAD
266+
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
267+
268+
Assert-NotNull $extension
269+
Assert-AreEqual $extension.Publisher 'Microsoft.OSTCExtensions'
270+
Assert-AreEqual $extension.ExtensionType 'AzureEnhancedMonitorForLinux'
271+
Assert-AreEqual $extension.Name 'AzureEnhancedMonitorForLinux'
272+
$settings = $extension.PublicSettings | ConvertFrom-Json
273+
Assert-NotNull $settings.cfg
274+
275+
# Test command.
276+
$testResult = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -WaitTimeInMinutes 50 -SkipStorageCheck
277+
Assert-True { $testResult.Result }
278+
Assert-True { ($testResult.PartialResults.Count -gt 0) }
279+
280+
# Remove command.
281+
Remove-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
282+
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
283+
Assert-Null $extension
284+
}
285+
finally
286+
{
287+
# Cleanup
288+
Clean-ResourceGroup $rgname
289+
}
290+
}
291+
133292
function Test-AEMExtensionBasicLinux
134293
{
135294
$rgname = Get-ComputeTestResourceName
@@ -176,6 +335,74 @@ function Test-AEMExtensionBasicLinux
176335
}
177336
}
178337

338+
function Test-AEMExtensionAdvancedLinuxWAD
339+
{
340+
$rgname = Get-ComputeTestResourceName
341+
$loc = Get-ComputeVMLocation
342+
343+
try
344+
{
345+
Write-Verbose "Start the test Test-AEMExtensionAdvancedLinux"
346+
# Setup
347+
$vm = Create-AdvancedVM -rgname $rgname -loc $loc -vmsize 'Standard_DS2' -stotype 'Premium_LRS' -nicCount 2 -linux
348+
$vmname = $vm.Name
349+
Write-Verbose "Test-AEMExtensionAdvancedLinux: VM created"
350+
351+
# Get with not extension
352+
Write-Verbose "Test-AEMExtensionAdvancedLinux: Get with no extension"
353+
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
354+
Assert-Null $extension
355+
356+
# Test with not extension
357+
Write-Verbose "Test-AEMExtensionAdvancedLinux: Test with no extension"
358+
$res = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorageCheck
359+
Write-Verbose ("Test-AEMExtensionAdvancedLinux: Test result " + $res.Result)
360+
Assert-False { $res.Result }
361+
Write-Verbose "Test-AEMExtensionAdvancedLinux: Test done"
362+
363+
$stoname = 'sto' + $rgname + "2";
364+
New-AzureRmStorageAccount -ResourceGroupName $rgname -Name $stoname -Location $loc -Type 'Standard_LRS';
365+
366+
# Set and Get command.
367+
Write-Verbose "Test-AEMExtensionAdvancedLinux: Set with no extension"
368+
Set-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -WADStorageAccountName $stoname -SkipStorage -EnableWAD
369+
Write-Verbose "Test-AEMExtensionAdvancedLinux: Set done"
370+
Write-Verbose "Test-AEMExtensionAdvancedLinux: Get with extension"
371+
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
372+
373+
374+
Assert-NotNull $extension
375+
Assert-AreEqual $extension.Publisher 'Microsoft.OSTCExtensions'
376+
Assert-AreEqual $extension.ExtensionType 'AzureEnhancedMonitorForLinux'
377+
Assert-AreEqual $extension.Name 'AzureEnhancedMonitorForLinux'
378+
$settings = $extension.PublicSettings | ConvertFrom-Json
379+
Assert-NotNull $settings.cfg
380+
Write-Verbose "Test-AEMExtensionAdvancedLinux: Get done"
381+
382+
# Test command.
383+
Write-Verbose "Test-AEMExtensionAdvancedLinux: Test with extension"
384+
$res = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorageCheck
385+
Assert-True { $res.Result }
386+
Assert-True { ($res.PartialResults.Count -gt 0) }
387+
Write-Verbose "Test-AEMExtensionAdvancedLinux: Test done"
388+
389+
# Remove command.
390+
Write-Verbose "Test-AEMExtensionAdvancedLinux: Remove with extension"
391+
Remove-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
392+
Write-Verbose "Test-AEMExtensionAdvancedLinux: Remove done"
393+
394+
Write-Verbose "Test-AEMExtensionAdvancedLinux: Get after remove"
395+
$extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname
396+
Assert-Null $extension
397+
Write-Verbose "Test-AEMExtensionAdvancedLinux: Get after remove done"
398+
}
399+
finally
400+
{
401+
# Cleanup
402+
Clean-ResourceGroup $rgname
403+
}
404+
}
405+
179406
function Test-AEMExtensionAdvancedLinux
180407
{
181408
$rgname = Get-ComputeTestResourceName
@@ -367,5 +594,5 @@ function Create-AdvancedVM($rgname, $vmname, $loc, $vmsize, $stotype, $nicCount,
367594

368595
function Get-LinuxImage
369596
{
370-
return Create-ComputeVMImageObject 'SUSE' 'SLES' '12' 'latest';
597+
return Create-ComputeVMImageObject 'SUSE' 'SLES' '12-SP1' 'latest';
371598
}

0 commit comments

Comments
 (0)