[Precise/regression] drbd 8.4.x backport breaks existing clusters

Bug #1314289 reported by Stefan Bader
56
This bug affects 8 people
Affects Status Importance Assigned to Milestone
drbd8 (Ubuntu)
Won't Fix
Critical
Unassigned
Precise
Fix Released
Critical
Stefan Bader

Bug Description

SRU Justification:
The backport of drbd8-utils-8.4.3 has several issues when running in compat-8.3 mode as part of corosync/pacemaker clusters.

Impact:
- The OCF resource agent fails to run after installing the new toolset
  - "syncer command not supported" messages
- the OCF resource agent script uses the new syntax hard coded in one place
- the drbdsetup command is not using the compat binary for help output and the command line changed significantly.
- if the main commands are called with the full path, the compat binaries are searched in the same path but only existed in /lib/drbd.

Apart from those serious problems, the init.d script would fail in compat mode due to syntax changes.

Testcases:
  - With new tools, old kernel module loaded:
    * "drbdsetup xml net" should output xml help instead of an error
    * "/sbin/drbdadm --version" does not fail to print the version.
    * "service drbd stop" should work without errors
    * "service corosync restart" on a cluster should work without loosing
      the local mirror.
 - Moving one side of the cluster to a newer kernel (new kernel module)
   * "drbdsetup xml net" should now error and need the new format.

regression from bug 1185756.

Revision history for this message
Stefan Bader (smb) wrote :
Changed in drbd8 (Ubuntu):
importance: Undecided → Critical
status: New → Triaged
assignee: nobody → Stefan Bader (smb)
Scott Moser (smoser)
description: updated
Changed in drbd8 (Ubuntu Precise):
importance: Undecided → Critical
assignee: nobody → Stefan Bader (smb)
tags: added: regression-update
Scott Moser (smoser)
Changed in drbd8 (Ubuntu Precise):
status: New → In Progress
tags: added: patch
Stefan Bader (smb)
description: updated
Revision history for this message
Stéphane Graber (stgraber) wrote : Please test proposed package

Hello Stefan, or anyone else affected,

Accepted drbd8 into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/drbd8/2:8.4.3-0ubuntu0.12.04.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in drbd8 (Ubuntu Precise):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Jan Vollendorf (u-jan) wrote :

Hello,

I checked this on two clusters with two nodes each.
All systems running a 3.2.0-61-generic kernel.
After installing drbd8-utils (2:8.4.3-0ubuntu0.12.04.2) the problem is solved for me.

Testcases:
  - With new tools, old kernel module loaded:
    * "drbdsetup xml net" should output xml help instead of an error => OK
    * "/sbin/drbdadm --version" does not fail to print the version. => OK
    * "service drbd stop" should work without errors => OK
    * "service corosync restart" on a cluster should work without loosing the local mirror. => OK
Additional Tests:
    * following Transitions and status checks by pacemaker are working again now:
        # unconfigured -> Secondary
        # secondary -> Primary
        # primary -> secondary
        # secondary -> unconfigured

tags: added: verification-done
removed: verification-needed
Revision history for this message
Vit Herman (dragvit) wrote :

Hello,

AFAICT, the same change broke creating "named" device nodes in /dev via udev, causing messages like this when running /etc/init.d/drbd reload:

# /etc/init.d/drbd reload
 * Reloading DRBD Configuration
1: Failure: (124) Device is attached to a disk (use detach first)
Command 'drbdsetup-83 1 disk /dev/mapper/MD1-salesnet /dev/mapper/MD1-salesnet internal --set-defaults --create-device' terminated with exit code 10

Running:
# udevadm test /block/drbd1

I get:
...
spawn_read: '/sbin/drbdadm sh-udev minor-1'(err) 'execvp() failed to exec drbdadm-83: No such file or directory'
spawn_wait: '/sbin/drbdadm sh-udev minor-1' [18952] exit with return code 20
udev_event_execute_rules: no node name set, will use kernel supplied name 'drbd1'
udev_node_add: creating device node '/dev/drbd1', devnum=147:1, mode=0660, uid=0, gid=6
...

Giving me only /dev/drbd1, but no /dev/drbd_salesnet (as before) or /dev/drbd directory. Installing 2:8.4.3-0ubuntu0.12.04.2 fixed the problem.

Hopefully it's related, I'm posting it up here in case somebody else gets bitten by it too.

Revision history for this message
Rocco (rocco) wrote :

When will it be released? Any ETA?

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package drbd8 - 2:8.4.3-0ubuntu0.12.04.2

---------------
drbd8 (2:8.4.3-0ubuntu0.12.04.2) precise-proposed; urgency=low

  * d/p/ubuntu-fix-drbdsetup-legacy-path.patch
    Test kernel module version and run the legacy drbdsetup early if
    it is lower than 8.4. Also do not try to be smart about paths for
    the legacy command (newer upstream versions do the same) (LP: #1314289).
  * d/p/ubuntu-compat83-init-script.patch:
    Fix service stop to shut down the resources (LP: #1314289).
  * d/p/ubuntu-compat83-ocf-script.patch:
    Fix pacemaker/corosync startup when running compat mode (LP: #1314289).
  * d/p/ubuntu-fix-drbdadm-version-check.patch:
    Fix compat mode when DRBD_DONT_WARN_ON_VERSION_MISMATCH is set
    (LP: #1314598)
  * d/rules: Create soft-links for compat binaries in /sbin to work
    around the tools looking for compat binaries in their own path
    when called with full path (LP: #1314289).
 -- Stefan Bader <email address hidden> Wed, 30 Apr 2014 15:20:23 +0200

Changed in drbd8 (Ubuntu Precise):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for drbd8 has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Revision history for this message
Brian Murray (brian-murray) wrote :

The release of the is package was dependent upon another bug being fixed by this version being verified, that verification has now happened.

Revision history for this message
Frank Groeneveld (frankgroeneveld) wrote :

The fix works correctly for my cluster. Thanks a lot!

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

Marking the development task as won't fix as compat mode for 8.3 is not needed from Trusty user-space onwards. And a Trusty LTS kernel works with the current Precise user-space.

Changed in drbd8 (Ubuntu):
assignee: Stefan Bader (smb) → nobody
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.