[Pacemaker] Finally. A REAL question.

Andrew Beekhof andrew at beekhof.net
Mon Nov 18 23:09:28 EST 2013


On 19 Nov 2013, at 2:50 pm, Rob Thomas <xrobau at gmail.com> wrote:

> >>> On 19 Nov 2013, at 6:00 am, Rob Thomas <xrobau at gmail.com> wrote:
> >>>> So... What's the -right- way to do it then? 8)
> >>>
> >>>      <rsc_colocation id="pcs_rsc_colocation">
> >>>        <resource_set id="pcs_rsc_set">
> >>>          <resource_ref id="httpd"/>
> >>>          <resource_ref id="asterisk"/>
> >>>        </resource_set>
> >>>      </rsc_colocation>
> 
> ... 
> 
> >> I'll have a try with the setoptions and see if that works. Thanks!
> 
> Without adding the ms resource, it won't fail the other service over completely.
> 
> This works (which is a LITTLE bit more pleasing to the eyes, hopefully! I even set the font to monospace!)
> 
> <rsc_colocation id="pcs_rsc_colocation" score="INFINITY">
>   <resource_set id="pcs_rsc_set-1">
>     <resource_ref id="httpd"/>
>     <resource_ref id="asterisk"/>
>   </resource_set>
>   <resource_set id="pcs_rsc_set-2" role="Master">
>      <resource_ref id="ms-asterisk"/>
>      <resource_ref id="ms-httpd"/>
>   </resource_set>
> </rsc_colocation>
> 
> I'm still pretty sure you can't do that through pcs. 

The docs suggest this should work, but it seems not to:

   pcs constraint colocation set httpd asterisk set ms-asterisk ms-httpd setoptions role=Master score=INFINITY 

Chris: the command 'pcs constraint colocation set httpd asterisk setoptions role=Master' creates:

  <rsc_colocation id="pcs_rsc_colocation" role="Master">
     <resource_set id="pcs_rsc_set">
        <resource_ref id="httpd" />
        <resource_ref id="asterisk" />
     </resource_set>
  </rsc_colocation>

However role belongs with the resource_set.

> 
> And the reason why (I believe) I need them, to go into a bit more depth - (sorry for everyone else who's getting bored with this incredibly arcane and in-depth discussion, that has degenerated into pasting XML snippets everywhere) here's the relevant associated constraints:
> 
> <rsc_colocation id="c-1" rsc="asterisk_fs" score="INFINITY" with-rsc="ms-asterisk" with-rsc-role="Master"/>
> <rsc_order first="ms-asterisk" first-action="promote" id="o-1" score="INFINITY" then="asterisk_fs" then-action="start"/>
> <rsc_colocation id="c-2" rsc="httpd_fs" score="INFINITY" with-rsc="ms-httpd" with-rsc-role="Master"/>
> <rsc_order first="ms-httpd" first-action="promote" id="o-2" score="INFINITY" then="httpd_fs" then-action="start"/>
> 
> (id's changed to aid reading) 
> 
> Without pcs_rsc_set-2 before failing:
> 
>  Master/Slave Set: ms-asterisk [drbd_asterisk]
>      Masters: [ freepbx-a ]
>      Slaves: [ freepbx-b ]
>  Master/Slave Set: ms-httpd [drbd_httpd]
>      Masters: [ freepbx-a ]
>      Slaves: [ freepbx-b ]
>  Resource Group: httpd
>      httpd_fs   (ocf::heartbeat:Filesystem):    Started freepbx-a
>      httpd_ip   (ocf::heartbeat:IPaddr2):       Started freepbx-a
>      httpd_service      (ocf::heartbeat:apache):        Started freepbx-a
>  Resource Group: asterisk
>      asterisk_fs        (ocf::heartbeat:Filesystem):    Started freepbx-a
>      asterisk_ip        (ocf::heartbeat:IPaddr2):       Started freepbx-a
>      asterisk_service   (ocf::heartbeat:freepbx):       Started freepbx-a
>      isymphony_service  (lsb:iSymphonyServer):  Started freepbx-a
> 
> AFTER failing:
> 
>  Master/Slave Set: ms-asterisk [drbd_asterisk]
>      Masters: [ freepbx-a ]  <---------- THIS IS WRONG
>      Slaves: [ freepbx-b ]
>  Master/Slave Set: ms-httpd [drbd_httpd]
>      Masters: [ freepbx-b ]
>      Slaves: [ freepbx-a ]
>  Resource Group: asterisk
>      asterisk_fs        (ocf::heartbeat:Filesystem):    Stopped
>      asterisk_ip        (ocf::heartbeat:IPaddr2):       Stopped
>      asterisk_service   (ocf::heartbeat:freepbx):       Stopped
>      isymphony_service  (lsb:iSymphonyServer):  Stopped
>  Resource Group: httpd
>      httpd_fs   (ocf::heartbeat:Filesystem):    Started freepbx-b
>      httpd_ip   (ocf::heartbeat:IPaddr2):       Started freepbx-b
>      httpd_service      (ocf::heartbeat:apache):        Started freepbx-b
> 
> The asterisk group isn't starting because - obviously - it's not the master for ms-asterisk.  So the constraint worked, BUT, because I don't have the resource in there, I can't tell it to shut down.
> 
> My other idea was having the ms- ordering start the group, but that doesn't work either. 
> 
> --Rob
> _______________________________________________
> Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
> 
> Project Home: http://www.clusterlabs.org
> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://bugs.clusterlabs.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 841 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <https://lists.clusterlabs.org/pipermail/pacemaker/attachments/20131119/08a7e03d/attachment-0003.sig>


More information about the Pacemaker mailing list