From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 3F3AC8D156 for ; Mon, 7 Nov 2022 14:19:25 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 1B95C2B9A5 for ; Mon, 7 Nov 2022 14:18:55 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Mon, 7 Nov 2022 14:18:53 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 0EA3342465 for ; Mon, 7 Nov 2022 14:18:53 +0100 (CET) Message-ID: Date: Mon, 7 Nov 2022 14:18:51 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 Content-Language: en-US To: pve-devel@lists.proxmox.com References: <20220325105510.3262101-1-a.lauterer@proxmox.com> From: Aaron Lauterer In-Reply-To: <20220325105510.3262101-1-a.lauterer@proxmox.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.044 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment NICE_REPLY_A -0.001 Looks like a legit reply (A) SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: Re: [pve-devel] [PATCH v2 librados2-perl storage manager 0/7] Add Ceph safety checks X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Nov 2022 13:19:25 -0000 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(-) > >