[Debian-ha-maintainers] Bug#584206: heartbeat: Upgrade to 3.0.3 destroys cluster configuration from 2.1.3 due to digest mismatch
Florian Haas
florian at linbit.com
Wed Jun 2 09:16:48 UTC 2010
Package: heartbeat
Version: 1:3.0.3-2
Severity: important
Heartbeat 3.0.3 requires Pacemaker, which provides cluster resource management functionality
which was part of Heartbeat before the package split. Thus it is possible for a user to do a direct
upgrade from Heartbeat 2.1.3 (lenny) to Heartbeat 3.0.3 + Pacemaker 1.0.8 (squeeze). When doing such
an upgrade, Pacemaker should take the cluster configuration in /var/lib/heartbeat/crm/cib.xml, and
continue to serve cluster resources.
However, due to a subtle and unintended change in the digest algorithm which Pacemaker uses to
compare the CIB to its signature (cib.xml.sig), Pacemaker complains about a non-matching signature
on startup, refuses to read the CIB, and continues with an empty cluster configuration.
Upstream is aware of this problem, but unwilling to fix it "just to make 2.1.3 work", as any fix
would break digest verification on existing Pacemaker clusters.
A workaround exists and is documented at http://www.linux-ha.org/doc/s-upgrade-crm.html. However,
the current Debian packages do not backup/restore the CIB, while they do restart Heartbeat services.
In total, this makes it very easy to break one's cluster by doing a naive dist-upgrade.
AFAICS there are two ways of mitigating this issue:
1. quick and dirty: "dh_installinit --no-start" -- simply don't touch running Heartbeat services
during the upgrade.
2. proper: add a debconf boolean saying "Have you backed up your CIB? Have you manually restored it
on just the first node where you are running your upgrade? Have you read the upstream docs?"
And only if the answer is yes, restart Heartbeat services.
-- System Information:
Debian Release: 5.0.4
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.26-2-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=de_AT.UTF-8 (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C)
Shell: /bin/sh linked to /bin/bash
Versions of packages heartbeat depends on:
pn adduser <none> (no description available)
ii cluster-agents 1:1.0.3-3 The reusable cluster components fo
ii cluster-glue 1.0.5-2 The reusable cluster components fo
ii gawk 1:3.1.5.dfsg-4.1 GNU awk, a pattern scanning and pr
ii iproute 20080725-2 networking and traffic control too
ii iputils-ping 3:20071127-1 Tools to test the reachability of
ii libbz2-1.0 1.0.5-4 high-quality block-sorting file co
ii libc6 2.10.2-9 Embedded GNU C Library: Shared lib
ii libcluster-glue 1.0.5-2 The reusable cluster components fo
ii libcorosync4 1.2.1-1 Standards-based cluster framework
ii libglib2.0-0 2.24.1-1 The GLib library of C routines
ii libgnutls26 2.8.6-1 the GNU TLS library - runtime libr
ii libheartbeat2 1:3.0.3-2 Subsystem for High-Availability Li
ii libltdl7 2.2.6b-2 A system independent dlopen wrappe
ii libpam-runtime 1.0.1-5+lenny1 Runtime support for the PAM librar
ii libpam0g 1.1.1-3 Pluggable Authentication Modules l
ii libuuid1 2.16.2-0 Universally Unique ID library
ii libxml2 2.7.7.dfsg-2 GNOME XML library
ii libxml2-utils 2.6.32.dfsg-5+lenny1 XML utilities
ii mawk 1.3.3-11.1 a pattern scanning and text proces
pn psmisc <none> (no description available)
pn python <none> (no description available)
ii python-central 0.6.14+nmu2 register and build utility for Pyt
ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime
Versions of packages heartbeat recommends:
ii iptables 1.4.2-6 administration tools for packet fi
ii logrotate 3.7.1-5 Log rotation utility
ii pacemaker 1.0.8+hg15494-4 HA cluster resource manager
ii rsyslog [system-log-daem 3.18.6-4 enhanced multi-threaded syslogd
heartbeat suggests no packages.
-- no debconf information
More information about the Debian-ha-maintainers
mailing list