Oh wrong thread, just ignore .<div id="yMail_cursorElementTracker_1620730510043"><br></div><div id="yMail_cursorElementTracker_1620730510201">Best Regards<br> <br> <blockquote style="margin: 0 0 20px 0;"> <div style="font-family:Roboto, sans-serif; color:#6D00F6;"> <div>On Tue, May 11, 2021 at 13:54, Strahil Nikolov</div><div><hunter86_bg@yahoo.com> wrote:</div> </div> <div style="padding: 10px 0 0 20px; margin: 10px 0 0 0; border-left: 1px solid #6D00F6;"> <div id="yiv4681767983"><div>Here is the example I had promised:<div id="yiv4681767983yMail_cursorElementTracker_1620730068266"><br clear="none"></div><div id="yiv4681767983yMail_cursorElementTracker_1620730068385">pcs node attribute server1 city=LA</div><div id="yiv4681767983yMail_cursorElementTracker_1620730092714">pcs node attribute server2 city=NY</div><div id="yiv4681767983yMail_cursorElementTracker_1620730107633"><br clear="none"></div><div id="yiv4681767983yMail_cursorElementTracker_1620730217312"># Don't run on any node that is not in LA</div><div id="yiv4681767983yMail_cursorElementTracker_1620730162714">pcs constraint location DummyRes1 rule score=-INFINITY city ne LA<br clear="none"> <br clear="none">#Don't run on any node that is not in NY</div><div id="yiv4681767983yMail_cursorElementTracker_1620730245634">pcs constraint location DummyRes2 rule score=-INFINITY city ne NY</div><div id="yiv4681767983yMail_cursorElementTracker_1620730289159"><br clear="none"></div><div id="yiv4681767983yMail_cursorElementTracker_1620730289332">The idea is that if you add a node and you forget to specify the attribute with the name 'city' , DummyRes1 & DummyRes2 won't be started on it.</div><div id="yiv4681767983yMail_cursorElementTracker_1620730361321"><br clear="none"></div><div id="yiv4681767983yMail_cursorElementTracker_1620730361483"><br clear="none"></div><div id="yiv4681767983yMail_cursorElementTracker_1620730361667">For resources that do not have a constraint based on the city -> they will run everywhere unless you specify a colocation constraint between the resources.</div><div id="yiv4681767983yMail_cursorElementTracker_1620730410065"><br clear="none"></div><div id="yiv4681767983yMail_cursorElementTracker_1620730410257">Best Regards,</div><div id="yiv4681767983yMail_cursorElementTracker_1620730413472">Strahil Nikolov</div><div id="yiv4681767983yMail_cursorElementTracker_1620730400659"><br clear="none"></div><div id="yiv4681767983yMail_cursorElementTracker_1620730400886"><br clear="none"></div><div class="yiv4681767983yqt6838140317" id="yiv4681767983yqt99278"><div id="yiv4681767983yMail_cursorElementTracker_1620730401077"><br clear="none"> <blockquote style="margin:0 0 20px 0;"> <div style="font-family:Roboto, sans-serif;color:#6D00F6;"> <div>On Tue, May 11, 2021 at 9:15, Klaus Wenninger</div><div><kwenning@redhat.com> wrote:</div> </div> <div style="padding:10px 0 0 20px;margin:10px 0 0 0;border-left:1px solid #6D00F6;"> <div dir="ltr">On 5/10/21 7:16 PM, lejeczek wrote:<br clear="none"></div><div dir="ltr">><br clear="none"></div><div dir="ltr">><br clear="none"></div><div dir="ltr">> On 10/05/2021 17:04, Andrei Borzenkov wrote:<br clear="none"></div><div dir="ltr">>> On 10.05.2021 16:48, lejeczek wrote:<br clear="none"></div><div dir="ltr">>>> Hi guys<br clear="none"></div><div dir="ltr">>>><br clear="none"></div><div dir="ltr">>>> Before I begin my adventure with this I though I would ask experts if<br clear="none"></div><div dir="ltr">>>> something like below is possible.<br clear="none"></div><div dir="ltr">>>><br clear="none"></div><div dir="ltr">>>> resourceA if started on nodeA, then nodes B & C start resourceB (or<br clear="none"></div><div dir="ltr">>>> recourceC)<br clear="none"></div><div dir="ltr">>>><br clear="none"></div><div dir="ltr">>> Configure colocation with negative score between resourceB and<br clear="none"></div><div dir="ltr">>> resourceA, so resourceB will be started on different node.<br clear="none"></div><div dir="ltr">>><br clear="none"></div><div dir="ltr">>>> whether to start resource B or C on two nodes (might thing of it as<br clear="none"></div><div dir="ltr">>>> master node + two slaves) depend on which node resourceA got started.<br clear="none"></div><div dir="ltr">>>><br clear="none"></div><div dir="ltr">>>> eg.<br clear="none"></div><div dir="ltr">>>> if nodeA runs rMaster -> nodeB, nodeC run rToA<br clear="none"></div><div dir="ltr">>>> if nodeB runs rMaster -> nodeA, nodeC run rToB<br clear="none"></div><div dir="ltr">>>> if nodeC runs rMaster -> nodeA, nodeB run rToC<br clear="none"></div><div dir="ltr">>>><br clear="none"></div><div dir="ltr">>>> any light shedding or idea sharing are much welcomed.<br clear="none"></div><div dir="ltr">>>> many thanks, L.<br clear="none"></div><div dir="ltr">>>> _______________________________________________<br clear="none"></div><div dir="ltr">>>> Manage your subscription:<br clear="none"></div><div dir="ltr">>>> <a rel="nofollow noopener noreferrer" shape="rect" target="_blank" href="https://lists.clusterlabs.org/mailman/listinfo/users">https://lists.clusterlabs.org/mailman/listinfo/users</a><br clear="none"></div><div dir="ltr">>>><br clear="none"></div><div dir="ltr">>>> ClusterLabs home: <a rel="nofollow noopener noreferrer" shape="rect" target="_blank" href="https://www.clusterlabs.org/">https://www.clusterlabs.org/</a><br clear="none"></div><div dir="ltr">>> _______________________________________________<br clear="none"></div><div dir="ltr">>> Manage your subscription:<br clear="none"></div><div dir="ltr">>> <a rel="nofollow noopener noreferrer" shape="rect" target="_blank" href="https://lists.clusterlabs.org/mailman/listinfo/users">https://lists.clusterlabs.org/mailman/listinfo/users</a><br clear="none"></div><div dir="ltr">>><br clear="none"></div><div dir="ltr">>> ClusterLabs home: <a rel="nofollow noopener noreferrer" shape="rect" target="_blank" href="https://www.clusterlabs.org/">https://www.clusterlabs.org/</a><br clear="none"></div><div dir="ltr">> perhaps I did not do best explaining, I'll try again<br clear="none"></div><div dir="ltr">><br clear="none"></div><div dir="ltr">> if nodeA runs rMaster -> nodeB, nodeC run rToA (meaning..<br clear="none"></div><div dir="ltr">> a) no r{ToA,ToB,ToC} allowed on the node if "rMaster" runs on that <br clear="none"></div><div dir="ltr">> node, this case nodeA,<br clear="none"></div><div dir="ltr">> b) if it's nodeA cluster chose to run "rMaster" on, then only "rToA" <br clear="none"></div><div dir="ltr">> is allowed to run on nodeB & nodeC<br clear="none"></div><div dir="ltr">> c) a&b applies across to nodeB,C respectively<br clear="none"></div><div dir="ltr">><br clear="none"></div><div dir="ltr">> I'm starting with "rMaster" and other three resources as clones but I <br clear="none"></div><div dir="ltr">> fail to see how to make it work.<br clear="none"></div><div dir="ltr">Not sure if there is an easy way to get that working directly.<br clear="none"></div><div dir="ltr">An anti-colocation as already suggested is probably a good idea.<br clear="none"></div><div dir="ltr">A resource that sets an attribute to select which clone to start<br clear="none"></div><div dir="ltr">could do the rest - with location-constraints using that attribute.<br clear="none"></div><div dir="ltr"><br clear="none"></div><div dir="ltr">Without knowing more about your resources it is hard to<br clear="none"></div><div dir="ltr">tell if there would be a more elegant way to solve your<br clear="none"></div><div dir="ltr">problem.<br clear="none"></div><div dir="ltr"><br clear="none"></div><div dir="ltr">If it is mainly about IP communication of the slaves with the<br clear="none"></div><div dir="ltr">master (we btw. removed that wording from pacemaker as<br clear="none"></div><div dir="ltr">considered offensive) you could have a floating IP-address that is<br clear="none"></div><div dir="ltr">moved with the master (or more precisely rather the other<br clear="none"></div><div dir="ltr">way round) and your slaves would connect with that IP without<br clear="none"></div><div dir="ltr">really having to know who the master is.<br clear="none"></div><div dir="ltr"><br clear="none"></div><div dir="ltr">If the logic is more complex and you anyway already have<br clear="none"></div><div dir="ltr">a custom resource agent it might be worth thinking of a<br clear="none"></div><div dir="ltr">promotable clone that runs the master<br clear="none"></div><div dir="ltr">in it's promoted state and the slave in it's demoted state<br clear="none"></div><div dir="ltr">with the logic moved into a resource agent.<br clear="none"></div><div dir="ltr"><br clear="none"></div><div dir="ltr">Klaus<br clear="none"></div><div dir="ltr">><br clear="none"></div><div dir="ltr">> _______________________________________________<br clear="none"></div><div dir="ltr">> Manage your subscription:<br clear="none"></div><div dir="ltr">> <a rel="nofollow noopener noreferrer" shape="rect" target="_blank" href="https://lists.clusterlabs.org/mailman/listinfo/users">https://lists.clusterlabs.org/mailman/listinfo/users</a><br clear="none"></div><div dir="ltr">><br clear="none"></div><div dir="ltr">> ClusterLabs home: <a rel="nofollow noopener noreferrer" shape="rect" target="_blank" href="https://www.clusterlabs.org/">https://www.clusterlabs.org/</a><br clear="none"></div><div dir="ltr">><br clear="none"></div><div dir="ltr"><br clear="none"></div><div dir="ltr">_______________________________________________<br clear="none"></div><div dir="ltr">Manage your subscription:<br clear="none"></div><div dir="ltr"><a rel="nofollow noopener noreferrer" shape="rect" target="_blank" href="https://lists.clusterlabs.org/mailman/listinfo/users">https://lists.clusterlabs.org/mailman/listinfo/users</a><br clear="none"></div><div dir="ltr"><br clear="none"></div><div dir="ltr">ClusterLabs home: <a rel="nofollow noopener noreferrer" shape="rect" target="_blank" href="https://www.clusterlabs.org/">https://www.clusterlabs.org/</a><br clear="none"></div> </div> </blockquote></div></div></div></div> </div> </blockquote></div>