Resource Sets ************* A resource set is a group of resources of the same family (ip, disk, share, fs, app; task, sync). A default resource set per family is implicitely created. These default resource sets start their resources serially. A resource can join a custom resourceset by setting :kw:``subset`` to the name of a custom resource set. For example a disk resource setting ``subset = g1`` joins the resource to a subset named ``subset#disk:g1``. Administrator may want to configure resource sets for the following reasons: * Alter the default resources ordering * Define a group of resources to start and stop in parallel instead of serially * Apply machine resources capping to a group of resources Resource Sets and Subsets Names =============================== The same subset name can be set for resources of different driver families. The resulting resource sets name do not conflict, being formatted as ``subset#:``. Example:: [disk#01] subset = g1 ... [fs#01] subset = g1 ... [subset#disk:g1] ... [subset#fs:g1] ... Ordering ======== Resource Sets Ordering ---------------------- On ascending actions, the resources are strictly activated in this order: * ip * sync resources that handle disks: netapp, dcsckpt, nexenta, symclone, symsnap, symsrdfs, hp3par, ibmdssnap * disk * fs * share * container * app When custom resource sets are defined in a driver family, those are ordered with a alphanumeric sort of the resource sets names. Resources Ordering ------------------ All resources families resource sets, except the ``fs`` resource sets, order their resources with a alphanumeric sort of the resource ids, * Ascending on start, provision, run and sync actions * Descending on stop, unprovision and shutdown actions The ``fs`` resource sets sort their resources by mount point, so filesystems are always mounted from shallowest to deepest. For filesystems mounted in the same parent directory, the ordering falls back to the usual alphanumeric sort on resource id. This policy avoids administrator causing resource ordering errors due to the fs resources id choices. Serial or parallel actions ========================== A resource set can be configured for parallel execution of actions on its resources with:: [subset#disk:g1] parallel = true Capping ======= Resource caps can be set at the resource set level using the same syntax than at the resource level:: [subset#app:g1] pg_cpu_quota = -1 pg_cpus = 1-2 pg_mem_limit = 400MB pg_mem_oom_control = 1