1. A method in a virtual machine infrastructure comprising: storing, by a computer, capability information of data devices in the virtual machine infrastructure, wherein the capability information includes capability topology that specifies connection of data devices in terms of the capabilities that they can provide; provisioning, by the computer, one or more virtual machines, including identifying data devices for each virtual machine based on the identified data devices have stored capability information that is compliant with provision policies associated with each of virtual machine; wherein the provision policies associated with each of the virtual machines define VM service requirements that an application running on a VM may require; responding, by the computer, to I/O requests made by the one or more virtual machines, including sending I/O commands to respective data devices of the one or more virtual machines, wherein each I/O command includes a service requirement; receiving and storing, by the computer, error messages from one or more data devices in response to I/O commands received by the one or more data devices, wherein the error messages indicate the corresponding data devices have failed to comply with the corresponding VM service requirements; updating, by the computer, the corresponding stored capability information of the corresponding data devices with capability updates that are determined to be triggered from the stored error messages; updating, by the computer, capability topology of the virtual machine infrastructure to reflect the updated capabilities of the corresponding data devices; and performing a migration of affected virtual machines from a first host in the virtual machine infrastructure to a second host in another virtual machine infrastructure or a migration of storage of affected virtual machines from a first storage device in the virtual machine infrastructure to a second storage device in another virtual machine infrastructure, wherein the affected virtual machines are existing virtual machines from the one or more virtual machine in the virtual machine infrastructure that were provisioned with the corresponding data devices have updated capability information and none of the data devices in the virtual machine infrastructure after performing capability updates has capability information that is compliant with provision policies associated with the affected virtual machines.