<constraints>
<rsc_colocation id="coloc-1" rsc="B" with-rsc="A" score="INFINITY"/>
<rsc_colocation id="coloc-2" rsc="C" with-rsc="B" score="INFINITY"/>
<rsc_colocation id="coloc-3" rsc="D" with-rsc="C" score="INFINITY"/>
</constraints>
<constraints>
<rsc_colocation id="coloc-1" score="INFINITY" >
<resource_set id="collocated-set-example" sequential="true">
<resource_ref id="A"/>
<resource_ref id="B"/>
<resource_ref id="C"/>
<resource_ref id="D"/>
</resource_set>
</rsc_colocation>
</constraints>
<group id="dummy">
<primitive id="A" .../>
<primitive id="B" .../>
<primitive id="C" .../>
<primitive id="D" .../>
</group>
<constraints>
<rsc_colocation id="coloc-1" score="INFINITY" >
<resource_set id="collocated-set-1" sequential="false">
<resource_ref id="A"/>
<resource_ref id="B"/>
<resource_ref id="C"/>
</resource_set>
<resource_set id="collocated-set-2" sequential="true">
<resource_ref id="D"/>
</resource_set>
</rsc_colocation>
</constraints>
sequential="true", then in order for member M to be active, member M+1 must also be active. You can even specify the role in which the members of a set must be in using the set's role attribute.
<constraints>
<rsc_colocation id="coloc-1" score="INFINITY" >
<resource_set id="collocated-set-1" sequential="true">
<resource_ref id="A"/>
<resource_ref id="B"/>
</resource_set>
<resource_set id="collocated-set-2" sequential="false">
<resource_ref id="C"/>
<resource_ref id="D"/>
<resource_ref id="E"/>
</resource_set>
<resource_set id="collocated-set-2" sequential="true" role="Master">
<resource_ref id="F"/>
<resource_ref id="G"/>
</resource_set>
</rsc_colocation>
</constraints>
