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#<driver family>:<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