[Pacemaker] [Ocfs2-users] Error building ocfs2-tools

Tim Serong tserong at suse.com
Thu Nov 3 03:49:26 UTC 2011


Hi Nick,

It might not be obvious, but IMO this probably belongs back on the 
Pacemaker list (CC'd).

On 11/03/2011 02:40 AM, Nick Khamis wrote:
> Hello Sunil and Tim,
>
> Thank you so much for your responses. I have applied the patch, and
> recompiled ocfs2-tools. When spinning
> the pcmk stack, I am recieving the following error from ocfs_conrtold.pcmk
>
> ocfs2_controld[14698]: 2011/11/02_11:32:19 ERROR: crm_abort:
> send_ais_text: Triggered assert at ais.c:346 : dest != crm_msg_ais
> Sending message 0 via cpg: FAILED (rc=22): Message error: Success (0)
> ocfs2_controld[14698]: 2011/11/02_11:32:19 ERROR: send_ais_text:
> Sending message 0 via cpg: FAILED (rc=22): Message error: Success (0)
> ocfs2_controld[14698]: 2011/11/02_11:32:19 ERROR: crm_abort:
> send_ais_text: Triggered assert at ais.c:346 : dest != crm_msg_ais
> Sending message 1 via cpg: FAILED (rc=22): Message error: Success (0)
> ocfs2_controld[14698]: 2011/11/02_11:32:19 ERROR: send_ais_text:
> Sending message 1 via cpg: FAILED (rc=22): Message error: Success (0)
> 1320247939 setup_stack at 170: Cluster connection established.  Local node id: 1
> 1320247939 setup_stack at 174: Added Pacemaker as client 1 with fd -1

When in doubt, use the source...

ocfs2-tools' ocfs2_controld/pacemaker.c:165[1] says:

   send_ais_text(crm_class_notify, "true", TRUE, NULL, crm_msg_ais);

pacemaker's lib/common/ais.c:327[2] says:

   switch(cluster_type) {
     case pcmk_cluster_classic_ais:
       ...
       break;
     case pcmk_cluster_corosync:
     case pcmk_cluster_cman:
       transport = "cpg";
       CRM_CHECK(dest != crm_msg_ais, rc = CS_ERR_MESSAGE_ERROR;
         goto bail);

So you're hitting that assert, because Pacemaker sees "cluster_type" as 
either "pcmk_cluster_corosync" or "pcmk_cluster_cman".

If Pacemaker saw cluster_type as "pcmk_cluster_classic_ais", it would 
work fine.

 From memory, you're running Pacemaker under CMAN, somehow. 
Unfortunately I have no idea what you need to do to reconfigure it so 
that ocfs2_controld works, or even if it will work in that environment, 
but the above code is the source of your trouble.

Regards,

Tim

[1] 
http://oss.oracle.com/git/?p=ocfs2-tools.git;a=blob;f=ocfs2_controld/pacemaker.c;h=822cf41c4c64cd3e5cb4373c339c2e575c4a5efd;hb=d45856e4a75348c1e3b44dc510c6b7f07b88a36f#l165
[2] 
http://hg.clusterlabs.org/pacemaker/1.1/file/9971ebba4494/lib/common/ais.c#l327 
but note ais.c moved to corosync.c in newer source tree on github

-- 
Tim Serong
Senior Clustering Engineer
SUSE
tserong at suse.com




More information about the Pacemaker mailing list