VMware Cloud Community
JohnGibson
Hot Shot
Hot Shot

Reconfigure a cluster using ReconfigureCluster method (AutoComputePercentages)

All I want to set on some clusters is 

$spec.DasConfig.AdmissionControlPolicy.AutoComputePercentages = $true

Due to a bug where admission control is not recalculating the Compute percentages after some hosts exit MaintenanceMode... the fix is just to reapply the config to the cluster and the cluster goes anre recalculates things, so im basically wantint to do a touch on  the config and that kicks it to recalculate.

 

Anyway ive got the basisc down as a simple snippet here:

$cluster = Get-Cluster -Name $clusterName
$spec = New-Object VMware.Vim.ClusterConfigSpec
$spec.DasConfig = New-Object VMware.Vim.ClusterDasConfigInfo
$spec.DasConfig.AdmissionControlPolicy = New-Object VMware.Vim.ClusterFailoverResourcesAdmissionControlPolicy
$spec.DasConfig.Enabled = $true
$spec.DasConfig.AdmissionControlPolicy.AutoComputePercentages = $true
$modify = $true
$cluster.ExtensionData.ReconfigureCluster($spec,$modify)

what im finding is ohter settings under DasConfig are getting changed so im coding some of those one line per setting... i.e. so far got to this...

$cluster = Get-Cluster -Name $clusterName
$spec = New-Object VMware.Vim.ClusterConfigSpec
$spec.DasConfig = New-Object VMware.Vim.ClusterDasConfigInfo
$spec.DasConfig.AdmissionControlPolicy = New-Object VMware.Vim.ClusterFailoverResourcesAdmissionControlPolicy
$spec.DasConfig.HBDatastoreCandidatePolicy = "allFeasibleDs"
$spec.DasConfig.AdmissionControlEnabled = $true
$spec.DasConfig.AdmissionControlPolicy.FailoverLevel = $cluster.ExtensionData.ConfigurationEx.DasConfig.AdmissionControlPolicy.FailoverLevel
$spec.DasConfig.AdmissionControlPolicy.ResourceReductionToToleratePercent = $cluster.ExtensionData.ConfigurationEx.DasConfig.AdmissionControlPolicy.ResourceReductionToToleratePercent
$spec.DasConfig.AdmissionControlPolicy.AutoComputePercentages = $true
$modify = $true
$cluster.ExtensionData.ReconfigureCluster($spec,$modify)

 

The question is is there a way to just pull all of the current $cluster.ExtensionData.ConfigurationEx.DasConfig into $spec.DasConfig without having ot do it individually.

 

All i really want is something like:

$spec.DasConfig = $cluster.ExtensionData.ConfigurationEx.DasConfig

$modify = $true
$cluster.ExtensionData.ReconfigureCluster($spec,$modify)

 

actually would that work... er ill go try it...

 

0 Kudos
1 Reply
JohnGibson
Hot Shot
Hot Shot

never mind, this seems to work... and retains all other settings including advanced options and other settings, i was clearly overcomplicating it.

 

$cluster = Get-Cluster -Name $clusterName

$spec = New-Object VMware.Vim.ClusterConfigSpec

$spec.DasConfig = $cluster.ExtensionData.ConfigurationEx.DasConfig

#$spec.DasConfig.AdmissionControlPolicy.AutoComputePercentages = $true

$modify = $true

$cluster.ExtensionData.ReconfigureCluster($spec,$modify)

0 Kudos