Comment 72 for bug 1185756

Revision history for this message
Stefan Bader (smb) wrote :

@Rocco, the problem is that there did not seem to be any sane way to do a separate package and dependencies. You cannot depend on it in the lts kernel package because drbd is not a required package. In don't know of any way in Debian packaging to declare complex relationships like "if package a gets installed and package b is installed then replace b with c". And even if there would, installing the lts-kernel package does not automatically remove the non-hwe kernels (for people that installed with the original release or .1 update images). So since the kernels can be installed in parallel, the two drbd package would need to be there in parallel, too.

So backporting the newer drbd userspace and enabling the compat binaries looked to be the best way. And at least testing with a resource defined in drbd, I could install the new package and get the drbd disk up with old-kernel/old package, old kernel/new package and newer kernel/newer package. And only because of that we went ahead with the backport.

So right now it seems like people who "only" use drbd resource are ok but clusters using drbd (pacemaker only or others?) are unfortunately broken. Hopefully we can figure out what goes wrong quickly. Unfortunately setting up a test cluster is not the most trivial thing to do when starting from zero. I started but right now I got the general config ok but no drbd resources defined.

So far, the only way with a 3.2 kernel and the new packager where I can get the drbdadm syncer command to fail like it was reported is to remove the drbd module. Then there is no /proc/drbd and drbdadm --version reports the 8.4 .x version. And that does not cause the drbdadm-83 binary to be chain-executed. So syncer is no valid command.
The drbd package ships with a drbd.ocf file (from reading guides on the web it feels like that could be related to use drbd from pacemaker). That script also does call drbdadm --version to decide whether to use the syncer command or not.
But maybe there are places in pacemaker code that run drbdadm commands directly. Still, if those execute the drbdadm command that comes with the new drbd package that should automatically execute the compat binary as long as the old kernel is running and the drbd module is loaded.