doc: add decommissioning guide#1450
Conversation
Signed-off-by: Elijah Greenstein <elijah.greenstein@canonical.com>
|
@mseralessandri , @roosterfish -- I added the section on MicroCeph OSDs based on my reading of the MicroCloud guide to removing cluster members, which included a reference to the MicroCeph guide to removing disks. However, would these steps be necessary when decommissioning an entire cluster? |
roosterfish
left a comment
There was a problem hiding this comment.
Thanks, left a few comments.
| This guide walks you through the steps to decommission an entire MicroCloud cluster. | ||
|
|
||
| If you only need to decommission a single cluster member, first {ref}`remove the member from the cluster <howto-member-remove>`. | ||
| After removing the member, {ref}`update the certificate <lxd:cluster-manage-update-certificate>` on the cluster remaining in production. |
There was a problem hiding this comment.
If we recommend updating the cluster certificate in the reamining cluster for LXD, likely we should also propose doing this for MicroCloud, MicroCeph and MicroOVN (Microclusters).
@mseralessandri I wonder if we should grow support in MicroCloud to generally trigger this across LXD and Micro* from a single MicroCloud command like microcloud cluster update-certificate
There was a problem hiding this comment.
It seems MicroCeph has a microceph certificates command used to set RGW cert. Also MicroOVN comes with a microovn certificates command but it also seems to be used solely for OVN services, not Microcluster.
So it seems this is a general gap currently in all Micro* products to be able to rotate the underlying Microcluster certificate with straightforward commands. This is supported by Microcluster but not directly exposed.
In case a user would hit this today, we can instruct using curl against the Microcluster API though.
There was a problem hiding this comment.
I have added #1453 with a note to update this guide.
|
|
||
| Storage pools cannot be deleted if they are used by an instance, profile, or custom volume. | ||
| The `default` profile cannot be deleted; therefore, the storage pool used by the `default` profile cannot be deleted. | ||
| To identify this storage pool, view information about the `default` profile and find the pool listed under `devices` > `root` > `pool`: |
There was a problem hiding this comment.
This is not true. LXD blocks the pool deletion because the default profile has a disk device which references the pool. You can remove this device which will then allow you to remove the pool:
root@micro01:~# lxc storage rm remote
Error: The storage pool is currently in use
root@micro01:~# lxc profile show default
name: default
description: Default LXD profile
config: {}
devices:
eth0:
name: eth0
network: default
type: nic
root:
path: /
pool: remote
type: disk
used_by: []
project: default
root@micro01:~# lxc profile device rm default root
root@micro01:~# lxc storage rm remote| Run this command to view the Ceph OSD tree: | ||
|
|
||
| ``` | ||
| ceph osd tree |
There was a problem hiding this comment.
Any reason for not using a MicroCeph command directly?
root@micro01:~# microceph disk list
Disks configured in MicroCeph:
+-----+----------+----------------------------------------------------+
| OSD | LOCATION | PATH |
+-----+----------+----------------------------------------------------+
| 1 | micro01 | /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_lxd_disk2 |
+-----+----------+----------------------------------------------------+There is also a --host-only flag to return only OSDs configured on this member (requires running the command on the to be decommissioned member).
| To {ref}`reduce the cluster down to one member <howto-member-remove-reduce-cluster>`, you must first clean up the Ceph monitor map (`monmap`) while there are still two cluster members: | ||
|
|
||
| ```bash | ||
| sudo microceph.ceph mon remove <name> |
There was a problem hiding this comment.
Should we instead link to the doc page where those commands are already listed? Just to prevent duplicating this.
| To securely decommission MicroCloud, you must {ref}`destroy and sanitize your data <howto-decommission-destroy-data>`. | ||
| ``` | ||
|
|
||
| Remove the MicroCloud, LXD, MicroCeph, and MicroOVN snaps. |
There was a problem hiding this comment.
Worth adding a command that MicroCeph and MicroOVN might not be installed if the user chose to deploy a MicroCloud without those components?
| The following commands should report that none of these snaps are installed and that the `/var/snap/microcloud/`, `/var/snap/lxd/`, `/var/snap/microceph/`, and `/var/snap/microovn` directories do not exist: | ||
|
|
||
| ```bash | ||
| snap list microcloud lxd microceph microovn |
There was a problem hiding this comment.
Worth running microcloud status on any of the remaining members to verify everything got cleaned up and the member is gone?
This PR adds a decommissioning guide to comply with SSDLC requirements.
This guide is based off of the guide to LXD introduced in canonical/lxd#18507, but with several changes:
--projectflag in order to delete project-scoped entities.microcloudcommands are used wherever possible, in place oflxccommands.monmapwhen reducing the cluster down to one member.Checklist