Highlighted
Enthusiast
Enthusiast

Value mismatch between Get-AdvancedSetting output and esxcfg-advcfg output

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.

esxcfg-advcfg.jpg

From PowerCLI, using esxcli (get-esxcli; v2), the integer value shows 60.

esxcliv2.jpg

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

get-advset.jpg

powerCLI.jpg

The vSphere web client also shows 360, which is incorrect according to esxcli.

GUI.jpg

Does anyone have any idea what's gone wrong here?

0 Kudos
16 Replies
Highlighted
User Moderator
User Moderator

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

0 Kudos
Highlighted
Enthusiast
Enthusiast

Hey ,

"/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.

0 Kudos
Highlighted
User Moderator
User Moderator

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

0 Kudos
Highlighted
Enthusiast
Enthusiast

Here it is,

powerCLI_Comm.jpg

0 Kudos
Highlighted
Enthusiast
Enthusiast

I just tried replacing VSAN.ClomRepairDelay parameter with VSAN.ClomMaxComponentSizeGB, to see the output. It returns me nothing as well.

powerCLI_Comm1.jpg

0 Kudos
Highlighted
User Moderator
User Moderator

No values in any of the columns?
That's strange.


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos
Highlighted
User Moderator
User Moderator

Seems to be working fine for me.
Not sure if it matters, but I'm connected to a VCSA

values.jpg


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos
Highlighted
Enthusiast
Enthusiast

esxcfg-advcfg works though, as I mentioned earlier.

esxcfg-advcfg2.jpg

0 Kudos
Highlighted
Enthusiast
Enthusiast

I'm connected to VCSA as well. It doesn't seem to make a difference.

0 Kudos
Highlighted
Enthusiast
Enthusiast

I tried with another vCenter appliance, the result is same

powerCLI_Comm2.jpg

0 Kudos
Highlighted
User Moderator
User Moderator

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

0 Kudos
Highlighted
Enthusiast
Enthusiast

The ESXCLI output still didn't populate,

And again, the PowerCLI and API show 360.

powerCLI_Comm3.jpg

0 Kudos
Highlighted
User Moderator
User Moderator

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

0 Kudos
Highlighted
Enthusiast
Enthusiast

I had to adopt your script a little bit to my environment

powerCLI_Comm4.jpg

The setting is indeed in the list

powerCLI_Comm5.jpg

0 Kudos
Highlighted
User Moderator
User Moderator

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

0 Kudos
Highlighted
Enthusiast
Enthusiast

SR# 18017216812

Lets see how it goes:smileyconfused:

0 Kudos