public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Aaron Lauterer <a.lauterer@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: Re: [pve-devel] [PATCH v2 librados2-perl storage manager 0/7] Add Ceph safety checks
Date: Mon, 7 Nov 2022 14:18:51 +0100	[thread overview]
Message-ID: <d90f565c-3316-a992-0c14-40ea6e4928a6@proxmox.com> (raw)
In-Reply-To: <20220325105510.3262101-1-a.lauterer@proxmox.com>

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(-)
> 
> 




  parent reply	other threads:[~2022-11-07 13:19 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-25 10:55 Aaron Lauterer
2022-03-25 10:55 ` [pve-devel] [PATCH v2 librados2-perl 1/7] mon_command: refactor to pass all data to perl Aaron Lauterer
2022-03-25 10:55 ` [pve-devel] [PATCH v2 librados2-perl 2/7] mon_command: optionally ignore errors Aaron Lauterer
2022-03-25 10:55 ` [pve-devel] [PATCH v2 storage 3/7] rbd: adapt to changed rados mon_command return values Aaron Lauterer
2022-03-25 10:55 ` [pve-devel] [PATCH v2 manager 4/7] ceph: " Aaron Lauterer
2022-03-25 10:55 ` [pve-devel] [PATCH v2 manager 5/7] api: ceph: add cmd-safety endpoint Aaron Lauterer
2022-03-25 10:55 ` [pve-devel] [PATCH v2 manager 6/7] ui: osd: warn if removal could be problematic Aaron Lauterer
2022-03-25 10:55 ` [pve-devel] [PATCH v2 manager 7/7] ui: osd: mon: mds: warn if stop/destroy actions are problematic Aaron Lauterer
2022-11-07 13:18 ` Aaron Lauterer [this message]
2022-11-17 10:35   ` [pve-devel] [PATCH v2 librados2-perl storage manager 0/7] Add Ceph safety checks Thomas Lamprecht
2022-11-17 17:46 ` [pve-devel] partially-applied: " Thomas Lamprecht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d90f565c-3316-a992-0c14-40ea6e4928a6@proxmox.com \
    --to=a.lauterer@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal