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