canonical / microceph

MicroCeph is snap-deployed Ceph with built-in clustering
https://snapcraft.io/microceph
GNU Affero General Public License v3.0
213 stars 33 forks source link

Update microcluster dependency #378

Closed masnax closed 3 months ago

masnax commented 3 months ago

This introduces a bit more robust schema upgrade processing, as well as better error handling during first start.

In particular, during an upgrade, the cluster will report its current status instead of blocking. The table below shows microceph cluster list output when 1 node is refreshed and awaiting the upgrade to appear on all nodes before proceeding to apply the update:

+--------+----------------+-------+-----------------------------+---------------+
|  NAME  |    ADDRESS     |  ROLE |         FINGERPRINT         |    STATUS     |
+--------+----------------+-------+-----------------------------+---------------+
| micro0 | 127.0.0.1:9000 | voter | c3d485471729f2f04f6401530f7 |   UPGRADING   |
+--------+----------------+-------+-----------------------------+---------------+
| micro1 | 127.0.0.1:9001 | voter | 515c7eace0aba1f7a42761824ab | NEEDS UPGRADE |
+--------+----------------+-------+-----------------------------+---------------+
| micro2 | 127.0.0.1:9002 | voter | 4f461765de6659b0e683a5b11ed | NEEDS UPGRADE |
+--------+----------------+-------+-----------------------------+---------------+
| micro3 | 127.0.0.1:9003 | voter | d94955e2c26cb2e987489933bdz | NEEDS UPGRADE |
+--------+----------------+-------+-----------------------------+---------------+