[ClusterLabs] Corosync-qdevice 3.0.1 is available at GitHub!
Jan Friesse
jfriesse at redhat.com
Mon Nov 23 03:18:39 EST 2020
I am pleased to announce the latest maintenance release of
Corosync-Qdevice 3.0.1 available immediately from GitHub at
https://github.com/corosync/corosync-qdevice/releases as
corosync-qdevice-3.0.1.
This release contains important bug fixes and some of new features. Most
notable ones:
- Rewrite of DPD (dead-peer-detection) timer. Previously dead peer
detection was implemented sub-optimally and may result in QNetd waiting
too long before marking Qdevice peer dead and selecting new quorate
partition what made Qdevice not responsible for corosync votequorum
service resulting in lost of quorum. New implementation is using smaller
timeouts and no sampling (global DPD timer) so QNetd detects dead peer
long time before sync_timeout. Configuration option dpd_interval is
removed (no longer needed) and replaced by dpd_interval_coefficient (see
corosync-qnetd(8) for more details). This fixes GH issue #10.
- Implement KAP Tie-breaker (keep active partition) for ffsplit
algorithm. This solves problem when Corosync creates single node
partition during startup and for two node clusters with ffsplit this new
node might get vote eventho there was already other quorate node. This
option is enabled by default. To use previous behavior it's possible to
set keep_active_partition_tie_breaker in corosync.conf (see
corosync-qdevice(8) for more details). Fix for GH issue #7.
- Qdevice systemd unit file now restarts on-failure.
- Configurations without ring0_addr are now properly supported. Fixes GH
issue #16.
Complete changelog for 3.0.1:
Fabio M. Di Nitto (1):
devel: add corosync-qdevice.pc file for pcs to use
Jan Friesse (79):
qnetd: Check existence of NSS DB dir before fork
spec: Use install -p and add license
man: Fix corosync-qdevice default connect_timeout
configure: Add user-flags configure option
qdevice: Fix qdevice_heuristics_destroy error
qnetd: Rename qnetd-log.c to log.c
qnetd: Fix double -d description
qnetd: Check log initialization error
qnetd: Add function to set log target
qdevice: Use log instead of libqb log
qdevice: Import log instead of qdevice-log
qdevice: Merge msg_decode_error functions
qnetd: Use log-common for nodelist debug dump
qdevice: Configurable log priority bump
tests: Add utils_parse_bool_str test
qdevice: Free memory used by log
qdevice: Add log test
qdevice: Add header files to list of test sources
qdevice: Add chk variant of vsyslog to test-log
qdevice: Add prototype of __vsyslog_chk
build: Update git-version-gen
build: Use git-version-gen during specfile build
configure: Use default systemd path with prefix
pr-poll-loop: Add main poll loop based on PR_Poll
qnetd: Migrate main loop to pr-poll-loop
qnetd: Do not call ffsplit_do on shutdown
qdevice: Use EXIT_SUCCESS and EXIT_FAILURE codes
qdevice: Add space before bracket
qdevice: Fix connect heuristics result callback
pr-poll-loop: Do not add FD when events is empty
tests: Add pr-poll-loop test
tests: Enhance pr-poll-loop test
heuristics: Remove qdevice instance pointer
pr-poll-loop: Return error code if PR_Poll fails
qdevice: Initial port to use pr-poll-loop
qnetd: Remove write callback on listening sockets
qnetd: Remove unneeded pprio include
qnetd: Log pr_poll_loop_add,del errors properly
qnetd: Move pr_poll_loop_exec call to function
pr-poll-loop: Add support for PR_POLL_EXCEPT
pr-poll-loop: Pass PRPollDesc for prfd events
pr-poll-loop: Add pre poll callbacks
qdevice: Fix connect heuristics result callback
pr-poll-loop: Fix set_events_cb return code
qnetd: Return error code based on ipc closed
qdevice-net: Log adds newline automatically
qdevice: Port qdevice to use pr-poll-loop
qdevice-votequorum: Fix typo in log message
qnetd: Fix dpd timer
timer-list: Return error on adding NULL callback
timer-list: Add test
README: Fix typos
qnetd: Add support for keep active partition vote
LICENSE: Update copyright date
qdevice: Fix set option and set option reply
qdevice-net-heuristics: Fix log message
qnetd: Fix NULL dereference of client
qnet: Add support for keep active partition vote
qdevice-ipc: Fix dereference bug
pr-poll-loop: Add queue header include
timer-list: Implement heap based timer-list
msg: Check cat result on adding msg type and size
test-process-list: Fix few bugs
tlv: Check dynar_cat result
test-timer-list: Ignore poll errors
timer-list: Improve efficiency of delete operation
tests: Fix assert problems
qdevice-net-ipc-cmd: Fix compiler warning
qdevice-cmap: Fix clear high node bit typo
qdevice-cmap: Load clear node high bit only once
qdevice: Configuration without nodelist is invalid
qdevice: Handle configurations without ring0_addr
utils: Add utils_strtod
timer-list: Rename delete and reschedule ops
timer-list: Add functions for get and set interval
qnet-config: Add space to string concat
qnetd: Improve dead peer detection
qnetd-algo-ffsplit: Simplify KAP Tie-breaker logic
qnetd: Move client schedule disconnect handling
Kumabuchi Kenji (1):
init: change restart to on-failure for qdevice
liangxin1300 (1):
qdevice: Change log level to NOTICE on PASS
Upgrade is highly recommended.
Thanks/congratulations to all people that contributed to achieve this
great milestone.
More information about the Users
mailing list