[Pacemaker] CIB verification failure with any change via crmsh
Dejan Muhamedagic
dejanmm at fastmail.fm
Wed Jan 23 17:52:20 UTC 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