From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <s.sterz@proxmox.com>
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 5646B9275C
 for <pve-devel@lists.proxmox.com>; Fri, 14 Oct 2022 10:01:34 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
 by firstgate.proxmox.com (Proxmox) with ESMTP id 29DCB7960
 for <pve-devel@lists.proxmox.com>; Fri, 14 Oct 2022 10:01:04 +0200 (CEST)
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 <pve-devel@lists.proxmox.com>; Fri, 14 Oct 2022 10:01:02 +0200 (CEST)
Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1])
 by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 08043449DD;
 Fri, 14 Oct 2022 10:01:02 +0200 (CEST)
Message-ID: <8ca226ab-b320-0ee5-63b7-5ddb97c83213@proxmox.com>
Date: Fri, 14 Oct 2022 10:01:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.3.0
Content-Language: en-US
To: Alwin Antreich <alwin@antreich.com>,
 Proxmox VE development discussion <pve-devel@lists.proxmox.com>
References: <20221012132218.395848-1-s.sterz@proxmox.com>
 <40F19362-B31D-460A-B995-9F3E366C55F5@antreich.com>
From: Stefan Sterz <s.sterz@proxmox.com>
In-Reply-To: <40F19362-B31D-460A-B995-9F3E366C55F5@antreich.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-SPAM-LEVEL: Spam detection results:  0
 AWL 1.321 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           -2.856 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 manager] ui: remove ceph-mgr pools from rbd
 pool selection
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
X-List-Received-Date: Fri, 14 Oct 2022 08:01:34 -0000

On 10/13/22 16:11, Alwin Antreich wrote:
> On October 12, 2022 3:22:18 PM GMT+02:00, Stefan Sterz <s.sterz@proxmox.com> wrote:
>> when using a hyper-converged cluster it was previously possible to add
>> the pool used by the ceph-mgr modules (".mgr" since quincy or
>> "device_health_metrics" previously) as an RBD storage. this would lead
>> to all kinds of errors when that storage was used (e.g.: VMs missing
>> their disks after a migration). hence, filter these pools from the
>> list of available pools.
>>
>> Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
>> ---
>> www/manager6/form/CephPoolSelector.js | 14 ++++++++++++--
>> 1 file changed, 12 insertions(+), 2 deletions(-)
>>
>> diff --git a/www/manager6/form/CephPoolSelector.js b/www/manager6/form/CephPoolSelector.js
>> index 5b96398d..eabb04ef 100644
>> --- a/www/manager6/form/CephPoolSelector.js
>> +++ b/www/manager6/form/CephPoolSelector.js
>> @@ -15,9 +15,17 @@ Ext.define('PVE.form.CephPoolSelector', {
>> 	    throw "no nodename given";
>> 	}
>>
>> +	let filterCephMgrPools = (item) => {
>> +	    let name = item.data.pool_name;
>> +	    return name !== ".mgr" && name !== "device_health_metrics";
>> +	};
>> +
>> 	var store = Ext.create('Ext.data.Store', {
>> 	    fields: ['name'],
>> 	    sorters: 'name',
>> +	    filters: [
>> +		filterCephMgrPools,
>> +	    ],
>> 	    proxy: {
>> 		type: 'proxmox',
>> 		url: '/api2/json/nodes/' + me.nodename + '/ceph/pools',
>> @@ -32,8 +40,10 @@ Ext.define('PVE.form.CephPoolSelector', {
>>
>> 	store.load({
>> 	    callback: function(rec, op, success) {
>> -		if (success && rec.length > 0) {
>> -		    me.select(rec[0]);
>> +		let filteredRec = rec.filter(filterCephMgrPools);
>> +
>> +		if (success && filteredRec.length > 0) {
>> +		    me.select(filteredRec[0]);
>> 		}
>> 	    },
>> 	});
> A thought, each ceph pool has an application associated (eg. rbd/cephfs). You could use these to create an inclusion filter. You can see them with `ceph osd pool application get`.

Ah thanks! :) I was looking for something like that. Sadly the API
endpoint used here does not return this information. I'll check how much
work it is to extend it and start working on a v2 of this patch!

> From the voice from the off. :⁠-⁠)
> 
> Cheers,
> Alwin
> Hi,
>