[Pacemaker] CIB verification failure with any change via crmsh

Dejan Muhamedagic dejanmm at fastmail.fm
Wed Jan 23 12:52:20 EST 2013


Hi,

On Wed, Jan 23, 2013 at 04:31:20PM +0100, Jacek Konieczny wrote:
> 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">

Note sure if id can start with a digit.

>         <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?

This should really work with versions >= v1.2.4
Which schema do you validate against? Look for the validate-with
attribute of the cib element. Does that schema support optional
type attribute?

Thanks,

Dejan

> And the errors reported by crm_verify are very misleading.
> 
> Greets,
>     Jacek
> 
> _______________________________________________
> 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




More information about the Pacemaker mailing list