[pve-devel] applied: [PATCH v3 cluster 4/4] Add cluster join API version check

Thomas Lamprecht t.lamprecht at proxmox.com
Wed Mar 25 17:40:18 CET 2020


On 1/9/20 4:31 PM, Stefan Reiter wrote:
> Adds API call GET /cluster/config/apiversion to retrieve remote clusters
> join-API version (0 is assumed for versions without this endpoint). Also
> available via CLI as 'pvecm apiver'.
> 
> Introduce API_AGE similar to storage plugin API, but with two ages for
> cluster/joinee roles. Currently, all versions are intercompatible.
> 
> For future usage, a new 'addnode' parameter 'apiversion' is introduced,
> to allow introducing API breakages for joining nodes as well.
> 
> As a first compatibility check, use new fallback method only if
> available. This ensures full compatibility between nodes/clusters with
> and without new fallback behaviour.
> 
> Signed-off-by: Stefan Reiter <s.reiter at proxmox.com>
> ---
> 
> I do think that both AS_CLUSTER and AS_JOINEE ages are necessary indeed:
> 
> * AS_CLUSTER: If we introduce a parameter to addnode that we cannot have a
>   fallback for, and old versions don't provide it, we can exclude them from
>   joining
> * AS_JOINEE: If something changes regarding the cluster joing procedure and we
>   know that older versions cannot correctly add us to the cluster, we can abort
>   the join
> 
> If I'm wrong, it'd be easy enough to remove one or the other. Having both
> doesn't hurt though?
> 

It should be OK as is, applied, thanks!




More information about the pve-devel mailing list