[Pacemaker] 1.1.8 not compatible with 1.1.7?

Andrew Beekhof andrew at beekhof.net
Thu May 9 04:31:20 CEST 2013


On 08/05/2013, at 4:53 PM, Andrew Beekhof <andrew at beekhof.net> wrote:

> 
> On 08/05/2013, at 4:08 PM, Andrew Beekhof <andrew at beekhof.net> wrote:
> 
>> 
>> On 03/05/2013, at 8:46 PM, Rainer Brestan <rainer.brestan at gmx.net> wrote:
>> 
>>> Now i have all the logs for some combinations.
>>> 
>>> Corosync: 1.4.1-7 for all the tests on all nodes
>>> Base is always fresh installation of each node with all packages equal except pacemaker version.
>>> int2node1 node id: 1743917066
>>> int2node2 node id: 1777471498
>>> 
>>> In each ZIP file log from both nodes and the status output of crm_mon and cibadmin -Q is  included.
>>> 
>>> 1.) 1.1.8-4 attaches to running 1.1.7-6 cluster
>>> https://www.dropbox.com/s/06oyrle4ny47uv9/attach_1.1.8-4_to_1.1.7-6.zip
>>> Result: join outstanding
>>> 
>>> 2.) 1.1.9-2 attaches to running 1.1.7-6 cluster
>>> https://www.dropbox.com/s/fv5kcm2yb5jz56z/attach_1.1.9-2_to_1.1.7-6.zip
>>> Result: join outstanding
>> 
>> Neither side is seeing anything from the other, which is very unexpected.
>> I notice you're using the plugin... which acts as a message router.
>> 
>> So I suspect something in there has changed (though I'm at a loss to say what) and that cman based clusters are unaffected.
> 
> Confirmed, cman clusters are unaffected.
> I'm yet to work out what changed in the plugin.

I worked it out...

The Red Hat changelog for 1.1.8-2 originally contained

+- Cman is the only supported membership & quorum provider, do not ship the corosync plugin

When this decision was reversed (when I realised no-one was seeing the ERROR logs indicating it was going away), I neglected to re-instate the following distro specific patch (which avoided conflicts between the ID used by CMAN and Pacemaker):

diff --git a/configure.ac b/configure.ac
index a3784d5..dafa9e2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1133,7 +1133,7 @@ AC_MSG_CHECKING(for native corosync)
 COROSYNC_LIBS=""
 CS_USES_LIBQB=0
 
-PCMK_SERVICE_ID=9
+PCMK_SERVICE_ID=10
 LCRSODIR="$libdir"
 
 if test $SUPPORT_CS = no; then


So Pacemaker < 6.4 is talking on slot 10, while Pacemaker == 6.4 is using slot 9.
This is why the two versions cannot see each other :-(
I'm very sorry.




More information about the Pacemaker mailing list