The vmware-vpxd service crashes intermittently, generating a core.vpxd-worker.##### file in the /var/core directory each time.
Rebooting the vCenter or manually restarting the vmware-vpxd service temporarily resolves the issue until the next crash.
Further analysis indicates that the crash is related to host profile issues.
Reviewing the /var/log/vmware/vpxd/vpxd.log file, repeated entries are observed before each core dump, leading to the vpxd crash.
vpxd.log[YYYY-MM-DDTHH:MM:SS] info vpxd[240211] [Originator@6876 sub=vpxLro opID=######] [VpxLRO] -- BEGIN task-57382002 -- hostprofile-####-- vim.profile.host.HostProfile.update -- <id>[YYYY-MM-DDTHH:MM:SS] error vpxd[240211] [Originator@6876 sub=moHostProfile opID=#####] [GetValidationResult]: Validated Cache is empty.[YYYY-MM-DDTHH:MM:SS] info vpxd[240211] [Originator@6876 sub=vmomi.soapStub[784] opID=#######] SOAP request returned HTTP failure; <<io_obj p:0x00007f2e180321e8, h:380, <UNIX ''>, <UNIX '/var/run/envoy-hgw/hgw-pipe'>>, /hgw/host-#######/vpxa>, method: queryView; code: 500(Internal Server Error); fault: (vim.fault.InvalidName) {--> faultCause = (vmodl.MethodFault) null,--> faultMessage = <unset>,--> name = "Config.HostAgent.plugins.vimsvc.disableHostProfileApi",--> entity = <unset>--> msg = "Received SOAP response fault from [<<io_obj p:0x00007f2e180321e8, h:380, <UNIX ''>, <UNIX '/var/run/envoy-hgw/hgw-pipe'>>, /hgw/host-######/vpxa>]: queryView--> Received SOAP response fault from [<<io_obj p:0x000000ed0eec0768, h:21, <TCP '127.0.0.1 : 56547'>, <TCP '127.0.0.1 : 8307'>>, /sdk>]: queryView--> 'Config.HostAgent.plugins.vimsvc.disableHostProfileApi' is invalid or exceeds the maximum number of characters permitted."--> }[YYYY-MM-DDTHH:MM:SS] info vpxd[240211] [Originator@6876 sub=vmomi.soapStub[784] opID=######] SOAP request returned HTTP failure; <<io_obj p:0x00007f2d0c1d7558, h:366, <UNIX ''>, <UNIX '/var/run/envoy-hgw/hgw-pipe'>>, /hgw/host-#######/vpxa>, method: queryView; code: 500(Internal Server Error); fault: (vim.fault.InvalidName) {--> faultCause = (vmodl.MethodFault) null,--> faultMessage = <unset>,--> name = "Config.HostAgent.plugins.vimsvc.disableHostProfileApi",--> entity = <unset>--> msg = "Received SOAP response fault from [<<io_obj p:0x00007f2d0c1d7558, h:366, <UNIX ''>, <UNIX '/var/run/envoy-hgw/hgw-pipe'>>, /hgw/host-#######/vpxa>]: queryView--> Received SOAP response fault from [<<io_obj p:0x000000ed0f175078, h:18, <TCP '127.0.0.1 : 37157'>, <TCP '127.0.0.1 : 8307'>>, /sdk>]: queryView--> 'Config.HostAgent.plugins.vimsvc.disableHostProfileApi' is invalid or exceeds the maximum number of characters permitted."--> }
Note: Ensure that you have a valid snapshot or backup of the vCenter before making any changes. If the affected vCenter is part of an ELM (Enhanced Linked Mode) setup, take powered-off snapshots for all vCenters in the ELM. If the affected vCenter is standalone, take a non-memory snapshot.
To resolve the issue, follow the steps below:
/opt/vmware/vpostgres/current/bin/psql -d VCDB -U postgres
select profile_name,profile_id from vpx_profile;Example Output:
profile_name | profile_id
---------------------------------------------------------+------------
Default_DRS_HA_FT | 9
Default_DRS_HA_FT | 10
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | 1001
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy | 601
zzzzzzzzzzzzzzzzzzzzzzzzzzzzz | 701
delete from vpx_profile where profile_id="enter id noted from the vpxd logs";
service-control --stop --allservice-control --start --all
Note: After implementing the above steps, the vpxd may crash again, referring to a different host profile the next time. You may have to repeat the above process till all the invalid host profiles are deleted from vCenter.