Mailing List Archive

drbd-reactor v1.1.0-rc.1
Dear DRBD users,

this is RC1 of the upcoming drbd-reactor version 1.1.0.

Noteworthy things in this release:
- the prometheus plugin now exposes a metric for DRBD versions (loaded
kernel module and drbd-utils). Currently this is evaluated once at
plugin start.
- a fix for the promoter plugin when used with OCF agents (see version
1.0.1)
- I guess this is the first release where I'm not the contributor with
the most commits. Thanks to Joel and Matt for putting a lot of effort
into CI tests. Also to Moritz who is "invisible" in the Changelog but
irons out most of my bugs during review
- drbd-reactorctl is now cluster/context aware

I want to elaborate on the last point a bit, taking most of the
information from drbd-reactorctl(1):

There are now global arguments, '--context' and '--nodes' that allow to
specify a cluster context and to filter nodes in that context.

Users can define cluster contexts via toml files which consist of nodes
entries that themselves have fields for hostname and user. Usually one
does not need to set the specific fields as they have sane defaults: The
name of the node entry is used as hostname if not otherwise specified,
and root is the default user. If a cluster context is given or
default.toml exists commands are executed on all nodes defined for that
context. Execution is carried out in parallel via ssh.

A simple configuration can look like this:

cat ~/.config/drbd-reactorctl/production.toml
[nodes."alpha.mynet"]
[nodes."beta.mynet"]
[nodes."gamma.mynet"]

Node names should follow the output of uname -n and also please make
sure to quote node names containing dots.

It is also possible to define a command that is executed to generate the
nodes list via nodes-script. These commands, usually simple shell
scripts, are expected to be stored in the same directory as the toml
files. The scripts are expected to generate a valid nodes list as
documented above on stdout. Such a configuration would then look like
this:

cat ~/.config/drbd-reactorctl/linstor.toml
nodes-script="linstor.sh"

To disable a promoter plugin (linstor_db in our example) and stop its
systemd target cluster wide, one could now execute:

drbd-reactorctl disable --context production --now linstor_db

Regards, rck

GIT: https://github.com/LINBIT/drbd-reactor/commit/0936f05537548309dd23bef9a805b4ab1b68a9f0
TGZ: https://pkg.linbit.com//downloads/drbd/utils/drbd-reactor-1.1.0-rc.1.tar.gz
PPA: https://launchpad.net/~linbit/+archive/ubuntu/linbit-drbd9-stack

Changelog:
[ Joel Colledge ]
* e2e: add initial end-to-end test infrastructure
* e2e: provide a clear error when an empty test name is given
* e2e,virter: add provisioning file for tests
* e2e,docker: add initial container configuration for test suite
* e2e,virter: add initial Virter provisioning file for running tests
* e2e,virter: add configuration and a wrapper script for running vmshed
* e2e,virter: add getting started guide
* ci: add explicit stage to existing jobs
* ci: add job to build for e2e tests
* ci: add job to build docker image for e2e tests
* ci: add job to run end-to-end tests
* ci: add e2e tests lint job
* e2e: shorten names ReactorPromoter -> Promoter etc.
* e2e: add initial test for the User Mode Helper Plug-in
* ci: add job to check e2e test typing
* ci: allow pipeline to be started from the API
* e2e: factor polling for a condition out into a function
* e2e,promoter_preferred_node: make test more reliable
* Revert "e2e: disable promoter_preferred_node"

[ Roland Kammerer ]
* ci: disable for ordinary remote branches
* e2e: disable promoter_preferred_node
* prometheus: expose drbd_version
* promoter,ocf: fix env for old systemd
* ctl: add context

[ Matt Kereczman ]
* e2e: add preferred node to promoter tests
* e2e: add prometheus test