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.

_______________________________________________
Manage your subscription:
https://lists.clusterlabs.org/mailman/listinfo/users

ClusterLabs home: https://www.clusterlabs.org/

Reply via email to