Skip to content

Commit 5ed292c

Browse files
[Compute] Vm health field in vm instance view (#12693)
* adding next version * added VmHealth field in PSVirtualMachineINstanceView * added tests * added changelog * fixed diff in case for VMHealth property * refactored tests and added recording * Removing unnecessary line * Update Compute (Track 1) sdk reference in RecoveryServices.Backup.Test.csproj * Update RecoveryServices.SiteRecovery.Test.csproj * Update SqlVirtualMachine.Test.csproj * Update Network.Test.csproj * Removing password for credential check success * Adding a better description to the test * Improved changelog message * Removing unnecesary if statement * adding missing comma * Making vmHealth VMHealth
1 parent cc86dd2 commit 5ed292c

File tree

12 files changed

+3257
-7
lines changed

12 files changed

+3257
-7
lines changed

src/Compute/Compute.Test/Compute.Test.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
44
<PsModuleName>Compute</PsModuleName>
@@ -12,7 +12,7 @@
1212

1313
<ItemGroup>
1414
<PackageReference Include="Microsoft.Azure.Graph.RBAC" Version="3.4.0-preview" />
15-
<PackageReference Include="Microsoft.Azure.Management.Compute" Version="38.0.0" />
15+
<PackageReference Include="Microsoft.Azure.Management.Compute" Version="38.1.0" />
1616
<PackageReference Include="Microsoft.Azure.Management.KeyVault" Version="3.0.0" />
1717
<PackageReference Include="Microsoft.Azure.Management.Network" Version="20.0.2-preview" />
1818
</ItemGroup>

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,13 @@ public void TestVirtualMachineGetStatus()
214214
TestRunner.RunTestScript("Test-VirtualMachineGetStatus");
215215
}
216216

217+
[Fact]
218+
[Trait(Category.AcceptanceType, Category.CheckIn)]
219+
public void VirtualMachineGetStatusWithHealhtExtension()
220+
{
221+
TestRunner.RunTestScript("Test-VirtualMachineGetStatusWithHealhtExtension");
222+
}
223+
217224
[Fact]
218225
[Trait(Category.AcceptanceType, Category.CheckIn)]
219226
public void TestVirtualMachineGetStatusWithAssignedHost()

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

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2959,6 +2959,7 @@ function Test-VirtualMachineGetStatus
29592959
Assert-AreEqual $vm1.HardwareProfile.VmSize $vmsize;
29602960

29612961
$vm = Get-AzVM -Name $vmname -ResourceGroupName $rgname -Status;
2962+
29622963
$a = $vm | Out-String;
29632964
Write-Verbose($a);
29642965
Assert-True {$a.Contains("Statuses");}
@@ -2994,6 +2995,69 @@ function Test-VirtualMachineGetStatus
29942995
}
29952996
}
29962997

2998+
<#
2999+
.SYNOPSIS
3000+
Test Virtual Machines's Status With Health Extension
3001+
Description:
3002+
This test creates a virtual machine and adds a vm health extension
3003+
and gets the virtual machine with -Status flag which returns the instance
3004+
view of the virtual machine. Since the vm has a health extension,
3005+
the vm's instance view should have the "vmHealth" field present in its return
3006+
object.
3007+
#>
3008+
function Test-VirtualMachineGetStatusWithHealhtExtension
3009+
{
3010+
# Setup
3011+
$rgname = Get-ComputeTestResourceName
3012+
3013+
try
3014+
{
3015+
# Common
3016+
$loc = Get-ComputeVMLocation;
3017+
$loc = $loc.Replace(' ', '');
3018+
3019+
New-AzResourceGroup -Name $rgname -Location $loc -Force;
3020+
3021+
# VM Profile & Hardware
3022+
$vmsize = 'Standard_DS2_v2';
3023+
$vmname = 'vm' + $rgname;
3024+
3025+
# OS & Image
3026+
$username = "admin01";
3027+
$password = $PLACEHOLDER | ConvertTo-SecureString -AsPlainText -Force;
3028+
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $password;
3029+
[string]$domainNameLabel = "vcrptestps7691-6f2166";
3030+
# Virtual Machine
3031+
New-AzVM -ResourceGroupName $rgname -Location $loc -DomainNameLabel $domainNameLabel -Name $vmname -Credential $cred -Size $vmsize;
3032+
3033+
# Adding health extension on VM
3034+
$publicConfig = @{"protocol" = "http"; "port" = 80; "requestPath" = "/healthEndpoint"};
3035+
$extensionName = "myHealthExtension"
3036+
$extensionType = "ApplicationHealthWindows"
3037+
$publisher = "Microsoft.ManagedServices"
3038+
Set-AzVMExtension -ResourceGroupName $rgname -VMName $vmname -Publisher $publisher -Settings $publicConfig -ExtensionType $extensionType -ExtensionName $extensionName -Loc $loc -TypeHandlerVersion "1.0"
3039+
3040+
# Get VM
3041+
$vm = Get-AzVM -Name $vmname -ResourceGroupName $rgname -Status;
3042+
3043+
# Check for VmHealth Property
3044+
Assert-NotNull $vm.VMHealth
3045+
Assert-NotNull $vm.VMHealth.Status
3046+
Assert-NotNull $vm.VMHealth.Status.Code
3047+
Assert-NotNull $vm.VMHealth.Status.Level
3048+
Assert-NotNull $vm.VMHealth.Status.DisplayStatus
3049+
Assert-NotNull $vm.VMHealth.Status.Time
3050+
3051+
# Remove
3052+
Remove-AzVM -Name $vmname -ResourceGroupName $rgname -Force;
3053+
}
3054+
finally
3055+
{
3056+
# Cleanup
3057+
Clean-ResourceGroup $rgname
3058+
}
3059+
}
3060+
29973061
<#
29983062
.SYNOPSIS
29993063
Test Virtual Machines

src/Compute/Compute.Test/SessionRecords/Microsoft.Azure.Commands.Compute.Test.ScenarioTests.VirtualMachineTests/VirtualMachineGetStatusWithHealhtExtension.json

Lines changed: 3175 additions & 0 deletions
Large diffs are not rendered by default.

src/Compute/Compute/ChangeLog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
- Additional information about change #1
2020
-->
2121
## Upcoming Release
22+
* Added ``VMHealth`` property to the virtual machine's instance view, which is the returned object when ``Get-AzVm`` is invoked with ``-Status``
2223
* Added 'AssignedHost' field to Get-AzVM and Get-AzVmss's instance views. The field shows the resource id of the virtual machine instance
2324
* Added `SupportAutomaticPlacement` to New-AzHostGroup
2425
* Added '-EncryptionAtHost' parameter to New-AzVm, New-AzVmss, New-AzVMConfig, New-AzVmssConfig, Update-AzVM, and Update-AzVmss

src/Compute/Compute/Compute.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
<ItemGroup>
1515
<PackageReference Include="AutoMapper" Version="6.2.2" />
16-
<PackageReference Include="Microsoft.Azure.Management.Compute" Version="38.0.0" />
16+
<PackageReference Include="Microsoft.Azure.Management.Compute" Version="38.1.0" />
1717
<PackageReference Include="System.Security.Permissions" Version="4.5.0" />
1818
<PackageReference Include="System.ServiceModel.Primitives" Version="4.4.1" />
1919
<PackageReference Include="WindowsAzure.Storage" Version="9.3.0" />

src/Compute/Compute/Generated/Models/PSVirtualMachineInstanceView.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ public partial class PSVirtualMachineInstanceView
4141
public IList<VirtualMachineExtensionInstanceView> Extensions { get; set; }
4242
public BootDiagnosticsInstanceView BootDiagnostics { get; set; }
4343
public IList<InstanceViewStatus> Statuses { get; set; }
44+
public VirtualMachineHealthStatus VmHealth { get; set; }
4445

4546
}
4647
}

src/Compute/Compute/Models/PSVirtualMachineInstanceView.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public class PSVirtualMachineInstanceView
4545
public IList<InstanceViewStatus> Statuses { get; set; }
4646

4747
public MaintenanceRedeployStatus MaintenanceRedeployStatus { get; set; }
48+
public VirtualMachineHealthStatus VMHealth { get; set; }
4849
}
4950

5051
public static class PSVirtualMachineInstanceViewExtension
@@ -71,6 +72,7 @@ public static PSVirtualMachineInstanceView ToPSVirtualMachineInstanceView(
7172
OsName = virtualMachineInstanceView.OsName,
7273
OsVersion = virtualMachineInstanceView.OsVersion,
7374
HyperVGeneration = virtualMachineInstanceView.HyperVGeneration,
75+
VMHealth = virtualMachineInstanceView.VmHealth,
7476
AssignedHost = virtualMachineInstanceView.AssignedHost
7577
};
7678

src/Network/Network.Test/Network.Test.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<PackageReference Include="Microsoft.Azure.Graph.RBAC" Version="3.4.0-preview" />
1717
<PackageReference Include="Microsoft.Azure.Management.Network" Version="20.0.2-preview" />
1818
<PackageReference Include="Microsoft.Azure.Insights" Version="0.16.0-preview" />
19-
<PackageReference Include="Microsoft.Azure.Management.Compute" Version="38.0.0" />
19+
<PackageReference Include="Microsoft.Azure.Management.Compute" Version="38.1.0" />
2020
<PackageReference Include="Microsoft.Azure.Management.ContainerInstance" Version="2.0.0" />
2121
<PackageReference Include="Microsoft.Azure.Management.Redis" Version="4.4.1" />
2222
<PackageReference Include="Microsoft.Azure.Management.OperationalInsights" Version="0.21.0-preview" />

src/RecoveryServices/RecoveryServices.Backup.Test/RecoveryServices.Backup.Test.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
</PropertyGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="Microsoft.Azure.Management.Compute" Version="38.0.0" />
14+
<PackageReference Include="Microsoft.Azure.Management.Compute" Version="38.1.0" />
1515
<PackageReference Include="Microsoft.Azure.Management.Network" Version="20.0.2-preview" />
1616
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices" Version="4.3.0-preview" />
1717
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices.Backup" Version="4.0.1-preview" />

src/RecoveryServices/RecoveryServices.SiteRecovery.Test/RecoveryServices.SiteRecovery.Test.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
</PropertyGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="Microsoft.Azure.Management.Compute" Version="38.0.0" />
14+
<PackageReference Include="Microsoft.Azure.Management.Compute" Version="38.1.0" />
1515
<PackageReference Include="Microsoft.Azure.Management.Network" Version="20.0.2-preview" />
1616
<PackageReference Include="Microsoft.Azure.Management.RecoveryServices" Version="4.3.0-preview" />
1717
<PackageReference Include="Microsoft.Azure.Management.Storage" Version="14.3.0" />

src/SqlVirtualMachine/SqlVirtualMachine.Test/SqlVirtualMachine.Test.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
</ItemGroup>
1616

1717
<ItemGroup>
18-
<PackageReference Include="Microsoft.Azure.Management.Compute" Version="38.0.0" />
18+
<PackageReference Include="Microsoft.Azure.Management.Compute" Version="38.1.0" />
1919
<PackageReference Include="Microsoft.Azure.Management.Network" Version="20.0.2-preview" />
2020
<PackageReference Include="Microsoft.Azure.Management.Storage" Version="13.1.0" />
2121
<PackageReference Include="Microsoft.Azure.Management.ResourceManager" Version="3.7.1-preview" />

0 commit comments

Comments
 (0)