[pve-devel] [PATCH cluster v4 00/15] Allow adding/deleting nodes and cluster creation over API

Thomas Lamprecht t.lamprecht at proxmox.com
Tue Jan 9 15:52:48 CET 2018


Fourth iteration of this series, see [1] for the v3 cover letter.

This series depends on the apiclient exception series and the "add
fingerprint-sha256 standard option" patch for common, which are both
not yet applied. Further latest git of pve-cluster should be used as
base, it deals with a restarting pve-cluster.

Higher level changes:

* Allow to get the node specific join information (IP and SSL FP) from
  any node via a parameter - here I'm still a bit unsure, maybe
  Fabians request to add them from all nodes would be nicer from a API
  design standpoint of view. But, I then would like to have a short
  cut to the information of the current (connected) node at all cost,
  it makes front end design way easier and should be enough in 99% of
  use cases.
* local lock for create and join, added as new patch at end of series
* addnode and delnode have now the node parameter in the path (thanks
  for the suggestion Fabian).
* own format for fingerprint
* log to clusterlog on addition and deletion

Besides that very minor changes happened, thus no extra
changelog-per-patch

Tested with CLI tool pvecm and through API client.

cheers,
Thomas

[1]: https://pve.proxmox.com/pipermail/pve-devel/2017-December/029975.html

Thomas Lamprecht (15):
  move addnode/delnode from CLI to cluster config API
  tell cluster log when adding/deleting a node
  node add: factor out code
  use run_command instead of system
  assert_joinable: simplify error and warning handling
  return cluster config and authkey in addnode API call
  api/cluster: add join endpoint
  pvecm add: use API by default to join cluster
  cluster create: factor out initial corosync config assembly
  cluster create: restart corosync & pmxfs in one go and say so
  move cluster create to API
  api/cluster: create cluster in worker
  api/cluster: add endpoint to GET cluster join information
  use resolved IP address for ring0_addr as default
  lock locally on create and add

 data/PVE/API2/ClusterConfig.pm | 505 ++++++++++++++++++++++++++++++++++++-
 data/PVE/CLI/pvecm.pm          | 553 +++--------------------------------------
 data/PVE/Cluster.pm            | 137 +++++++++-
 data/PVE/Corosync.pm           |  73 ++++++
 debian/control.in              |   2 +
 5 files changed, 752 insertions(+), 518 deletions(-)

-- 
2.11.0





More information about the pve-devel mailing list