It seems to me like this would be a fairly common scenario, but the fact that there are no replies makes me think I'm trying to set this whole thing up incorrectly.  Am I not doing this the "normal" way? or is it just not as common as I would expect?....or is this whole thing just a stupid newbie question? :)<div>
<br><div><br><div class="gmail_quote">On Fri, Aug 26, 2011 at 5:07 PM, Chris Redekop <span dir="ltr"><<a href="mailto:chris@replicon.com">chris@replicon.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="gmail_quote"><div class="im">I'm attempting to set up a master/slave database cluster where the master is R/W and the slave is R/O.  The master failure scenario works fine (slave becomes master, master vip moves over)....however when the slave resource goes down I want the slave vip to move to the master and then move back when the slave comes back up...I can't seem to get this to work properly.  Here's my test config I'm playing with:<div>


<br></div><div><div>primitive postgresql ocf:custom:pgsql \</div><div>        op monitor interval="30" timeout="30" depth="0"</div><div>primitive primaryip ocf:heartbeat:IPaddr2 \</div><div>

        params ip="10.0.100.102"</div>
<div>primitive slaveip ocf:heartbeat:IPaddr2 \</div><div>        params ip="10.0.100.103"</div><div>ms ms_postgresql postgresql \</div><div>        meta clone-max="2" clone-node-max="1" master-max="1" master-node-max="1" notify="true" target-role="Started"</div>


<div>colocation postgres_on_primaryip inf: primaryip ms_postgresql:Master</div><div>colocation slaveip_on_master 101: slaveip ms_postgresql:Master</div><div>colocation slaveip_on_slave 1000: slaveip ms_postgresql:Slave</div>


<div>property $id="cib-bootstrap-options" \</div><div>        dc-version="1.0.11-1554a83db0d3c3e546cfd3aaff6af1184f79ee87" \</div><div>        cluster-infrastructure="openais" \</div><div>        expected-quorum-votes="2" \</div>


<div>        stonith-enabled="false" \</div><div>        no-quorum-policy="ignore" \</div><div>        last-lrm-refresh="1314201732"</div><div>rsc_defaults $id="rsc-options" \</div>


<div>        resource-stickiness="100"</div></div><div><br></div></div><div>With the configuration like this it looks pretty straight forward but it actually results in the slaveip not being run on *either* node.  As far as I can figure out it seems when you have a colocation to a specific role it implicitly generates a -inf record for the other role.  So the :Master generates a -inf for :Slave, and :Slave generates a -inf for :Master, and since slaveip has a colocation record for both they get added together resulting in a -inf score for both nodes...if I wasn't so new at this I would think that is a bug.  If I key the ip off the node's up/down status (like via 'colocation whatever -101: slaveip primaryip') then it works if I standby the slave node but of course it doesn't work if the resource fails while the node stays up.  Can anyone shed some light on how to make this work properly?  Thanks!</div>


</div><br>
</blockquote></div><br></div></div>