VMware PowerCLI 11.0.0 Build 10380590
VMware ESXi 6.5.0 build-10390116
vSAN 6.6.1
The values of parameters in "Advance System setting" look different in vSphere Web Client, esxcfg-advcfg, esxcli (get-esxcli; v2) and PowerCLI.
The output of esxcfg-advcfg --get /VSAN/ClomRepairDelay shows 60.
From PowerCLI, using esxcli (get-esxcli; v2), the integer value shows 60.
But if I run the following PowerCLI script, the CSV output shows 360, which used to be the old value. It doesn't reflect the new value (60).
The vSphere web client also shows 360, which is incorrect according to esxcli.
Does anyone have any idea what's gone wrong here?
KB2075456 mentions that the CLOM service needs to be restarted.
Does it keep saying 360 after you restart that service?
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
Hey LucD,
"/etc/init.d/clomd restart" has been done after manually changing the value on every single host.
The GUI and PowerCLI do keep showing 360. But the esxcli reflects the correct value.
Strange, can you run the following, and check the returned values?
Get-VMHost |
Select Name,
@{N='PCLI';E={(Get-AdvancedSetting -Entity $_ -Name 'VSAN.ClomRepairDelay').Value}},
@{N='API';E={
$advMgr = Get-View -Id $_.ExtensionData.ConfigManager.AdvancedOption
$advMgr.QueryOptions('VSAN.ClomRepairDelay') | Select -ExpandProperty Value}},
@{N='EsxCli';E={
(Get-EsxCli -VMHost $_).system.settings.advanced.list() |
where{$_.Path -eq '/VSAN/ClomRepairDelay'} |
Select -ExpandProperty IntValue
}}
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
Here it is,
I just tried replacing VSAN.ClomRepairDelay parameter with VSAN.ClomMaxComponentSizeGB, to see the output. It returns me nothing as well.
No values in any of the columns?
That's strange.
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
Seems to be working fine for me.
Not sure if it matters, but I'm connected to a VCSA
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
esxcfg-advcfg works though, as I mentioned earlier.
I'm connected to VCSA as well. It doesn't seem to make a difference.
I tried with another vCenter appliance, the result is same
Just realised that I used the wrong variable for the first 2 values.
The 3th value should have been correct.bove.
I updated the code a
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
The ESXCLI output still didn't populate,
And again, the PowerCLI and API show 360.
Can you try the following with one of the ESXi nodes, and check if the setting is in the list?
Update the ESXi hostname
$esx = Get-VMHost -Name <YourEsx>
$esxcli = Get-EsxCli -VMHost $esx
$esxcli.system.settings.advanced.list() |
where{$_.Path -match '/VSAN'} |
Select Path,Type,IntValue,StringValue
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
I had to adopt your script a little bit to my environment
The setting is indeed in the list
And that seems to be the correct one.
So the other 2 options are off (what amazes me from the API method)
I think you might have discover an issue with the advanced settings.
And not necessarily with the PowerCLI cmdlet, since the API method also seem to show the incorrect/old value.
I couldn't find any limitations/remarks with the UpdateOptions method, which I suspect is called in the background by the Set-AdvancedSetting cmdlet when ESXi nodes are addressed.
I would suggest to open a SR, and yes PowerCLI is supported, even without a Developer Support contract.
Point the GSS person to PowerCLI Support Breakdown
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
SR# 18017216812
Lets see how it goes:smileyconfused: