Thanks for the help Junko and Andrew.

Unfortunately for me, I had only planned a weekend for the upgrade and struggled for half 
of that weekend trying to get an error free cluster running on Heartbeat 2.99.x and 
Pacemaker 1.x without success (I obviously wasn't prepared!) and thus ended up reverting 
back to Heartbeat 2.1.4 (although I had been running 2.1.3 before). I did like your 
"crm" command line tool in Pacemaker, Andrew. Too bad I don't get to use it yet 
:(

I'll plan another time for the upgrade and perhaps give the rolling upgrade a 
shot.

I hate to say it, but I am also somewhat dependent on the GUI and that not working at all 
for me in Pacemaker 1.x was another thing that really forced me to revert. While I can 
figure out most of the XML and I understand how to use the cibadmin and crm_resource 
tools to insert, delete, replace and update XML snippets, I am still much more capable of 
quickly creating cluster configs using the GUI and then grabbing the chunks of XML it 
created and using those as "templates" which I edit by hand and then insert 
into the CIB using cibadmin.

Next time, I'll try to be better prepared and hopefully I'll get it up and 
running.

Thanks again,

--Ryan Thomson

Andrew Beekhof wrote:
On Tue, Oct 28, 2008 at 09:35, Junko IKEDA <[EMAIL PROTECTED]> wrote:
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Alex Strachan
Sent: Monday, October 27, 2008 10:31 AM
To: 'General Linux-HA mailing list'
Subject: RE: [Linux-HA] Updated from 2.1.3 to 2.99.x w/ Pacemaker 1.x and
CIBno
longer conforms to DTD

See
http://www.clusterlabs.org/wiki/images/f/fb/Configuration_Explained.pdf
I have also referred this document and my configuration for Heartbeat 2.1.4
could be converted with the following way.
(If you try this, you have to stop Heartbeat for all nodes.)

# service heartbeat stop
# xsltproc upgrade06.xsl cib-hb.xml > cib-pm.xml

cib-hb.xml is the file which you can find at /var/lib/heartbeat/crm/cib.xml.
cib-pm.xml is the new configuration for Pacemaker.
upgrade06.xsl is included in Pacemeker's source.
or here;
http://hg.clusterlabs.org/pacemaker/dev/file/5fb0259d7024/xml/

after conversion, you can start Heartbeat.
# service heartbeat start
# cibadmin -U -x cib-pm.xml

That should be -R btw.  Unless you deleted the original cib.xml

But anyway, you don't need to do all this... simply leave the original
cib.xml in place and pacemaker will be able to use it (even though its
in the old syntax).
In particular, this allows you to do rolling upgrades from 0.6 to 1.0

Then just run:
    cibadmin --upgrade
once the whole cluster has 1.0 (and at least one node is up)


I can run the new configuration using OpenAIS(0.8) and Pacemaker(1.0) from
open suse build service.
By the way, my platform is Red Hat ES 5.1.
useful?

Thanks,
Junko

I have just installed the same revisions as you and I found the above
document very useful.

The Appendix - Upgrading Cluster Software should help.



-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Ryan Thomson
Sent: Saturday, 25 October 2008 2:18 PM
To: General Linux-HA mailing list
Subject: [Linux-HA] Updated from 2.1.3 to 2.99.x w/ Pacemaker 1.x and CIB
no
longer conforms to DTD

Hello List,

I'm sure that my thought process is clouded right now and that I'm
probably
missing something obvious but here goes anyways...

Today I "upgraded" my working (but only half configured) 2.1.3 2-node
cluster to heartbeat 2.99.x with pacemaker 1.0 from the SUSE repo
referenced
on the clusterlabs website. Both nodes are running on CentOS5, i386.

After some initial configuration to get the packages installed (all normal
dependency stuff), I went and started up the cluster. Once the cluster had
started, I noticed that it had "rejected" (or otherwise not used) my
previous cib and created a new, blank one instead.

Using cibadmin, I tried to replace the current running cib with my old
cib,
but alas I get DTD errors. This is not unexpected as I understood that
some
things have changed between CRM and pacemaker. However, even when looking
at
the server logs, I don't get enough verbosity on the DTD violations to
actually FIX the problems in my cib. I get the following type of
information
out from my logs:

Oct 24 21:01:52 raza cibadmin: [17004]: info: Invoked: cibadmin -C -x
newcib.xml -h raza.pet.ubc.ca
Oct 24 21:01:52 raza cib: [16553]: ERROR: Element op failed to validate
attributes
Oct 24 21:01:52 raza cib: [16553]: ERROR: Expecting an element
meta_attributes, got nothing
Oct 24 21:01:52 raza cib: [16553]: ERROR: Invalid attribute id for element
op
Oct 24 21:01:52 raza cib: [16553]: ERROR: Element operations has extra
content: op
Oct 24 21:01:52 raza cib: [16553]: ERROR: Extra element operations in
interleave
Oct 24 21:01:52 raza cib: [16553]: ERROR: Element cib failed to validate
content
Oct 24 21:01:52 raza cib: [16553]: ERROR: cib_perform_op: Updated CIB does
not validate against pacemaker-1.0 schema/dtd
Oct 24 21:01:52 raza cib: [16553]: WARN: cib_diff_notify: Local-only
Change
(client:cibadmin, call: 2): 0.16.1 (Update does not conform to the
configured schema/DTD)

Without a line number to reference, stuff like "Element op failed to
validate attributes" is pretty meaningless to me. I understand there is a
problem with some attributes related to an operation but I don't get any
information about what operation or what attributes of it did not
validate.
Do I just need to turn heartbeat debugging up or is there a better way to
migrate a 2.1.x cib.xml to pacemaker 1.x? Maybe a tool that shows me what
my
DTD problems are, more specifically?

I'm wondering what path others have taken during a similar upgrade and how
they made their old cib compliant with the new DTD short of memorizing the
whole DTD and doing all manual validation?

On a side note, I also can't use the new hb_gui to configure (create or
edit) any resources. Whenever I try to create a group or primitive, I get
the following python barf:

Traceback (most recent call last):
  File "/usr/bin/hb_gui", line 2822, in on_add
    objdlg = ObjectViewDlg(new_elem, True)
  File "/usr/bin/hb_gui", line 3900, in __init__
    obj_view = ObjectView(self.xml_node, is_newobj, self.on_changed)
  File "/usr/bin/hb_gui", line 1994, in __init__
    self.update(xml_node)
  File "/usr/bin/hb_gui", line 2130, in update
    self.on_after_show()
  File "/usr/bin/hb_gui", line 2138, in on_after_show
    self.obj_attrs.on_after_show()
  File "/usr/bin/hb_gui", line 6471, in on_after_show
    for widget in self.widgets[widget_type].values() :
SystemError: Objects/funcobject.c:128: bad argument to internal function

I'm using pacemaker-pygui-1.4-11.1.i386.rpm for the GUI package version.

Any help would be appreciatd on either issue.

As I said already, I really feel like I'm just missing something obvious
here but it's late to be working and I might not be thinking straight.

Thanks,

--Ryan Thomson
_______________________________________________
Linux-HA mailing list
[email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

_______________________________________________
Linux-HA mailing list
[email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems
_______________________________________________
Linux-HA mailing list
[email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

_______________________________________________
Linux-HA mailing list
[email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems
_______________________________________________
Linux-HA mailing list
[email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

Reply via email to