When you use the Check Compliance button, a virtual machine object does not change its status from Not Compliant to Compliant even though Virtual SAN resources have become available and satisfy the virtual machine profile.
When you use a force provisioning option, you can provision a virtual machine object even when the policy specified in the virtual machine profile is not satisfiable with the resources currently available in the Virtual SAN cluster. The object is created, but remains in the non-compliant status.
Virtual SAN is expected to bring the object into compliance when storage resources in the cluster become available, for example, when you add a host. However, the object's status does not change to compliant immediately after you add resources.
This occurs because Virtual SAN regulates the pace of the reconfiguration to avoid overloading the system. The amount of time it takes for compliance to be achieved depends on the number of objects in the cluster, the IO load on the cluster and the size of the object in question. In most cases, compliance will be achieved within the reasonable time.