Abstract:
Techniques are described for placing virtual machines (VM) on computer hosts. In one embodiment, a user may compose a constraint specification document which includes VM and host properties and how they are retrieved, as well as constraint predicates that define valid VM placements on hosts. Use of the constraint specification document permits new constraints, including constraints that involve new properties, to be handled without requiring changing the underlying code for collecting required input data and processing said data to determine whether placement constraints are satisfied. Instead, based on the constraint specification document, a resource scheduler or high availability module may program a programmable data collector to fetch the needed properties from the appropriate places. Then, the resource scheduler or high availability module may parse the constraint predicates, evaluate potential placements to determine whether the constraint predicates are satisfied, and place VMs according to placements that satisfy the constraint predicates.
Abstract:
Embodiments maintain high availability of software application instances in a fault domain. Subordinate hosts are monitored by a master host. The subordinate hosts publish heartbeats via a network and datastores. Based at least in part on the published heartbeats, the master host determines the status of each subordinate host, distinguishing between subordinate hosts that are entirely inoperative and subordinate hosts that are operative but partitioned (e.g., unreachable via the network). The master host may restart software application instances, such as virtual machines, that are executed by inoperative subordinate hosts or that cease executing on partitioned subordinate hosts.
Abstract:
Methods and systems to reconfigure clusters in elastic multi-tenant cloud computing system. An example method includes partitioning a first resource reservation of a first virtual data center between a first cluster and a second cluster and partitioning a second resource reservation of a second virtual data center between the first cluster and the second cluster, and based on the partitioning of the first resource reservation and the second resource reservation, collectively adjusting a first portion of the first resource reservation allotted to the first cluster and a second portion of the second resource reservation allotted to the first cluster in a same reconfiguration operation.