Skip to content

Releases: corosync/corosync

v1.99.9

06 Mar 17:06
Compare
Choose a tag to compare
v1.99.9 Pre-release
Pre-release

I am pleased to announce the first release candidate of our future Corosync Needle 2.0.

Tarball is available immediately from our website at
http://www.corosync.org.

Because of change in srp_addr structure, this release is wire incompatible with Beta-6, so please make sure to update all cluster nodes.

List of changes between Beta-6 (1.99.8) and RC-2 (1.99.9):

Fabio M. Di Nitto (2):
      totemcrypto: major code cleanup (no functional or onwire changes)
      totemcrypt: fix build warning (unused variable)

Jan Friesse (3):
      Add no_addrs field in srp_addr structure
      Make ifaces_get work with dynamic no_rings
      Convert udpu example to use nodelist

As can be seen, list of changes are pretty short and hopefully RC-2 is last version before final release, so as usually, testers are more than welcomed. For testing, you need to install libqb version 0.11.1.

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

v1.99.8

06 Mar 17:08
Compare
Choose a tag to compare
v1.99.8 Pre-release
Pre-release

I am pleased to announce the first release candidate of our future
Corosync Needle 2.0.

Tarball is available immediately from our website at
http://www.corosync.org.

Because we decided to make many changes which causes backwards incompatibility (API/ABI and on-wire), we decided to release another beta, rather then RC-2.

Just for sure, this means that you need to update all cluster nodes.

Biggest changes are:

  • Removal of evil services. These was dummy handlers of OpenAIS services, and because OpenAIS is no longer actively maintained in upstream, they can be removed.
  • Remove sync1 synchronization engine. This was here only for backwards compatibility. This also means, that old flag "compatibility" is also removed.
  • Drop pload service. Pload service was internally used for testing of performance, but could cause hard crashes, incorrect behavior, ... Service as itself is gone, but you can use ploadstart script which does almost same thing.
  • Remove EVS service. EVS service was not widely used, was incomplete and not function. Because it's behavior can be easily emulated in CPG, we decided to drop it and if needed in future, we will create libevs wrapper on top of cpg.
  • Change internal numbers of services. This will cause wire incompatibility.
  • Crypto rework:
    • We removed tomcrypt. Tomcypt is nice, small, ... library, but sadly we didn't updated it for long time (may cause serious crypto issues). Also NSS is FIPS certified, it's external library, has support for HW accelerated encryption and many other nice things. So we decided to stick only to NSS
    • Previous change also means, that ripmed encryption is gone, instead of that, we are using NSS AES256
    • Code which was using NSS has many many bugs fixed (various leaks, overflows, ...)
    • It's now possible to choose from wide array of hmac methods (md5, sha1, sha256, ...) and it should be very easy to add another cipher methods (for now, only AES256 is supported)

Complete list of changes between RC-1 (1.99.7) and Beta-6 (1.99.7):

Angus Salkeld (3):
      Add pid, hostname and process name to the logfile
      Remove unused function logsys_priority_name_get()
      Fix typo in stats key name.

Fabio M. Di Nitto (16):
      sync: kill evil and syncv1 in one shot
      utils: cleanup main daemon exit codes
      drop last references to compatibility: whitetank
      totem: drop crypt_accept: concept/option
      pload: make it a test service and not a public one
      build: drop last LCRSO references
      build: drop obsoleted SOCKETDIR option
      build: drop another leftover from the past
      drop evs service
      crypto: mask the crypto operations from totem packet size management
      crypto: drop secauth and make crypto none work again
      crypto: add crypto config to network data
      totem: don't send garbage onwire if we fail to crypt
      crypto: change network packets and add dynamic crypto header/data
      crypto: add new hashing methods and fix config defaults
      crypto: allocate padding in crypto_header

Jan Friesse (12):
      Remove libtomcrypt
      corosync-cfgtool: Remove set of cryptography
      cfg: remove crypto_set
      onecrypt: move encryption code to crypto.c
      Rename totemcrypto
      Parse and use hash and crypto from config file
      Document crypto_hash and crypto_cipher options
      Update crypto_set API
      crypto: Remove sha224 and add md5 hash
      Make common_lib version independand on totem_pg
      Mark few more icmap keys as read only
      Reflect config changes for crypto in examples

Testers are more than welcomed. For testing, you need to install libqb version 0.11.1.

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

v1.99.7

06 Mar 17:09
Compare
Choose a tag to compare
v1.99.7 Pre-release
Pre-release

I am pleased to announce the first release candidate of our future Corosync Needle 2.0.

Tarball is available immediately from our website at
http://www.corosync.org.

List of changes between Beta-5 (1.99.6) and RC-1 (1.99.7):

Angus Salkeld (2):
      Add common IPC errors.
      Treat ENOMSG as TRY_AGAIN.

Fabio M. Di Nitto (16):
      votequorum: fix segfault in wfa status update
      votequorum: fix node->flags type when receiving nodeinfo messages
      votequorum: improve debugging output
      votequorum: disallow wait_for_all and qdevice operations
      votequorum: start moving from static to fully dynamic config
      votequorum: move all configuration in votequorum_readconfig
      votequorum: incorporate static config into dynamic
      votequorum: make a common function to calculate votes and cluster members
      votequorum: fix node check based on reconfig parameter
      votequorum: disallow special features vs qdevice
      votequorum: free our data and lists on exit
      votequorum: fix handling of config updates
      votequorum: rename leave_remove to allow_downscale
      votequorum: fix node allocation memory leak
      votequorum: move last malloc/alloca buf to static
      quorumtool: improve display of status data

Jan Friesse (4):
      Always set interface_up in totemip_iface_check
      man: Fix cmap_iter_finalize typo
      man: Add description of cpg_iteration_* functions
      man: Add cmap pages to index.html

As we are heading very close to final release, testers are more than welcomed. For testing, you need to install libqb version 0.10.1.

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

v1.99.6

06 Mar 17:09
Compare
Choose a tag to compare
v1.99.6 Pre-release
Pre-release

I am pleased to announce the fifth Beta release of our future Corosync Needle 2.0. This version should be last Beta, so if you have any patch, which can cause future API/ABI/Wire incompatibility, please sent it as soon as possible.

Tarball is available immediately from our website at
http://www.corosync.org.

List of changes between Beta-4 (1.99.5) and Beta-5 (1.99.6):

Fabio M. Di Nitto (9):
      votequorum: major rework to fix qdevice API and integration with core
      quorumtool: update man page and help text
      votequorum: fix votequorum_getinfo man page and align struct name
      quorumtool: swap node state and node votes output
      quorumtool: fix version display info
      quorumtools: drop unused option parsing
      quorumtools: fix typo in man page
      quorumtool: make output more human friendly and retain machine parsable bits
      quorumtool: improve Membership information output

Changes in quorum made Beta-5 wire INcompatible with previous versions, so please make sure to upgrade whole cluster.

Testers of this great milestone are more than welcomed. For testing, you
need to install libqb version 0.10.1.

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

v1.99.5

06 Mar 17:12
Compare
Choose a tag to compare
v1.99.5 Pre-release
Pre-release

I am pleased to announce the fourth Beta release of our future
Corosync Needle 2.0.

Tarball is available immediately from our website at
http://www.corosync.org.

List of changes between Beta-3 (1.99.4) and Beta-4 (1.99.5):

Angus Salkeld (1):
      Convert the common lib into a shared lib.

Fabio M. Di Nitto (1):
      build: fix fallout from swithing to common shared lib

Jan Friesse (10):
      Add generic implementation of getifaddrs
      Add totemip_iface_check based on totemip_getifaddrs
      Create solaris specific getifaddrs
      cmap: Handle NULL in [i]cmap_set_string value
      totemconfig: ensure suffix for ringX_addr
      Allow autoconfiguration of interface section
      iba: Use configured node id
      spec: Add optional xmlconf
      Tweak nodeid warning
      Document SAM_RECOVERY_POLICY_CMAP

Testers of this great milestone are more than welcomed. For testing, you
need to install libqb version 0.10.1.

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

v1.99.4

06 Mar 17:19
Compare
Choose a tag to compare
v1.99.4 Pre-release
Pre-release

I am pleased to announce the third Beta release of our future
Corosync Needle 2.0.

Tarball is available immediately from our website at
http://www.corosync.org.

List of changes between Beta-2 (1.99.2) and Beta-3 (1.99.4):

Angus Salkeld (10):
      Add a common library that can be shared between libs and corosync
      move hdb_error_to_cs to common_lib
      Treat ENOBUFS as TRY_AGAIN
      move cs_strerror() to common_lib
      TEST: Use pacemaker repeat macro
      TEST: add logging to testcpg and testevs
      Move hdb_error_to_cs to corotypes.h
      TEST: remove unused code.
      CPG: fix membership_get()
      Change the IPC TIMEOUT to block.

Fabio M. Di Nitto (24):
      votequorum: fix quorum_ringid setting before any delivery occours
      corotypes: drop deprecated EVS_ defines
      corotypes: drop deprecated QUORUM_ defines
      corotype: drop deprecated CPG_ defines
      man: add build infrastructure to generate devel man pages
      man: rename all devel man pages to .3.in
      man: hook quorum and votequorum devel man pages with genman script
      man: add quorum_overview.8 man page
      quorum: drop dead code
      man: add *quorum_track* devel man pages
      specfile: ship new man pages
      quorumtools: check for quorum_dispatch return code
      testquorum: check for quorum_dispatch return code
      quorumtool: fix return code
      testvotequorum: fix test loop to break if votequorum goes away
      quorum: don't leak memory on error
      votequorum: fix possible memory corruption
      quorumtool: fix some var init and checks
      votequorum: fix variable init
      coverity: increase aggressiveness of the test and fix build
      cpg: drop dead code
      quorum: cleanup all man pages
      votequorum: cleanup all man pages
      build: fix make dist to include xml man pages

Jan Friesse (1):
      Add CS_DISPATCH_ONE_NONBLOCKING dispatch type

Steven Dake (20):
      Remove dead code in sam test agent
      Remove use after free in corosync_main_config_set in error path
      Remove use after free and free of uninit value in mainconfig error path
      Remove leaked resource error from wd_resource_state_is_ok
      Free state variable allocated in wd_resource_state_is_ok
      Remove mar_gen.h from global header install since it is not needed
      Remove list.h from global header install
      Remove swab.h from global headers
      Remove include/engine/quorum and integrate it into exec/engine.h
      Remove cs_config.h from global header install
      Remove unused or unimplemented CFG apis
      Update copyright dates in util directory
      Update copyright dates in tools directory
      Updated copyright dates in include directory
      Remove jhash.h since it is not used
      Update copyright dates on include/totem files
      Update copyright header dates in exec directory
      Remove empty testquorum.c file
      Update corosync_overview.8 man page
      Remove a reference to openais that is present in corosync.conf.5

Testers of this great milestone are more than welcomed. For testing, you
need to install libqb version 0.10.1.

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

v1.99.3

06 Mar 17:21
Compare
Choose a tag to compare
v1.99.3 Pre-release
Pre-release
v1.99.3 release

v1.99.2

06 Mar 17:22
Compare
Choose a tag to compare
v1.99.2 Pre-release
Pre-release

I am pleased to announce the second Beta release of our future
Corosync Needle 2.0.

Tarball is available immediately from our website at
http://www.corosync.org.

List of changes between Beta (1.99.1) and Beta-2 (1.99.2):

Angus Salkeld (5):
      IPC: allow for failures in the connection_created callback
      IPC: reference count the connection whilst flushing the outq
      LOG: add libqb as a "subsys"
      Remove deprecated function qb_util_set_log_function()
      Make sure ipc functions return CS_ERR_TRY_AGAIN and not CS_ERR_TIMEOUT

Fabio M. Di Nitto (6):
      votequorum: add leave_remove option
      build: fix make dist and make rpm
      votequorum: add runtime internal data to icmap runtime.votequorum.*
      votequorum: fix expected votes manual override from quorumtools
      quorumtools: fix nodes display on status
      quorumtool: fix return codes for show_status and monitor

Jan Friesse (6):
      Store error str if can't open logfile
      Show correct error when open of logfile failed
      Wait for corosync-notifyd exit in init script
      Better checks of integer values in coroparse
      CMAP man pages
      cmap: Check RO flag in adjust int function

Jiaju Zhang (1):
      CPG: Send CPG_REASON_PROCDOWN when really needed

Testers of this great milestone are more than welcomed. For testing, you
need to install libqb version 0.10.0.

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

v1.99.1

06 Mar 17:24
Compare
Choose a tag to compare
v1.99.1 Pre-release
Pre-release

I am very pleased to announce the Beta release of our future
Corosync Needle 2.0.

Tarball is available immediately from our website at
http://www.corosync.org.

List of changes between Alpha (1.99.0) and Beta (1.99.1):

Angus Salkeld (24):
      LOG: make sure that debug works to syslog
      Add debug log messages to corosync for join/leave
      CTS: fix up the formt strings
      CTS: fix quourm command
      CTS: temp comment out quorum tests
      CTS: tidy up the shutdown of cpg_test_agent
      CTS: fix starting/stopping of test_agents
      CTS: make basic tests config-generic
      CTS: fix shell script variable name
      CTS: handle socket exceptions better
      CTS: account for change in sam resource path.
      CTS: init votequorum by default
      CTS: delete resourses recursively
      CTS: ignore blackbox shm
      CTS: remove SamTestQuorum as there is not test_quorum anymore
      CTS: make the status command more accurate
      CTS: be consistent with the cpg group name
      augeas: update the lense (rm amf & add update quorum options)
      CTS: remove test service config
      CTS: add test VoteQuorumWaitForAll
      cmap: add -D option to getopt
      cmap: add iterator finalize
      CTS: make the systemd logic more reliable
      CTS: cleanup the cpg test agent

Fabio M. Di Nitto (15):
      votequorum: two_node should enable wait_for_all by default
      votequorum: change quorum.expected_votes override behavior
      votequorum: add documentation and man pages
      update TODO list
      votequorum: drop NODESTATE_LEAVING
      votequorum: fix auto_tie_breaker design and simplify code a lot
      votequorum: fix expected_votes propagation
      update TODO list
      quorum: drop quorum.quorate config option
      votequorum: rename qdisk to qdevice
      votequorum: drop unnecessary flags
      votequorum: fix possible string overflow (-1) in qdevice_register
      service: fix service unload regression introduced by lcrso dropping
      quorum: fix load/unload priority for quorum services
      votequorum: honor onwire node flags change

Jan Friesse (2):
      Make xmlconf in SPEC conditional
      totemiba: Remove unused wthread.h include

Steven Dake (2):
      Return an exit code of 1 if an interface is faulty in corosync-cfgtool
      Honor exec_init_fn call

Testers of this great milestone are more than welcomed. For testing, you
need to install libqb version 0.9.0 (source code can be downloaded from https://fedorahosted.org/releases/q/u/quarterback/libqb-0.9.0.tar.gz).

Thanks/congratulations to all people that contributed to achieve this
release.

v1.99.0

06 Mar 17:24
Compare
Choose a tag to compare
v1.99.0 Pre-release
Pre-release

I am more then pleased to announce the Alpha release of our future
Corosync Needle 2.0.

Tarball is available immediately from our website at
http://www.corosync.org.

It's almost impossible to write there all changes made in this wonderful
milestone, but in short major changes:

Migrate to libqb (https://github.com/asalkeld/libqb/wiki)

  • Common features like IPC is now shared between Corosync and other
    projects, so it's probably better tested.
  • Corosync is now single threaded (with exception of logging), so no
    longer problems with deadlock, race conditions, ... Also IPC speed
    should be better

OBJDB/CONFDB replaced by ICMAP/CMAP

  • Significantly simplified API

Plugins are gone

  • For creators of plugins it means, that code need to be built on top of
    CPG.

Votequorum improved

  • Votequorum now contains almost all functionality of CMAN quorum
  • Many new features implemented (auto_tie_breaker, wait_for_all, ...)

And many many other changes. Final release will contain much more
detailed list of changes.

Testers of this big milestone are more than welcomed. For testing, you
need to install libqb at least version 0.8.1. Another choice may be to
try Fedora Rawhide where Alpha should be available in next few days.

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