Mailing List Archive

drbd-reactor v1.2.0
Dear DRBD users,

this is version 1.2.0 of drbd-reactor. There have not been any reported
issues in RC1. With some public holidays and not wanting to do a Fri
release it just took a bit longer. For your convenience the original
announcement (and some upgrade hint):

There are two noteworthy changes in this release:

- The promoter plugin used a shell wrapper script shipped in drbd-utils
to handle OCF agents. This wrapper was replaced by a proper Rust
binary. The advantage is that we can (re)use that in our Windows port.
Every shell script re-written in a proper programming language is a
benefit on its own.

- So far it was possible to specify an "id" for plugins in their
configuration snippet and that was the handle to decide which plugin
instances got stopped, kept alive, or started on drbd-reactor reloads
(systemctl reload/kill -HUP). Now we keep hashes of the configuration
structs (i.e., they are trait Hash) and reloading changed plugins just
behaves like expect: No weird "id"s, changed plugins restart, new get
started, unchanged ones stay, the ones now without a config get
stopped. The "id" fields in configs are now marked as deprecated
(i.e., specifying them prints a warning in the log) and don't have any
special meaning anymore. Note that they still contribute to the hash
of config struct. In order to make the config structs trait Hash we
had to change the 'sleep-before-promote-factor' from a f32 to a u32. I
guess this setting is that unknown and rarely used that we can do

In the best case you don't even notice the changes, but get an improved
behavior on reactor reloads.

Upgrade: if you have promoter resources using ocf agents I'd suggest you
upgrade all cluster nodes without active promoter resources, then you
'systemctl restart drbd-reactor.service', then 'drbd-reactorctl evict'
the active ones to another - now upgraded - node, upgrade that last node
and restart the service there as well.


Regards, rck

[ Moritz "WanzenBug" Wanzenb?ck ]
* prometheus: start server in plugin constructor
* ctl: ignore already unmasked targets
* plugin: unify starting of plugins

[ Roland Kammerer ]
* prometheus: rm unused import
* ocf-wrapper: rewrite in Rust
* core,plugins: auto generate IDs
* core,plugins,ctl: deprecate IDs
* ocf-rs-wrapper: rm random sleep

[ Joel Colledge ]
* ci: remove -l from lbbuildctl invocation