When switching from the baselines to vLCM images, the draft validation fails with 'Component VMware-VM-Tools:PM_DELETED_BY_USER cannot be removed because it is not found in the image'.
vmware-vum-server.log will report similar error messages:
info vmware-vum-server[10727] [Originator@6876 sub=ServiceProvider] [ImageService 372] Run command: --taskid 52a62f53-1615-5da5-2da0-XXXXXXXXXXXX --threadid 10727 software --validate
info vmware-vum-server[10727] [Originator@6876 sub=ServiceProvider] [EmbeddedPyServiceProvider 1548] Draft validation results: {"info": [], "warnings": [], "errors": [{"id": "com.vmware.vcIntegrity.lifecycle.EsxImage.RemovedComponentNotFound", "message": {"id": "com.vmware.vcIntegrity.lifecycle.EsxImage.RemovedComponentNotFound", "default_message": "Component VMware-VM-Tools:PM_DELETED_BY_USER cannot be removed because it is not found in the image.", "args": ["VMware-VM-Tools:PM_DELETED_BY_USER"]}, "resolution": null, "time": "YYYY-MM-DDTHH:MM:SS378Z"}]}
info vmware-vum-server[10727] [Originator@6876 sub=DraftsManager] [DraftsManager 1224] ValidateHardwareSupportSpec called
info vmware-vum-server[10727] [Originator@6876 sub=DraftsManager] [DraftsManager 1586] Draft validation results: {
--> "errors": [
--> {
--> "id": "com.vmware.vcIntegrity.lifecycle.EsxImage.RemovedComponentNotFound",
--> "message": {
--> "args": [
--> "VMware-VM-Tools:PM_DELETED_BY_USER"
--> ],
--> "default_message": "Component VMware-VM-Tools:PM_DELETED_BY_USER cannot be removed because it is not found in the image.",
--> "id": "com.vmware.vcIntegrity.lifecycle.EsxImage.RemovedComponentNotFound",
--> "localized": null,
--> "params": null
--> },
--> "originator": null,
--> "resolution": null,
--> "retriable": null,
--> "time": "YYYY-MM-DDTHH:MM:SS.378Z",
--> "type": null
--> }
--> ],
--> "info": [],
--> "warnings": []
--> }
VMware vCenter Server 8.X
This issue occurs when the image is initially created with additional components and later the additional component was deleted.
1. Create a "dummy" vSphere Cluster that will be used to define the custom ESXi image with the same version, add-ons and components. Make sure the "Manage all hosts in the cluster with a single image" option is selected which enables vLCM and then choose the "Compose a new image" setting. Specify the same version ESXi base image for the cluster.
Note : During the creation of a vSphere Cluster, you can NOT add additional components or add-ons to ESXi base image, this must be done after.
Create a vSphere Cluster with the vSphere Client
2. Associate the same add-ons and missing additional component shown in the error message to the image.
Click on the vSphere Cluster and navigate to Updates->Hosts->Image and click on the Edit button. Click on the Add Components and select the missing components shown in the error.
3. Export the image into a JSON file by clicking on the "three dots" and then select Export and choose JSON format.
4. Now import the image into the problematic cluster.
5. Validate the image.