1. A method for constructing a cluster from a plurality of hosts, each host designed to support one or more virtual machines, the method comprising: (a) identifying a plurality of features for the cluster, the plurality of features defining requirements that must be satisfied by hosts to be part of the cluster; (b) identifying hosts to be part of the cluster; (c) executing a compatibility analysis for each of the identified hosts, the compatibility analysis includes matching resources available at each of the identified hosts with the requirements of the identified features; (d) presenting a plurality of suggested adjustments to particular hosts to enable the particular hosts to be compatible with the requirements; (e) constructing a configuration template for the hosts that are compatible with the requirements, the hosts being part of the cluster, the configuration template providing configuration settings for the hosts in the cluster; and (f) configuring the hosts for the cluster using the configuration settings in the configuration template.