[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