SYMPTOM:
An internal error occurred during execution
" is returned.vCenter 7.0.x
The caching database file used for the hcl task has become corrupted.
database disk image is malformed"
similar to the following message: Traceback (most recent call last):
File "/usr/lib/vmware-updatemgr/python/hcl/hcl.py", line 154, in main
result = callback(**callbackArgs)
File "/usr/lib/vmware-updatemgr/python/hcl/report/vsan.py", line 173, in generateVsanHclConstraints
result = generateHclConstraints(hostId, targetVersion, vSanHclConstraints,
File "/usr/lib/vmware-updatemgr/python/hcl/report/hcl.py", line 182, in generateHclConstraints
hardware = hostHardwareDiscovery.getHardware(vSanHclConstraints)
File "/usr/lib/vmware-updatemgr/python/hcl/hardware_discovery/discoverer.py", line 78, in inner
return func(*args, **kwargs) # pylint: disable=E1102
File "/usr/lib/vmware-updatemgr/python/hcl/hardware_discovery/discoverer.py", line 830, in getHardware
vsanControllers = self._collectVsanControllers()
File "/usr/lib/vmware-updatemgr/python/hcl/hardware_discovery/discoverer.py", line 509, in _collectVsanControllers
cacheResult = getCacheFactory().getVsanControllersCache() \
File "/usr/lib/vmware-updatemgr/python/hcl/compatibility/cache/vsan_controllers_cache.py", line 50, in get
self.executor.execute("DELETE FROM VsanControllersCache WHERE (? - created_at) > ?",
File "/usr/lib/vmware-updatemgr/python/hcl/compatibility/cache/executor.py", line 86, in execute
c.execute(statement, args)
sqlite3.DatabaseError: database disk image is malformed
Fix:
Remove the corrupted hcl cache database file from the vCenter Server Appliance (VCSA). The file will be recreated.
Process to remove the hcl cache database file:
rm /storage/updatemgr/hcl/vsan_hcl_cache.db
service-control --stop --all
service-control--start --all