|
17 | 17 | Test the basic usage of the Set/Get/Test/Remove virtual machine Azure Enhanced Monitoring extension command
|
18 | 18 | #>
|
19 | 19 |
|
| 20 | +function Log($test, $message) |
| 21 | +{ |
| 22 | + Out-File -FilePath "$test.log" -Append -InputObject $message |
| 23 | +} |
| 24 | + |
20 | 25 | function Test-AEMExtensionBasicWindowsWAD
|
21 | 26 | {
|
22 | 27 | $rgname = Get-ComputeTestResourceName
|
@@ -612,6 +617,154 @@ function Test-AEMExtensionAdvancedLinux
|
612 | 617 | }
|
613 | 618 | }
|
614 | 619 |
|
| 620 | +function Test-AEMExtensionAdvancedLinuxMD_E |
| 621 | +{ |
| 622 | + $rgname = Get-ComputeTestResourceName |
| 623 | + $loc = "southeastasia" |
| 624 | + |
| 625 | + try |
| 626 | + { |
| 627 | + Write-Output "Start the test Test-AEMExtensionAdvancedLinuxMD" |
| 628 | + # Setup |
| 629 | + $vm = Create-AdvancedVM -rgname $rgname -loc $loc -vmsize 'Standard_E4s_v3' -stotype 'Premium_LRS' -nicCount 2 -useMD -linux |
| 630 | + $vmname = $vm.Name |
| 631 | + $vm = Get-AzureRmVM -ResourceGroupName $rgname -Name $vmname |
| 632 | + Add-AzureRmVMDataDisk -VM $vm -StorageAccountType PremiumLRS -Lun (($vm.StorageProfile.DataDisks | select -ExpandProperty Lun | Measure-Object -Maximum).Maximum + 1) -CreateOption Empty -DiskSizeInGB 2059 | Update-AzureRmVM |
| 633 | + |
| 634 | + |
| 635 | + Write-Output "Test-AEMExtensionAdvancedLinuxMD: VM created" |
| 636 | + |
| 637 | + # Get with not extension |
| 638 | + Write-Output "Test-AEMExtensionAdvancedLinuxMD: Get with no extension" |
| 639 | + $extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname |
| 640 | + Assert-Null $extension "Extension is not null" "Extension is not null" |
| 641 | + |
| 642 | + # Test with not extension |
| 643 | + Write-Output "Test-AEMExtensionAdvancedLinuxMD: Test with no extension" |
| 644 | + $res = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorageCheck |
| 645 | + $tmp = $res;$out = &{while ($true) { if ($tmp) { foreach ($tmpRes in $tmp) {($tmpRes.TestName + " " + $tmpRes.Result)};$tmp = @($tmp.PartialResults)} else {break}}}; |
| 646 | + Assert-False { $res.Result } "Test result is not false $out" |
| 647 | + Write-Output "Test-AEMExtensionAdvancedLinuxMD: Test done" |
| 648 | + |
| 649 | + $stoname = 'sto' + $rgname + "2"; |
| 650 | + New-AzureRmStorageAccount -ResourceGroupName $rgname -Name $stoname -Location $loc -Type 'Standard_LRS'; |
| 651 | + |
| 652 | + # Set and Get command. |
| 653 | + Write-Output "Test-AEMExtensionAdvancedLinuxMD: Set with no extension" |
| 654 | + Set-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -WADStorageAccountName $stoname -SkipStorage |
| 655 | + Write-Output "Test-AEMExtensionAdvancedLinuxMD: Set done" |
| 656 | + Write-Output "Test-AEMExtensionAdvancedLinuxMD: Get with extension" |
| 657 | + $extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname |
| 658 | + |
| 659 | + |
| 660 | + Assert-NotNull $extension |
| 661 | + Assert-AreEqual $extension.Publisher 'Microsoft.OSTCExtensions' |
| 662 | + Assert-AreEqual $extension.ExtensionType 'AzureEnhancedMonitorForLinux' |
| 663 | + Assert-AreEqual $extension.Name 'AzureEnhancedMonitorForLinux' |
| 664 | + $settings = $extension.PublicSettings | ConvertFrom-Json |
| 665 | + Assert-NotNull $settings.cfg |
| 666 | + Write-Output "Test-AEMExtensionAdvancedLinuxMD: Get done" |
| 667 | + |
| 668 | + # Test command. |
| 669 | + Write-Output "Test-AEMExtensionAdvancedLinuxMD: Test with extension" |
| 670 | + $res = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorageCheck |
| 671 | + $tmp = $res;$out = &{while ($true) { if ($tmp) { foreach ($tmpRes in $tmp) {($tmpRes.TestName + " " + $tmpRes.Result)};$tmp = @($tmp.PartialResults)} else {break}}}; |
| 672 | + Assert-True { $res.Result } "Test result is not false $out" |
| 673 | + Assert-True { ($res.PartialResults.Count -gt 0) } |
| 674 | + Write-Output "Test-AEMExtensionAdvancedLinuxMD: Test done" |
| 675 | + |
| 676 | + # Remove command. |
| 677 | + Write-Output "Test-AEMExtensionAdvancedLinuxMD: Remove with extension" |
| 678 | + Remove-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname |
| 679 | + Write-Output "Test-AEMExtensionAdvancedLinuxMD: Remove done" |
| 680 | + |
| 681 | + Write-Output "Test-AEMExtensionAdvancedLinuxMD: Get after remove" |
| 682 | + $extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname |
| 683 | + Assert-Null $extension "Extension is not null" |
| 684 | + Write-Output "Test-AEMExtensionAdvancedLinuxMD: Get after remove done" |
| 685 | + } |
| 686 | + finally |
| 687 | + { |
| 688 | + # Cleanup |
| 689 | + Clean-ResourceGroup $rgname |
| 690 | + } |
| 691 | +} |
| 692 | + |
| 693 | +function Test-AEMExtensionAdvancedLinuxMD_D |
| 694 | +{ |
| 695 | + $rgname = Get-ComputeTestResourceName |
| 696 | + $loc = "southeastasia" |
| 697 | + |
| 698 | + try |
| 699 | + { |
| 700 | + Log "Test-AEMExtensionAdvancedLinuxMD_D" "Start the test Test-AEMExtensionAdvancedLinuxMD" |
| 701 | + # Setup |
| 702 | + $vm = Create-AdvancedVM -rgname $rgname -loc $loc -vmsize 'Standard_D2s_v3' -stotype 'Premium_LRS' -nicCount 2 -useMD -linux |
| 703 | + |
| 704 | + Log "Test-AEMExtensionAdvancedLinuxMD_D" "VM created" |
| 705 | + $vmname = $vm.Name |
| 706 | + $vm = Get-AzureRmVM -ResourceGroupName $rgname -Name $vmname |
| 707 | + Add-AzureRmVMDataDisk -VM $vm -StorageAccountType PremiumLRS -Lun (($vm.StorageProfile.DataDisks | select -ExpandProperty Lun | Measure-Object -Maximum).Maximum + 1) -CreateOption Empty -DiskSizeInGB 2059 | Update-AzureRmVM |
| 708 | + |
| 709 | + |
| 710 | + Log "Test-AEMExtensionAdvancedLinuxMD_D" "Test-AEMExtensionAdvancedLinuxMD: VM created" |
| 711 | + |
| 712 | + # Get with not extension |
| 713 | + Log "Test-AEMExtensionAdvancedLinuxMD_D" "Test-AEMExtensionAdvancedLinuxMD: Get with no extension" |
| 714 | + $extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname |
| 715 | + Assert-Null $extension "Extension is not null" "Extension is not null" |
| 716 | + |
| 717 | + # Test with not extension |
| 718 | + Log "Test-AEMExtensionAdvancedLinuxMD_D" "Test-AEMExtensionAdvancedLinuxMD: Test with no extension" |
| 719 | + $res = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorageCheck |
| 720 | + $tmp = $res;$out = &{while ($true) { if ($tmp) { foreach ($tmpRes in $tmp) {($tmpRes.TestName + " " + $tmpRes.Result)};$tmp = @($tmp.PartialResults)} else {break}}}; |
| 721 | + Assert-False { $res.Result } "Test result is not false $out" |
| 722 | + Log "Test-AEMExtensionAdvancedLinuxMD_D" "Test-AEMExtensionAdvancedLinuxMD: Test done" |
| 723 | + |
| 724 | + $stoname = 'sto' + $rgname + "2"; |
| 725 | + New-AzureRmStorageAccount -ResourceGroupName $rgname -Name $stoname -Location $loc -Type 'Standard_LRS'; |
| 726 | + |
| 727 | + # Set and Get command. |
| 728 | + Log "Test-AEMExtensionAdvancedLinuxMD_D" "Test-AEMExtensionAdvancedLinuxMD: Set with no extension" |
| 729 | + Set-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -WADStorageAccountName $stoname -SkipStorage |
| 730 | + Log "Test-AEMExtensionAdvancedLinuxMD_D" "Test-AEMExtensionAdvancedLinuxMD: Set done" |
| 731 | + Log "Test-AEMExtensionAdvancedLinuxMD_D" "Test-AEMExtensionAdvancedLinuxMD: Get with extension" |
| 732 | + $extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname |
| 733 | + |
| 734 | + |
| 735 | + Assert-NotNull $extension |
| 736 | + Assert-AreEqual $extension.Publisher 'Microsoft.OSTCExtensions' |
| 737 | + Assert-AreEqual $extension.ExtensionType 'AzureEnhancedMonitorForLinux' |
| 738 | + Assert-AreEqual $extension.Name 'AzureEnhancedMonitorForLinux' |
| 739 | + $settings = $extension.PublicSettings | ConvertFrom-Json |
| 740 | + Assert-NotNull $settings.cfg |
| 741 | + Log "Test-AEMExtensionAdvancedLinuxMD_D" "Test-AEMExtensionAdvancedLinuxMD: Get done" |
| 742 | + |
| 743 | + # Test command. |
| 744 | + Log "Test-AEMExtensionAdvancedLinuxMD_D" "Test-AEMExtensionAdvancedLinuxMD: Test with extension" |
| 745 | + $res = Test-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname -SkipStorageCheck |
| 746 | + $tmp = $res;$out = &{while ($true) { if ($tmp) { foreach ($tmpRes in $tmp) {($tmpRes.TestName + " " + $tmpRes.Result)};$tmp = @($tmp.PartialResults)} else {break}}}; |
| 747 | + Assert-True { $res.Result } "Test result is not false $out" |
| 748 | + Assert-True { ($res.PartialResults.Count -gt 0) } |
| 749 | + Log "Test-AEMExtensionAdvancedLinuxMD_D" "Test-AEMExtensionAdvancedLinuxMD: Test done" |
| 750 | + |
| 751 | + # Remove command. |
| 752 | + Log "Test-AEMExtensionAdvancedLinuxMD_D" "Test-AEMExtensionAdvancedLinuxMD: Remove with extension" |
| 753 | + Remove-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname |
| 754 | + Log "Test-AEMExtensionAdvancedLinuxMD_D" "Test-AEMExtensionAdvancedLinuxMD: Remove done" |
| 755 | + |
| 756 | + Log "Test-AEMExtensionAdvancedLinuxMD_D" "Test-AEMExtensionAdvancedLinuxMD: Get after remove" |
| 757 | + $extension = Get-AzureRmVMAEMExtension -ResourceGroupName $rgname -VMName $vmname |
| 758 | + Assert-Null $extension "Extension is not null" |
| 759 | + Log "Test-AEMExtensionAdvancedLinuxMD_D" "Test-AEMExtensionAdvancedLinuxMD: Get after remove done" |
| 760 | + } |
| 761 | + finally |
| 762 | + { |
| 763 | + # Cleanup |
| 764 | + Clean-ResourceGroup $rgname |
| 765 | + } |
| 766 | +} |
| 767 | + |
615 | 768 | function Create-AdvancedVM($rgname, $vmname, $loc, $vmsize, $stotype, $nicCount, [Switch] $linux, [Switch] $useMD)
|
616 | 769 | {
|
617 | 770 | # Initialize parameters
|
|
0 commit comments