[pve-devel] [v2 manager 25/27] add a 'create storage' button for ceph pools
Thomas Lamprecht
t.lamprecht at proxmox.com
Tue Aug 29 15:57:39 CEST 2017
On 08/29/2017 01:04 PM, Fabian Grünbichler wrote:
> From: Dominik Csapak <d.csapak at proxmox.com>
>
> with this, you can create a pveceph managed storage for a ceph pool
>
> Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
> Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
> ---
> changes since Dominik's v1:
> - adapted API path for storageS
>
> www/manager6/ceph/Pool.js | 67 ++++++++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 66 insertions(+), 1 deletion(-)
>
> diff --git a/www/manager6/ceph/Pool.js b/www/manager6/ceph/Pool.js
> index 1f304df2..5cb70814 100644
> --- a/www/manager6/ceph/Pool.js
> +++ b/www/manager6/ceph/Pool.js
> @@ -70,6 +70,50 @@ Ext.define('PVE.CephCreatePool', {
> }
> });
>
> +Ext.define('PVE.CephCreatePoolStorage', {
> + extend: 'PVE.window.Edit',
> + alias: 'widget.pveCephCreatePoolStorage',
suggesting class name: CephAddPoolAsStorage
fits more the semantics and used API entry, IMO
> +
> + subject: 'Ceph Pool Storage',
> + isCreate: true,
> + method: 'POST',
> + items: [
> + {
> + xtype: 'textfield',
> + fieldLabel: 'ID',
> + name: 'storage',
> + vtype: 'StorageId',
> + allowBlank: false
> + },
> + {
> + xtype: 'pvecheckbox',
> + fieldLabel: 'KRBD',
> + name: 'krbd'
> + }
> + ],
> + initComponent : function() {
> + /*jslint confusion: true */
unnecessary jslint confusion - this is highly probably a copy paste result as
the "PVE.CephCreatePool" class above (outside of this patch context) has this
too, maybe a remainder from the past.
> + var me = this;
> +
> + if (!me.nodename) {
> + throw "no node name specified";
> + }
> +
> + if (!me.pool) {
> + throw "no pool defined";
> + }
> +
> + Ext.apply(me, {
> + url: "/nodes/" + me.nodename + "/ceph/pools/" + me.pool + '/storages',
> + defaults: {
> + nodename: me.nodename
> + }
> + });
> +
> + me.callParent();
> + }
> +});
> +
> Ext.define('PVE.node.CephPoolList', {
> extend: 'Ext.grid.GridPanel',
> alias: 'widget.pveNodeCephPoolList',
> @@ -202,10 +246,31 @@ Ext.define('PVE.node.CephPoolList', {
> }
> });
>
> + var storages_btn = Ext.create('PVE.button.Button', {
> + text: gettext('Create Storage'),
Same as in patch 23 (add create storages checkbox to ceph pool creation) here:
With this patch applied we have:
[ Create ] [ Remove ] [ Create Storage ]
In the Pools panel header, which is again confusing.
Suggesting something in the like of: 'Add as/to Storage' or 'Configure as/to Storage'
I prefer 'Add..' because we use that wording normally in this context.
I notice that the lack of context specific help buttons for the Ceph stuff in general.
This is not a critique to this patch series, just something I noticed in general.
We should try to improve that.
> + selModel: sm,
> + disabled: true,
> + handler: function() {
> + var rec = sm.getSelection()[0];
> +
> + if (!rec.data.pool_name) {
> + return;
> + }
> + var win = Ext.create('PVE.CephCreatePoolStorage', {
> + nodename: nodename,
> + pool: rec.data.pool_name
> + });
> + win.show();
> + win.on('destroy', function() {
> + rstore.load();
> + });
> + }
> + });
> +
> Ext.apply(me, {
> store: store,
> selModel: sm,
> - tbar: [ create_btn, remove_btn ],
> + tbar: [ create_btn, remove_btn, storages_btn ],
> listeners: {
> activate: rstore.startUpdate,
> destroy: rstore.stopUpdate
>
More information about the pve-devel
mailing list