sts-sponsors team mailing list archive
-
sts-sponsors team
-
Mailing list archive
-
Message #00498
[Bug 1740892] Re: corosync upgrade on 2018-01-02 caused pacemaker to fail
I *think* this debian commit could possibly be a good candidate to fix
Artful FTBFS situation.
-------
$ git show a7476dd9
commit a7476dd96e79197f65acf0f049f75ce8e8f9e801
Author: Jan Pokorny <jpokorny@xxxxxxxxxx>
Date: Thu Feb 2 14:51:46 2017 +0100
Fix: crm_mon: protect against non-standard or failing asctime
So far, we have been likely covered by standards requiring asctime to
produce an output ending with \n\0 bytes, because otherwise, we would
overrun the buffer, reading unspecified content, possibly segfaulting.
This was actually discovered with a brand new GCC7 warning
( [-Werror=pointer-compare]).
Another latent issue was that the code was not ready for the case
of failing asctime call (returning NULL). This is now fixed as well.
diff --git a/tools/crm_mon.c b/tools/crm_mon.c
index 776aea8..023b07b 100644
--- a/tools/crm_mon.c
+++ b/tools/crm_mon.c
@@ -954,10 +954,10 @@ print_nvpair(FILE *stream, const char *name, const char *value,
/* Otherwise print user-friendly time string */
} else {
- char *date_str, *c;
+ static char empty_str[] = "";
+ char *c, *date_str = asctime(localtime(&epoch_time));
- date_str = asctime(localtime(&epoch_time));
- for (c = date_str; c != '\0'; ++c) {
+ for (c = (date_str != NULL) ? date_str : empty_str; *c != '\0'; ++c) {
if (*c == '\n') {
*c = '\0';
break;
-------
I'll give it a try and update the case with the outcome of my test.
- Eric
--
You received this bug notification because you are a member of STS
Sponsors, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1740892
Title:
corosync upgrade on 2018-01-02 caused pacemaker to fail
Status in OpenStack hacluster charm:
Invalid
Status in corosync package in Ubuntu:
Fix Released
Status in pacemaker package in Ubuntu:
Fix Released
Status in corosync source package in Trusty:
Won't Fix
Status in pacemaker source package in Trusty:
Won't Fix
Status in corosync source package in Xenial:
In Progress
Status in pacemaker source package in Xenial:
In Progress
Status in corosync source package in Artful:
In Progress
Status in pacemaker source package in Artful:
In Progress
Status in corosync source package in Bionic:
Fix Released
Status in corosync package in Debian:
New
Bug description:
[Impact]
When corosync and pacemaker are both installed, a corosync upgrade
caused pacemaker to fail. pacemaker will need to be restarted manually
to work again, it won't recover by itself.
[Test Case]
1) Have corosync (< 2.3.5-3ubuntu2) and pacemaker (< 1.1.14-2ubuntu1.3) installed
2) Make sure corosync & pacemaker are running via systemctl status cmd.
3) Upgrade corosync
4) Look corosync and pacemaker via systemctl status cmd again.
You will notice pacemaker is dead (inactive) and doesn't recover,
unless a systemctl start pacemaker is done manually.
[Regression Potential]
Regression potential is low, it doesn't change corosync/pacemaker core
functionality. This patch make sure thing goes smoother at the
packaging level during a corosync upgrade where pacemaker is
installed/involved.
This can also be useful in particular in situation where the system
has "unattended-upgrades" enable (software upgrades without
supervision), and no sysadmin available to start pacemaker manually
because this isn't a schedule maintenance.
[Other Info]
XENIAL Merge-proposal:
https://code.launchpad.net/~nacc/ubuntu/+source/corosync/+git/corosync/+merge/336338
https://code.launchpad.net/~nacc/ubuntu/+source/pacemaker/+git/pacemaker/+merge/336339
[Original Description]
During upgrades on 2018-01-02, corosync and it's libs were upgraded:
(from a trusty/mitaka cloud)
Upgrade: libcmap4:amd64 (2.3.3-1ubuntu3, 2.3.3-1ubuntu4),
corosync:amd64 (2.3.3-1ubuntu3, 2.3.3-1ubuntu4), libcfg6:amd64
(2.3.3-1ubuntu3, 2.3.3-1ubuntu4), libcpg4:amd64 (2.3.3-1ubuntu3,
2.3.3-1ubuntu4), libquorum5:amd64 (2.3.3-1ubuntu3, 2.3.3-1ubuntu4),
libcorosync-common4:amd64 (2.3.3-1ubuntu3, 2.3.3-1ubuntu4),
libsam4:amd64 (2.3.3-1ubuntu3, 2.3.3-1ubuntu4), libvotequorum6:amd64
(2.3.3-1ubuntu3, 2.3.3-1ubuntu4), libtotem-pg5:amd64 (2.3.3-1ubuntu3,
2.3.3-1ubuntu4)
During this process, it appears that pacemaker service is restarted
and it errors:
syslog:Jan 2 16:09:33 juju-machine-0-lxc-4 pacemakerd[1994]: notice: crm_update_peer_state: pcmk_quorum_notification: Node juju-machine-1-lxc-3[1001] - state is now lost (was member)
syslog:Jan 2 16:09:34 juju-machine-0-lxc-4 pacemakerd[1994]: notice: crm_update_peer_state: pcmk_quorum_notification: Node juju-machine-1-lxc-3[1001] - state is now member (was lost)
syslog:Jan 2 16:14:32 juju-machine-0-lxc-4 pacemakerd[1994]: error: cfg_connection_destroy: Connection destroyed
syslog:Jan 2 16:14:32 juju-machine-0-lxc-4 pacemakerd[1994]: notice: pcmk_shutdown_worker: Shuting down Pacemaker
syslog:Jan 2 16:14:32 juju-machine-0-lxc-4 pacemakerd[1994]: notice: stop_child: Stopping crmd: Sent -15 to process 2050
syslog:Jan 2 16:14:32 juju-machine-0-lxc-4 pacemakerd[1994]: error: pcmk_cpg_dispatch: Connection to the CPG API failed: Library error (2)
syslog:Jan 2 16:14:32 juju-machine-0-lxc-4 pacemakerd[1994]: error: mcp_cpg_destroy: Connection destroyed
Also affected xenial/ocata
To manage notifications about this bug go to:
https://bugs.launchpad.net/charm-hacluster/+bug/1740892/+subscriptions