On performing compliance check users might see the below error in compliance result:
message: A failure occurred when starting a host compliance check operation on host 'x.x.x.x' : Error: com.vmware.vapi.std.errors.invalid_argument Messages: vapi.invoke.invalid.input<Invalid input for method: ::Com::Vmware::Esx::SettingsDaemon::SoftwareSvc::Scan> vapi.data.compound.field.extra<Extra field in compound: [::Com::Vmware::Esx::SettingsDaemon::SoftwareSpec] removed_components: > type: ERROR
vCenter Server version 8.0 U3 or higher
ESXi version 8.0 U2 or lower
Removed components in desired image can be used in VC/ESXi with 8.0 U3 or higher version only.
Any desired image with removed components scanned against host version 8.0 U2 or lower will cause the scan to fail.
The reason why the scan fails is because the hosts with version 8.0 U2 or lower do not have the capability to understand the removed components field in the desired spec. Thus throws the above error.
Deleting removed components from the desired spec will fix the problem.
However, if you wants to have the desired image with removed components, the possible workaround is to perform a double remediation following the steps below:
1. Delete Removed Components from the Desired Image.
2. Remediate Cluster with Desired Image version 8.0 U3+ (without any Removed Components configured).
3. Once hosts are remediated to 8.0 U3+ version, configure Removed Components field (for example: VMware-VM-Tools) in Desired Image.
(After hosts are upgraded to 8.0 U3 or higher version, they can now understand the new software spec with removed_components as a field)
4. Perform a second remediation (Apply).