Compliance scan / remediation takes a long time on hosts which have a large number of data stores attached to them.
From the vua logs on the host, you can see that the call to forkexec precheck.py takes a long time to run.
For example:
/var/log/vmware/vua/vua.log
YYYY-MM-DDTHH:MM:SS info vua[2103400] [Originator@6876 sub=VUA] Invoking: "/tmp/vuaScript-s6zWcx/precheck.py --ip=###.##.##.##
YYYY-MM-DDTHH:MM:SS info vua[2103400] [Originator@6876 sub=SysCommandPosix] ForkExec(/tmp/vuaScript-s6zWcx/precheck.py) 2103413
YYYY-MM-DDTHH:MM:SS info vua[2103411] [Originator@6876 sub=ThreadPool] Spawning additional worker - allocated: 9, idle: 1
YYYY-MM-DDTHH:MM:SS info vua[2103784] [Originator@6876 sub=ThreadPool] Entering worker thread loop
In the above case, the next call after the ForkExec precheck.py is happening after 10 minutes.
YYYY-MM-DDTHH:MM:SS info vua[87520504] [Originator@6876 sub=VUA] Invoking: "/tmp/vuaScript-GM91hP/precheck.py --ip=###.##.##.##
YYYY-MM-DDTHH:MM:SS info vua[87520504] [Originator@6876 sub=SysCommandPosix] ForkExec(/tmp/vuaScript-GM91hP/precheck.py) 87520529
YYYY-MM-DDTHH:MM:SS info vua[87520510] [Originator@6876 sub=ThreadPool] Spawning additional worker - allocated: 9, idle: 1
YYYY-MM-DDTHH:MM:SS info vua[87525286] [Originator@6876 sub=ThreadPool] Entering worker thread loop
The next statement after ForkExec is after 25 minutes.
VMware vSphere ESXi 7.0.3
The compliance scans that run on the hosts (either as an independent operation or as part of remediation) have upgrade prechecks which list out all the attached volumes, the free space on each of these, their versions, etc. If a host is attached to a large number of data stores, each with a large capacity, this operation can take a lot of time. Also, this time is multiplied by the number of baselines attached to the cluster / host.
Fixed in 7.0.3 P08