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...
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)