microceph
microceph copied to clipboard
Use microcluster API to remove cluster members
Closes #255
As discussed in Riga, this refactors the node removal process to rely on the microcluster API instead of directly implementing removal in the MicroCeph CLI.
The main changes are that the removeNode
function and all its helpers have been moved to the ceph
package. The removeNode
function itself has been wrapped in a PreRemove
to match the corresponding hook in microcluster. Now in the CLI, we can simply call DeleteClusterMember
and the PreRemove
hook will automatically execute on that node as it is passed to microcluster when we call app.Start
.
This will allow MicroCloud to utilize MicroCeph's API to tear down the cluster in case of an error during initialization. Additionally, it cleans up MicroCeph so there isn't so much internal implementation in the CLI package.