[pve-devel] [PATCH v2 librados2-perl storage manager 0/7] Add Ceph safety checks
Aaron Lauterer
a.lauterer at proxmox.com
Mon Nov 7 14:18:51 CET 2022
ping?
If we are okay with the way this would change RADOS.xs and RADOS.pm, I can send
a follow up for patch 3 and 4 as a few other places started to issue mon
commands in the meantime.
There is also the currently pending "Ceph OSD: add detail infos" patch series
which either could be included in the follow up patch, or will need its own,
depending on what gets applied first.
[0] https://lists.proxmox.com/pipermail/pve-devel/2022-October/054375.html
On 3/25/22 11:55, Aaron Lauterer wrote:
> The main motivation behind this series is to leverage several safety
> checks that Ceph has to make sure it is ok to stop or destroy a service.
>
> For this to work, the librados2-perl needs to be adapted because if it
> is unsafe to perform one of the actions, the Ceph API will return an
> error with an explanation in the status message.
>
> The approach chosen is to simplify the bindings and handle errors on the
> Perl side. the RADOS.pm::mon_command now always returns a hash ref
> containing
>
> * return code
> * status message
> * data
>
> This makes it necessary to adapt packages that depend on librados2-perl
> to handle the changed return values: storage and manager.
>
> Therefore we need to coordinate breaking dependencies and releases of
> these packages!
>
> A new cmd-safety endpoint is added which is called from the GUI wherever
> possible to show a warning.
>
>
> changes:
>
> * simplify librados2-perl changes and always return hash ref instead of
> wantarray
> * one central cmd-safety API endpoint instead of multiple ones per
> service type
>
> librados2-perl: Aaron Lauterer (2):
> mon_command: refactor to pass all data to perl
> mon_command: optionally ignore errors
>
> PVE/RADOS.pm | 24 +++++++++++++++++++-----
> RADOS.xs | 18 ++++++------------
> 2 files changed, 25 insertions(+), 17 deletions(-)
>
>
> storage:Aaron Lauterer (1):
> rbd: adapt to changed rados mon_command return values
>
> PVE/Storage/RBDPlugin.pm | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>
> manager: Aaron Lauterer (4):
> ceph: adapt to changed rados mon_command return values
> api: ceph: add cmd-safety endpoint
> ui: osd: warn if removal could be problematic
> ui: osd: mon: mds: warn if stop/destroy actions are problematic
>
> PVE/API2/Ceph.pm | 102 +++++++++++++++++++++-
> PVE/API2/Ceph/MGR.pm | 2 +-
> PVE/API2/Ceph/MON.pm | 19 +++--
> PVE/API2/Ceph/OSD.pm | 14 ++--
> PVE/API2/Ceph/Pools.pm | 18 ++--
> PVE/API2/Cluster/Ceph.pm | 6 +-
> PVE/CLI/pveceph.pm | 4 +-
> PVE/Ceph/Services.pm | 10 +--
> PVE/Ceph/Tools.pm | 16 ++--
> www/manager6/ceph/OSD.js | 140 ++++++++++++++++++++++++++-----
> www/manager6/ceph/ServiceList.js | 104 ++++++++++++++++++++---
> 11 files changed, 360 insertions(+), 75 deletions(-)
>
>
More information about the pve-devel
mailing list