Finally figured out the problem with LCMC which maybe also improves
other drbdsetup oddness. The problem is that unlike drbdadm, drbdsetup
did not use the kernel drbd module version to decide whether it should
run the legacy binary. Instead it waited for some socket connection to
fail. But that happened relatively late and so at least the xml help
would only be processed by the main command. And of course the arguments
for that have been changed by upstream as well (help-xml instead of
xml).

I added some code to additionally check /proc/drbd and in case of a
module version < 8.4.0 run the legacy drbdsetup immediately. So far this
allowed to use LCMC to define a new drbd resource and selecting migrate
for the resource would display it as migrated instead of "exploding".

This should also be tested after installing a later kernel. But if the
version as it is now unbreaks at least the users of 3.2 kernels its
probably best to go with that and make fixes to the lts-kernel case
later on top. Better than breaking current installs.

** Patch added: "Debdiff for rc3 level."
   
https://bugs.launchpad.net/ubuntu/+source/drbd8/+bug/1185756/+attachment/4096607/+files/drbdsetup-fix.debdiff

-- 
You received this bug notification because you are a member of Ubuntu
High Availability Team, which is subscribed to drbd8 in Ubuntu.
https://bugs.launchpad.net/bugs/1185756

Title:
  drbd8-utils not compatible with linux-lts-raring kernel in 12.04

Status in “drbd8” package in Ubuntu:
  Invalid
Status in “drbd8” source package in Precise:
  Fix Released

Bug description:
  Request for SRU:
  [Impact]
  DRBD will not work (hang) on fresh install using Ubuntu 12.04.3 media, and 
will stop working on sites where the Raring Enablement Stacks is manually 
installed as the API between older and newer drbd kernel modules has changed.

  [Fix]
  The current version of drbd8 utils in Saucy/Raring can be compiled with 
legacy utils enabled (basically drbdadm and drbdsetup) and automatically 
switches to use the legacy version when an older kernel module is found. 
Comparing the code of those two legacy tools showed them to be mostly the same 
(except some things that actually look like bug fixes).
  I only found two small issues, one was the init.d script which was changed to 
use a new command of drbdadm to activate resources. This would fail if drbdadm 
fell back to the legacy version. So I picked the shell function that the 
current util uses and verified that this still works with the new binary.
  The other problem was the default config file which contained a new open 
which would cause the legacy util to fail. It does not seem to be a required 
one in the new tools to commenting it out by default seems to work in both 
cases, too.
  Lastly (this did not seem to be a real issue) the legacy tools claimed to be 
a version 3.8.10 while the the code really looked like the 3.8.11 version we 
have in Precise. Since that also matches the version number of the drbd module 
in Precise I modified the legacy tools version to be 3.8.11.

  [Test Case]
  For testing compatibility with the Precise 3.2 based kernels, either just 
install the prepared package and verify everything still works as before 
(before installing any HWE kernel). Or if already having installed a HWE kernel 
and experiencing the issue, boot into the 3.2 kernel before installing the 
proposed package (or follow the downgrade instructions before booting back).

  To test functionality with HWE kernels, install the Raring kernel in
  Precise, install/configure DRBD: you get "No response from the DRBD
  driver! Is the module loaded?". With the proposed backport the mirror
  continues to work. Only for switching back to an older kernel a
  special procedure must be followed (see comment #21):

  http://www.drbd.org/users-guide/s-downgrading-drbd84.html

  ---

  I've just installed linux-generic-lts-raring on 12.04.2 and my drbd device 
stoped working.
  Seems like drbd8-utils is not compatible with DRBD 8.4 in Kernel 3.8.
  I see that we can't upgrade the package since this would break compatibility 
with the older Kernels in Precise.

  But since the new Plans for the LTS-Enablement Stack [1] there should
  be a package like drbd8-utils-lts-raring. And the dependancies should
  be resolved automatically with apt.

  kind regards

  [1] https://wiki.ubuntu.com/Kernel/LTSEnablementStack

  ProblemType: Bug
  DistroRelease: Ubuntu 12.04
  Package: linux-image-3.8.0-22-generic 3.8.0-22.33~precise1
  ProcVersionSignature: Ubuntu 3.8.0-22.33~precise1-generic 3.8.11
  Uname: Linux 3.8.0-22-generic x86_64
  ApportVersion: 2.0.1-0ubuntu17.2
  Architecture: amd64
  Date: Thu May 30 11:53:13 2013
  InstallationMedia: Ubuntu-Server 12.04.1 LTS "Precise Pangolin" - Release 
amd64 (20120817.3)
  MarkForUpload: True
  SourcePackage: linux-lts-raring
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/drbd8/+bug/1185756/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~ubuntu-ha
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~ubuntu-ha
More help   : https://help.launchpad.net/ListHelp

Reply via email to