The BtrPlace Constraints Catalog
Constraints

Root

Definition

Signature

root(s : set<VM>)

The root constraint forces each running VM in s to not move from its current location. This constraint only restricts the placement of running VMs with regards to a previous placement. As a result, it is not possible to state for the satisfaction of one root constraint before a reconfiguration occurred.

Classification

Usage

The root constraint is mostly used to disallow the relocation of VMs when it is not possible or tolerated. Typically, a running VM may be attached to a peculiar device such as a filesystem or a PCI device on its host. In this setting, the relocation of the VM may not maintain this link and should not be performed for reliability reasons. An application administrator may then use a root constraint on this constraint to prevent from relocation. In addition, an application administrator may disallow the relocation of his VMs to prevent from the temporary performance loss that occur during this action.

Another possible usage is to disallow VMs relocation when the infrastructure or the underlying hypervisor does not support it. In this setting, the datacenter administrator may use a root constraint on all the VMs to disallow their relocation.

Example

Figure 1 depicts a sample reconfiguration between a source and a destination configuration. In this example, the following root constraints were considered:

N1: VM1 VM2

N2: VM3 VM5

?: VM4

arrow

N1: VM1 VM4

N2: VM3 VM2

?: VM5

Figure 1: A reconfiguration motivated by root constraints.

See also

Related Constraints