In VMware vCenter Server, Host Profiles consistently report an Unknown compliance status. This status persists even after a host compliance check task finishes.
Symptoms include:
Compliance checks complete but do not return Compliant or Non-Compliant results, reverting to or remaining as Unknown.
vCenter logs (/var/log/vmware/vpxd/vpxd.log) show compliance tasks completing without a ComplianceResult entry.
/var/log/vmware/vpxd/vpxd.log YYYY:MM:DDTHH:MM:SS.Z info vpxd[39059] [Originator@6876 sub=moHostProfile opID=mocqheuc-931119-auto-jygh-h5:70098265-52] [CheckCompliance]: Host HOST_FQDN is not compliant with profile Test_HP: (vim.profile.ComplianceResult.ComplianceFailure)
A comparative analysis of /var/run/log/hostd.log reveals that problematic profiles generate significantly fewer log entries than functional profiles. When filtering by the compliance check operation ID (opID), a working profile executes approximately 25 logged operations, whereas a problematic profile truncates execution after 12 or fewer lines before the task ends.
vCenter Server 8.x/7.x
ESX 8.x/7.x
Structural corruption within the Host Profile object prevents the compliance engine from executing the full sequence of validation logic.
Identify a reference host within the cluster that currently maintains the desired configuration state.
Navigate to Policies and Profiles > Host Profiles.
Click Extract Profile from Host and select the identified reference host.
Provide a name for the new profile and complete the extraction wizard.
Edit the new Host Profile to customize any host-specific policies or required compliance standards.
Attach the new Host Profile to the target cluster or hosts.
Run a Check Compliance task to verify that the profile now returns a terminal state (Compliant or Non-Compliant).
Once verified, detach and delete the corrupted Host Profile object.