[pve-devel] [PATCH v2 0/5] Add support for up to 8 corosync links in API

Stefan Reiter s.reiter at proxmox.com
Wed Dec 4 15:04:34 CET 2019

This series allows the API to handle all 8 possible links that corosync 3
supports. Additional verifications are added to support a smarter fallback
behaviour and abort join if the current cluster config is invalid or

verify_conf is not just nice-to-have, but required for patch 3 since it assumes
all nodes to have the same links for the join verification to work.

API/Backend only, frontend works with patched backend, but will not see any
links other than 0 and 1.

Last patch introduces a new join-API version concept, allowing to explicitly
mark versions as incompatible during pre-join checks (roughly follows the
storage plugin's API_AGE concept). This is also used to ensure compatibility
between nodes that have this series applied, and ones that don't, in both
directions (as joinee/cluster).

v1 -> v2:
* improve verify_conf and related error/warning handling (changes from Fabians
* improve testing for verify_conf
* fix \n usage in patch 4 (previously patch 5)
* swapped path 4 <=> 5 to put API-version last, since technically optional and
  probably more discussion-worthy ;)
* changed join-API concept to include two API ages (see patch 5 for more) - as
  discussed off-list with Thomas
* rebase on master

cluster: Stefan Reiter (5):
  corosync: add verify_conf
  Enable support for up to 8 corosync links
  Add verification and fallback to cluster join/addnode
  corosync: check if IPs are configured on cluster create
  Add cluster join API version check

 data/PVE/API2/ClusterConfig.pm    | 176 +++++++++++++++++++-----
 data/PVE/CLI/pvecm.pm             |  27 ++--
 data/PVE/Cluster/Setup.pm         | 104 ++++++++++-----
 data/PVE/Corosync.pm              | 214 ++++++++++++++++++++++++++----
 data/test/corosync_parser_test.pl |  29 ++++
 5 files changed, 440 insertions(+), 110 deletions(-)


More information about the pve-devel mailing list