[Pacemaker] CIB verification failure with any change via crmsh

Jacek Konieczny jajcus at jajcus.net
Wed Jan 23 10:31:20 EST 2013


Hi,

I have recently upgraded Pacemaker on one of my clusters from
1.0.something to 1.1.8 and installed crmsh to manage it as I used to.

crmsh mostly works for me, until I try to change the configuration with
'crm configure'. Any, even trivial change shows verification errors and
fails to commit:

> crm(live)configure# commit
> element instance_attributes: Relax-NG validity error : Expecting an element nvpair, got nothing
> element node: Relax-NG validity error : Expecting an element instance_attributes, got nothing
> element node: Relax-NG validity error : Element nodes has extra content: node
> element configuration: Relax-NG validity error : Invalid sequence in interleave
> element instance_attributes: Relax-NG validity error : Element node failed to validate attributes
> element cib: Relax-NG validity error : Element cib failed to validate content
>    error: main: 	CIB did not pass DTD/schema validation
> Errors found during check: config not valid
>   -V may provide more details
> Do you still want to commit? no

It seems as crmsh fails to parse current configuration properly, as:

crm configure save xml /tmp/saved.xml ; crm_verify -V --xml-file /tmp/saved.xml

fails the same way:

> /tmp/saved.xml:19: element instance_attributes: Relax-NG validity error : Expecting an element nvpair, got nothing
> /tmp/saved.xml:18: element node: Relax-NG validity error : Expecting an element instance_attributes, got nothing
> /tmp/saved.xml:18: element node: Relax-NG validity error : Element nodes has extra content: node
> /tmp/saved.xml:3: element configuration: Relax-NG validity error : Invalid sequence in interleave
> /tmp/saved.xml:19: element instance_attributes: Relax-NG validity error : Element node failed to validate attributes
> /tmp/saved.xml:2: element cib: Relax-NG validity error : Element cib failed to validate content
>    error: main: 	CIB did not pass DTD/schema validation
> Errors found during check: config not valid
>   -V may provide more details


But:

cibadmin -Q > /tmp/good.xml ; crm_verify --xml-file 

shows no error.

Any ideas?

Looking into the 'invalid' XML file gives me no hints, as the line
18 is the first <node/> in:

    <nodes>
      <node id="35956928" uname="sipc2n2">
        <instance_attributes id="nodes-35956928">
          <nvpair id="nodes-35956928-standby" name="standby" value="off"/>
        </instance_attributes>
      </node>
      <node id="19179712" uname="sipc2n1">
        <instance_attributes id="nodes-19179712">
          <nvpair id="nodes-19179712-standby" name="standby" value="off"/>
        </instance_attributes>
      </node>
    </nodes>

which looks quite right too me.

Oh… now I see the difference with the current cib. The <node/> elements miss
the type="normal" attribute. After adding those to the crmsh-generated XML
everything works. Then it is a crmsh bug, right?

And the errors reported by crm_verify are very misleading.

Greets,
    Jacek




More information about the Pacemaker mailing list