all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
	Stefan Sterz <s.sterz@proxmox.com>
Subject: Re: [pve-devel] [PATCH manager v3 2/2] ui: only allow rbd pools to be added as rbd storage
Date: Thu, 20 Oct 2022 15:00:52 +0200	[thread overview]
Message-ID: <2d020cdd-9cea-48ef-d267-94bcc37d0b27@proxmox.com> (raw)
In-Reply-To: <20221020071704.46578-2-s.sterz@proxmox.com>

Am 20/10/2022 um 09:17 schrieb Stefan Sterz:
> previously the ui would allow adding all pools (even the default
> ceph-mon pools) as storage. this could lead to issues when users did
> use these pools as storage (e.g.: vms missing their disks after a
> migration). hence, restrict the pool selector to rbd pools.
> 
> fails gracefully by reverting to the previous behavior if a pool has
> no application assigned to it.
> 
> Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
> ---
> v3: changed the name of the filter function based on alwin antreich's
> suggestion
> 
>  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..b98feb54 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 onlyCephRBDPools = (item) => {
> +	    let apps = item.data?.applications;
> +	    return apps === undefined || apps?.rbd !== undefined;

couldn't this be a one liner? and as nit I'd maybe drop the Ceph from the name,
suggests a bit that we got non-ceph rbd pools.

// filter out rgw, metadata, cephfs, ... pools
onlyRBDPools = ({data}) => !!data?.applications?.rbd;


more generally, the application could be also shown in our ceph pool list, could
be useful to see the usage type of each pool, would also reduce confusion for the
a bit odd metadata pool with its single PG.

> +	};
> +
>  	var store = Ext.create('Ext.data.Store', {
>  	    fields: ['name'],
>  	    sorters: 'name',
> +	    filters: [
> +		onlyCephRBDPools,
> +	    ],
>  	    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(onlyCephRBDPools);
> +
> +		if (success && filteredRec.length > 0) {
> +		    me.select(filteredRec[0]);
>  		}
>  	    },
>  	});





  reply	other threads:[~2022-10-20 13:00 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-20  7:17 [pve-devel] [PATCH manager v3 1/2] api: ceph: add applications of each pool to the lspools endpoint Stefan Sterz
2022-10-20  7:17 ` [pve-devel] [PATCH manager v3 2/2] ui: only allow rbd pools to be added as rbd storage Stefan Sterz
2022-10-20 13:00   ` Thomas Lamprecht [this message]
2022-10-21  7:02     ` Stefan Sterz
2022-10-21  7:13       ` Thomas Lamprecht
2022-10-20 12:55 ` [pve-devel] [PATCH manager v3 1/2] api: ceph: add applications of each pool to the lspools endpoint Thomas Lamprecht
2022-10-21  6:57   ` Stefan Sterz
2022-10-21  7:04     ` Thomas Lamprecht
2022-10-21  7:59       ` Stefan Sterz
2022-10-21  9:54         ` Stefan Sterz

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=2d020cdd-9cea-48ef-d267-94bcc37d0b27@proxmox.com \
    --to=t.lamprecht@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    --cc=s.sterz@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal