1. A system for dynamic relocation of virtual machines in a domain, comprising: a domain management module configured to execute on a computer processor, the system configured to: receive a request to add a new hypervisor to a domain, the new hypervisor comprising a singleton architecture description (ARD); and generate a new canonical ARD for the domain, the new canonical ARD comprising an indicator of resources available to one or more virtual machines executing in the domain; wherein a virtual machine executing on any hypervisor in the domain is moved to any other hypervisor in the domain without losing resources, and wherein in response to determining that the new hypervisor has fewer resources than an existing canonical ARD, a variant ARD is created, the variant ARD including all resources of the existing canonical ARD, and the variant ARD is connected to all of the one or more virtual machines previously executing in the domain.