Error: Failed to join cluster: Failed request to add member: The joining server version doesn't (expected 4.12 with API count 245)

Hi, Attempting to create LXD cluster using preseed file, and getting this rather cryptic error message. Any thoughts on what needs to be done to fix ? Both servers are on the same release of LXD snap, namely 4.13. Also, I’ve used this exact form of preseed file successfully on other cluster creations so I have confidence in the preseed file itself - unless some format of preseed has changed in 4.13 ? Thanks!

The preseed file is as follows: (note I’ve shortened the certificate with … for brevity).

config: {}
networks:

  • name: lxdbr0
    type: bridge
    config:
    ipv4.address: auto
    ipv6.address: none
    storage_pools:
    profiles:
    cluster:
    server_name: o83sv2
    enabled: true
    member_config:
    • entity: storage-pool
      name: local
      key: source
      value: “olxc-002”
      description: ‘“source” property for storage pool “local”’
    • entity: storage-pool
      name: local
      key: zfs.pool_name
      value: “olxc-002”
      description: ‘“zfs.pool_name” property for storage pool “local”’
      cluster_address: 10.209.53.1:8443
      cluster_certificate: |
      -----BEGIN CERTIFICATE-----
      MIICBDCCAY…5RfQW6FCZrQ==
      -----END CERTIFICATE-----
      server_address: 10.209.53.201:8443
      cluster_password: ubuntu

The error suggests that one server is on 4.12 and the other on 4.13. As 4.13 was pushed to stable just a few hours ago, it’s probably worth triple checking the version matches on all your systems.

If the snap list lxd output matches on all servers, then maybe one of them had a temporary sideload in place (/var/snap/lxd/common/lxd.debug)?
You could also check the version reported inlxc info when run locally on each of them.

Thanks for the reply!

Just for closure here, it must have had something to do with, as you indicated, the push of 4.13 to stable. The first node had been sitting around for awhile before it was clustered, and the second node in the cluster ran a “sudo snap refresh lxd” during the automated clustering step, and that refresh likely introduced the version mismatch. Ran it all again, with the “sudo snap refresh lxd” on both cluster nodes, and clustered formed successfully:

os_name: Oracle Linux Server
os_version: “8.3”
project: default
server: lxd
server_clustered: true
server_name: o83sv2
server_pid: 64430
server_version: “4.13”
storage: zfs
storage_version: 0.8.6-1