Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
> It would be nice to know how to build dopd and the drbd-peer-outdater > from a certain drbd version with a recent heartbeat version. The > instructions in the README file (in the drbd tools/ subdirectory) bring > up the errors I posted earlier. > > dopd.c from Andrews recent code (2.1.*2*-24) is different from > drbd-8.0.7's code and both are different from linux-ha.org's 2.1.2 release. > So these questions come up: > Are dopd and drbd-peer-outdater maintained in heartbeat or in drbd? > Which version should we consider "recent"? > Are dopd and drbd-peer-outdater bound to one heartbeat and/or drbd version? Here's some information about this from Andrew Beekhof. He is not subscribed here and was okay with me posting this information here: --- dopd is maintained exclusively by linbit - if its broken, then it is up to them to fix it. dopd shouldn't be using anything from lib/crm or include/crm I asked them a year or so to change this but nothing happened. In the end I got fed up and removed the references myself. --- That should be why the version supplied with heartbeat compiles and the version supplied with drbd doesn't. Again: Here's the error message I refer to: dopd.c: In function ‘main’: dopd.c:490: warning: implicit declaration of function ‘ha_strdup’ dopd.c:490: warning: assignment makes pointer from integer without a cast dopd.c:491: error: too few arguments to function ‘crm_log_init’ dopd.c:556: warning: passing argument 1 of ‘init_server_ipc_comms’ makes pointer from integer without a cast make[1]: *** [dopd-dopd.o] Error 1 make[1]: Leaving directory `/root/src/CRM-Devel-obs-2.1.2-24/tools' make: *** [all-recursive] Error 1 It does however not explain the "bad magic number" errors and I am far from understanding what that really is about. Andrew Beekhof stated: --- magic number problems usually occur when there is a mixture of cl_free/cl_malloc^ and free/malloc the interim builds are always built with --enable-libc-malloc, try passing that to ConfigureMe and rebuilding --- I did that, too. The bad magic number error is gone, but the resource is not outdated either: Here's the log from the Primary node: Dec 5 14:42:11 dktest1debian kernel: drbd2: PingAck did not arrive in time. Dec 5 14:42:11 dktest1debian kernel: drbd2: peer( Secondary -> Unknown ) conn( Connected -> NetworkFailure ) pdsk( UpToDate -> DUnknown ) Dec 5 14:42:11 dktest1debian kernel: drbd2: Creating new current UUID Dec 5 14:42:11 dktest1debian kernel: drbd2: asender terminated Dec 5 14:42:11 dktest1debian kernel: drbd2: short read expecting header on sock: r=-512 Dec 5 14:42:11 dktest1debian kernel: drbd2: tl_clear() Dec 5 14:42:11 dktest1debian kernel: drbd2: Connection closed Dec 5 14:42:11 dktest1debian kernel: drbd2: Writing meta data super block now. Dec 5 14:42:11 dktest1debian kernel: drbd2: helper command: /sbin/drbdadm outdate-peer Dec 5 14:42:11 dktest1debian drbd-peer-outdater: [13656]: debug: drbd peer: dktest2debian Dec 5 14:42:11 dktest1debian drbd-peer-outdater: [13656]: debug: drbd resource: drbd2 Dec 5 14:42:11 dktest1debian kernel: drbd2: State change failed: Refusing to be Primary without at least one UpToDate disk Dec 5 14:42:11 dktest1debian kernel: drbd2: state = { cs:NetworkFailure st:Primary/Unknown ds:UpToDate/DUnknown r--- } Dec 5 14:42:11 dktest1debian kernel: drbd2: wanted = { cs:NetworkFailure st:Primary/Unknown ds:Outdated/DUnknown r--- } Dec 5 14:42:11 dktest1debian kernel: drbd2: outdate-peer helper broken, returned 255 Dec 5 14:42:11 dktest1debian kernel: drbd2: Forcing state change from bad state. Error would be: 'Refusing to be Primary while peer is not outdated' Dec 5 14:42:11 dktest1debian kernel: drbd2: old = { cs:NetworkFailure st:Primary/Unknown ds:UpToDate/DUnknown r--- } Dec 5 14:42:11 dktest1debian kernel: drbd2: new = { cs:Unconnected st:Primary/Unknown ds:UpToDate/DUnknown r--- } Dec 5 14:42:11 dktest1debian kernel: drbd2: conn( NetworkFailure -> Unconnected ) Dec 5 14:42:11 dktest1debian kernel: drbd2: receiver terminated Dec 5 14:42:11 dktest1debian kernel: drbd2: receiver (re)started Dec 5 14:42:11 dktest1debian /usr/lib/heartbeat/dopd: [13640]: debug: Connecting channel Dec 5 14:42:11 dktest1debian /usr/lib/heartbeat/dopd: [13640]: debug: Client outdater (0x80508e0) connected Dec 5 14:42:11 dktest1debian /usr/lib/heartbeat/dopd: [13640]: debug: invoked: outdater Dec 5 14:42:11 dktest1debian kernel: drbd2: Forcing state change from bad state. Error would be: 'Refusing to be Primary while peer is not outdated' Dec 5 14:42:11 dktest1debian kernel: drbd2: old = { cs:Unconnected st:Primary/Unknown ds:UpToDate/DUnknown r--- } Dec 5 14:42:11 dktest1debian kernel: drbd2: new = { cs:WFConnection st:Primary/Unknown ds:UpToDate/DUnknown r--- } Dec 5 14:42:11 dktest1debian kernel: drbd2: conn( Unconnected -> WFConnection ) Dec 5 14:42:11 dktest1debian /usr/lib/heartbeat/dopd: [13640]: debug: Processed 0 messages Dec 5 14:42:11 dktest1debian /usr/lib/heartbeat/dopd: [13640]: debug: Deleting outdater (0x80508e0) from mainloop Dec 5 14:42:11 dktest1debian /usr/lib/heartbeat/dopd: [13640]: debug: connection from client closed The secondary does not say anything but: Dec 5 14:42:11 dktest2debian kernel: drbd2: PingAck did not arrive in time. Dec 5 14:42:11 dktest2debian kernel: drbd2: peer( Primary -> Unknown ) conn( Connected -> NetworkFailure ) pdsk( UpToDate -> DUnknown ) Dec 5 14:42:11 dktest2debian kernel: drbd2: asender terminated Dec 5 14:42:11 dktest2debian kernel: drbd2: short read expecting header on sock: r=-512 Dec 5 14:42:11 dktest2debian kernel: drbd2: tl_clear() Dec 5 14:42:11 dktest2debian kernel: drbd2: Connection closed Dec 5 14:42:11 dktest2debian kernel: drbd2: Writing meta data super block now. Dec 5 14:42:11 dktest2debian kernel: drbd2: conn( NetworkFailure -> Unconnected ) Dec 5 14:42:11 dktest2debian kernel: drbd2: receiver terminated Dec 5 14:42:11 dktest2debian kernel: drbd2: receiver (re)started Dec 5 14:42:11 dktest2debian kernel: drbd2: conn( Unconnected -> WFConnection ) Regards Dominik