[ClusterLabs] Corosync 3.0 - Alpha5 is available at corosync.org!

Jan Friesse jfriesse at redhat.com
Tue Nov 20 10:58:01 EST 2018

I am pleased to announce the fifth testing (Alpha 5) release of Corosync 
3.0 (codename Camelback) available immediately from our website at
http://build.clusterlabs.org/corosync/releases/ as corosync-2.99.4.

You can also download RPMs for various distributions from CI 

This release turns out to be quite bigger than I've expected, so that's 
the reason why it's not Beta/RC yet. It also contains quite a lot of 
removal of unused/unmaintained code.

List of biggest changes and backwards compatibility breakages with 
reasoning and replacement (if needed):

- Removal of CTS - unmaintained for long time and unused by developers, 
currently without replacement.

- libtotem is no longer shared library and it's directly compiled into 
corosync binary - main idea of having libtotem.so was to allow other 
projects usage of libtotem and build custom "corosync" on top of it. 
This idea actually never got expected usage and because it was super 
big, it was just making corosync development much harder. This doesn't 
affect any corosync user. In future totemsrp.c should be made into real 
well testable library without network protocol handling, ... but right 
now, there is no replacement for libtotem.so.

- Remove usage of all environment variables and tied up corosync arguments:
   - -p, -P, -R and -r options - replaced by system.sched_rr, 
system.priority and system.move_to_root_cgroup options in the config file.
   - env COROSYNC_MAIN_CONFIG_FILE - Replaced by "-c" option. This also 
affects uidgid.d location.
   - env COROSYNC_TOTEM_AUTHKEY_FILE - Replaced by (already existing) 
totem.keyfile config option, which is now documented.
   - env COROSYNC_RUN_DIR - Replaced by system.run_dir and documented.

- Usage of libcgroup removal - deprecated in most of new distributions, 
replaced by "short" code with even functionality.

- NSS dependency removal - not needed anymore because crypto is now 
handled by knet, so no replacement needed. This change affects only 
cpgverify where packet format is changed.

- Corosync config file parser updated so it's now more strict and 
(finally) displays line with error. Affects only broken config files.

- With new enough LibQB, it's possible to send command to corosync and 
it tries reopen its log files. Used by logrotate in favor of old 
copytruncate method. Copytruncate still exists and is compiled/installed 
by default with old LibQB.

- Timestamps are now enabled by default. With new enough LibQB hires 
(including milliseconds) timestamps are used by default.

Complete changelog for Alpha 5 (compared to Alpha 4):
Chris Walker (3):
       Add option for quiet operation to corosync-cmapctl
       Add token_warning configuration option
       Add option to force cluster into GATHER state

Christine Caulfield (2):
       config: Fix crash in reload if new interfaces are added
       config: Allow generated nodeis for UDP & UDPU

Ferenc Wágner (3):
       man: fix cmap key name runtime.config.totem.token
       man: Fix typo connnections -> connections
       man: Fix typo conains -> contains

Jan Friesse (40):
       spec: Add explicit gcc build requirement
       totemknet: Free instance on failure exit
       util: Fix strncpy in setcs_name_t function
       cmap: Fix strncpy warning in cmap_iter_next
       ipc_glue: Fix strncpy in pid_to_name function
       totemconfig: Enlarge error_string_response
       totemsrp: Add assert into memb_lowest_in_config
       corosync-notifyd: Rename global local_nodeid
       Remove libcgroup
       build: Support for git archive stored tags
       git-version-gen: Fail on UNKNOWN version
       notifyd: Propagate error to exit code
       coroparse: Return error if config line is too long
       coroparse: Check icmap_set results
       coroparse: Fix remove_whitespace end condition
       coroparse: Be more strict in what is parsed
       coroparse: Add file name and line to error message
       coroparse: Use key_name for error message
       coroparse: Fix newly introduced warning
       man: Fix crypto_hash and crypto_cipher defaults
       cts: Remove CTS
       build: Remove NSS dependencies
       build: Do not compile totempg as a shared library
       build: Remove totempg shared library leftovers
       man: Fix default knet_pmtud_interval to match code
       totemconfig: Replace strcpy by strncpy
       log: Implement support for reopening log files
       config example: Migrate to newer syntax
       totemconfig: Fix logging of freed string
       logsys: Support hires timestamp
       logsys: Make hires timestamp default
       configure: move to AC_COMPILE_IFELSE
       main: Move sched paramaters to config file
       main: Replace COROSYNC_MAIN_CONFIG_FILE
       man: Describe nodelist.node.name properly
       main: Remove COROSYNC_RUN_DIR
       init: Fix init script to work with containers
       stats: Fix delete of track
       notifyd: Delete registered tracking keys

Jan Pokorný (1):
       systemd: prevent redundancy in journal

We did our best to test this release as best as we could, but still take 
it as an Alpha version .

For anybody who migrates from stable version please consult 
http://people.redhat.com/ccaulfie/docs/KnetCorosync.pdf about changes in 
Corosync 3.

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

More information about the Users mailing list