I've forgot to mention one very important change (in text, release notes at github release is already fixed):

I am pleased to announce the latest maintenance release of Corosync
3.1.0 available immediately from GitHub release section at https://github.com/corosync/corosync/releases or our website at
http://build.clusterlabs.org/corosync/releases/.

This release contains important bug fixes and also few big new features (that's the reason for bumping minor version number):

- Support for changing crypto configuration during runtime. This includes turning cryptography on or off, changing crypto_cipher and crypto_hash and also changing of crypto key. To use this feature simply change corosync.conf (or authkey) and call `corosync-cfgtool -R`.

To make this feature work compilation with knet version at least 1.18 is required (it is still possible to compile corosync with previous knet versions but crypto reconfiguration will be disabled).

Please note that it is not supported to make crypto reconfiguration during upgrade of cluster! Cluster will split into partition with nodes running old corosync and partition with nodes running new corosync if cryptographic configuration is changed!

- Configuration system is rewritten and reload became atomic operation. Previously it was possible to change configuration file such way that corosync would refuse to start with such configuration, but it was partly loaded during reconfiguration (usually with warnings but bad things happened anyway) creating inconsistencies.

Now, bad config file which would be refused during startup is refused also on reload and configuration stays intact.

- Quorum service got improved API with ability to register new totem members change callback. Main motivator for this change is DLM, but other API users may find it helpful too - see quorum_model_initialize (3) and tests/testquorummodel.c example. Change is fully backwards compatible and there is no change in the previous quorum_initialize (3).


- Default token timeout was changed from 1 seconds to 3 seconds. Default token timeout of 1000 ms was often changed by users because of other workloads on machine which may make corosync responding a bit later than needed and resulting in token loss. 3000 ms was chosen as a compromise between token timeout increase and allow live cluster upgrade (other nodes should receive token by node with new default on time). It doesn't affect token token_coefficient so final token timeout still depends on number of configured nodes (just base is higher). This change slows down failover a bit so for clusters where failover times are important, please change the token timeout in configuration file corosync.conf as a:

totem {
  version: 2
  token: 1000
  ...

Complete changelog for 3.1.0:

     Aleksei Burlakov (1):
           totemsrp: More informative messages

     Christine Caulfield (8):
           config: Reorganise the config system
           cfg: Improve error return to cfgtool -R
           config: don't reload vquorum if reload fails
           config: Don't free pointers used by transports
           config: Fix crash when a reload fails twice
           test: Fix cpgtest
           config: Allow reconfiguration of crypto options
           man: reload during rolling upgrade

     Ferenc Wágner (2):
           man: fix typo: avaialable
           man: votequorum.5: use proper single quotes

     Jan Friesse (9):
           spec: Require at least knet 1.18 for crypto reload
           build: Update git-version-gen
           build: Use git-version-gen during specfile build
           configure: Use default systemd path with prefix
           common_lib: Remove trailing spaces in cs_strerror
           totemsrp: Move token received callback
           quorum: Add support for nodelist callback
           tests: Use CS_DISPATCH_BLOCKING instead of cycle
           config: Increase default token timeout to 3000 ms

     liangxin1300 (15):
           cfgtool: output error messages to stderr
           cfgtool: enhancement -a option
           tools: use util_strtonum for options checking
           cmapctl: return EXIT_FAILURE on failure
           man: update output of -s and -b for cfgtool
           cfgtool: Return error when -i doesn't match
           quorumtool: Help shouldn't require running service
           quorumtool: strict check for -o option
           cmapctl: check NULL for key type and value for -p
           cmapctl: return error on no result of print prefix
           totemconfig: validate totem.transport value
           cfg: enhance message_handler_req_lib_cfg_killnode
           totemconfig: add interface number to the error str
           totemconfig: improve linknumber checking
           totemconfig: remove redundant nodeid error log


Upgrade is highly recommended.

Note for corosync contributors (and distro maintainers). There is no plan to keep 3.0.X branch supported (as was the case with 2.x) so there is not going to be any camelback-3.0 (or camelback-3.1) branches - only camelback (which will be used for 3.1.1, ...).

Thanks/congratulations to all people that contributed to achieve this
great milestone.


Regards,
  Honza

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

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

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

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

Reply via email to