[DRBD-user] drbdmanage v0.97

Roland Kammerer roland.kammerer at linbit.com
Fri Jul 15 13:48:30 CEST 2016

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


Dear DRBD9 & drbdmanage users & testers,

we have published version 0.97 of drbdmanage.

While drbdmanage 0.96 was a release with minor fixes and mainly for
internal reasons, version 0.97 is a release with many bug/reliability
fixes. Noteworthy changes include, but are not limited to:

- ZFS thin plugin
- drbdmange dbus trace/replay
- initial unit testing
- fixes for resize
- drbdmanage message log (drbdmanage ml)
- ClientHelper class (introduced in v0.96) which should be used by
  external projects written in Python like the new drbd docker plugin.
- skip initial sync on thinly provisioned storage
- ...

If you use drbdmanage, you certainly want to upgrade. Make sure
you also use the drbd kernel module version 9.0.3 and drbd-utils version
8.9.7 (strict requirement, or drbdmanage eats your kittens).

Changes since v0.96:

[ Philipp Marek ]
 * Fix description text.
 * ClientHelper bugfix: _LW() only takes one argument here.
 * Typos fixed: "drbdmange" => "drbdmanage".
 * Storage header: dump the serial-number too.
 * Satellites: Use "bz2" compression instead of "zlib".
 * Human-readable output: never use 3 digits after the comma.

[ Robert Altnoeder ]
 * DrbdManager: If drbdadm could not be spawned, fall back to drbdsetup too
 * Fixed storage plugin remove_blockdevice() infinite loop
 * Mark assignments as deployed before undeploying them
 * Do not skip removing block devices when undeploying diskless assignments
 * DrbdAdm: fixed duplicate logging
 * Add reasonable thin provisioning capability
 * DrbdManager: _deploy_volume_actions(): fail on metadata creation failure
 * Update resource files instead of piping to drbdadm
 * Copy drbdsetup options on snapshot restore into new resource
 * Added missing argument to format string
 * list_nodes(): Check node online status only on control nodes
 * utils.py: new get_free_number() implementation
 * DrbdManager: fixed reference to wrong class
 * DrbdManager: Remember thin volumes and skip resyncing after resize if  [...]
 * Reordered "drbdadm resize -- --assume-clean" -> "drbdadm -- --assume-c [...]
 * Return success for no-op on blockdevice resize on volume states withou [...]
 * resize: Check for size increment > poolsize instead of gross size > poolsize
 * resize: ignore clients, resize only if the assignment is in a sane state
 * Added logger classes for logging external command output
 * Changed _run_drbdadm() to use ExternalCommandBuffer
 * commands: _run_drbdadm() transformed into a more generic run_drbdutils()
 * commands: removed unnecessary import 'subprocess'
 * Hide init/join external command output unless exit_code != 0
 * Fixed class member -> instance member
 * Handle assignment transitions to and from diskless
 * Set FLAG_ATTACH cstate & tstate on client->server transition
 * Verbose drbdadm command logging (drbdadm -vvv)
 * Skip new-current-uuid when restoring snapshots
 * Allow double open(), as it can be caused by the async D-Bus calls
 * DrbdManager: fail_count fixes, more logging, removed duplicate code block
 * Added property consts.MANAGED
 * restore-resize-snapshot partial implementation
 * Added MessageLog class for tracking recent info/warning/alert messages
 * Message log commands, emit messages to the message log
 * More fixes for D-Bus/Python surprises in restore_snapshot()
 * MessageLog: configurable number of backlog entries

[ Roland Kammerer ]
 * satellite: improve connect stage
 * allow resource options in the common section
 * add missing space to description
 * plugins: added zvol thin plugin
 * added role subcommand
 * ignore value errors on satellite startup
 * systemd: update service file
 * add-node: start satellite
 * export-ctrlvol: proper return on satellite node
 * satellite: minor fixups for wrapped functions
 * style: change confusing syntax
 * client: removed dead code
 * remove debug print
 * debug logging: add decorator for in/out logging
 * use locale setting for size output
 * build: ignore MANIFEST.in for consts_githash.py
 * remove res files on startup
 * satellites: avoid endless loop
 * client: let argparse handle "type checking"
 * server: add DBUS tracer/replay
 * typo
 * MessageLog: switch to deque()
 * make use of the new features in "drbdadm adjust"
 * build: add "md5sums" make target

[ Hayley Swimelar ]
 * Check FQDN labels are not more than 63 chars, clean up consts import
 * Allow DrbdManageException and its subclasses to accept custom error messages
 * added empty line before docstring
 * introduce reserved keywords list
 * unit tests for drbdmanage/utils


As usual, we provide tar-balls[1], packages[2], a git repo[3], and an
Ubuntu PPA[4].

Please note that when we tag 1.0.0, we won't provide public packages[2]
anymore.

If you have any questions, suggestions or feedback for us, feel free to
post to the drbd-user mailing list or to visit our IRC channel at
FreeNode #drbd.

Best regards, rck

[1] http://www.drbd.org/en/community/download
[2] http://oss.linbit.com/drbdmanage/packages/
[3] http://git.linbit.com/drbdmanage.git/
[4] https://launchpad.net/~linbit/+archive/ubuntu/linbit-drbd9-stack



More information about the drbd-user mailing list