powerCLI function to set HA Admission Control Policy in percent
I am attending a VMware vSphere ICM 5 course this week, this because I am planning to become a VCI.
As I am a bit of PowerCLI fan i am trying to do all the labs in the course from the powerCLI console 🙂
In the HA laboration i found that the default implementation of the powerCLI does not allow you to set the HA Admission Control Policy Percentage, only the Host failure the cluster tolerates, here is a link to the powerCLI reference page for Set-Cluster. In the slides VMware recommends that you set percentage in a HA setup.
This led me to develop a powerCLI function that can configure this. The function has a default value for CPU and Memory that is 25 %, so if you only give the Cluster parameter the Capacity setting will be 25 %.
function Set-HAAdmissionControlPolicy{ <# .SYNOPSIS Set the Percentage HA Admission Control Policy .DESCRIPTION Percentage of cluster resources reserved as failover spare capacity .PARAMETER Cluster The Cluster object that is going to be configurered .PARAMETER percentCPU The percent reservation of CPU Cluster resources .PARAMETER percentMem The percent reservation of Memory Cluster resources .EXAMPLE PS C:\> Set-HAAdmissionControlPolicy -Cluster $CL -percentCPU 50 -percentMem 50 .EXAMPLE PS C:\> Get-Cluster | Set-HAAdmissionControlPolicy -percentCPU 50 -percentMem 50 .NOTES Author: Niklas Akerlund / RTS Date: 2012-01-19 #> param ( [Parameter(Position=0,Mandatory=$true,HelpMessage="This need to be a clusterobject", ValueFromPipeline=$True)] $Cluster, [int]$percentCPU = 25, [int]$percentMem = 25 ) if(Get-Cluster $Cluster){ $spec = New-Object VMware.Vim.ClusterConfigSpecEx $spec.dasConfig = New-Object VMware.Vim.ClusterDasConfigInfo $spec.dasConfig.admissionControlPolicy = New-Object VMware.Vim.ClusterFailoverResourcesAdmissionControlPolicy $spec.dasConfig.admissionControlPolicy.cpuFailoverResourcesPercent = $percentCPU $spec.dasConfig.admissionControlPolicy.memoryFailoverResourcesPercent = $percentMem $Cluster = Get-View $Cluster $Cluster.ReconfigureComputeResource_Task($spec, $true) } }
Here is a screenshot when running the function
Comments
I tried it and the $cluster = get-view line didn’t work until I threw the -VIObject switch in. However, I did kind of cannibalize the function a bit and just make it part of a script instead. Your sample did the trick, though. Many thanks!
I know this is old info but the information above still works on vSphere 5.5. Thanks for posting.
[…] a percentage allocation of resources. However, blogger vNiklas does have his blog an article called PowerCLI function to set HA Admission Control Policy in percent which shows it can be down using the […]