mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-07-21 19:08:05 +00:00
ui: ceph pool edit: disable size and crush rule for erasure pools
They cannot be changed after pool creation for erasure coded pools Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com> Reviewed-by: Dominik Csapak <d.csapak@proxmox.com> Tested-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
fca1900c76
commit
1a04202598
@ -19,9 +19,14 @@ Ext.define('PVE.CephPoolInputPanel', {
|
|||||||
allowBlank: false,
|
allowBlank: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'proxmoxintegerfield',
|
xtype: 'pmxDisplayEditField',
|
||||||
|
cbind: {
|
||||||
|
editable: '{!isErasure}',
|
||||||
|
},
|
||||||
fieldLabel: gettext('Size'),
|
fieldLabel: gettext('Size'),
|
||||||
name: 'size',
|
name: 'size',
|
||||||
|
editConfig: {
|
||||||
|
xtype: 'proxmoxintegerfield',
|
||||||
value: 3,
|
value: 3,
|
||||||
minValue: 2,
|
minValue: 2,
|
||||||
maxValue: 7,
|
maxValue: 7,
|
||||||
@ -35,6 +40,8 @@ Ext.define('PVE.CephPoolInputPanel', {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
},
|
||||||
],
|
],
|
||||||
column2: [
|
column2: [
|
||||||
{
|
{
|
||||||
@ -101,15 +108,19 @@ Ext.define('PVE.CephPoolInputPanel', {
|
|||||||
hidden: true,
|
hidden: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveCephRuleSelector',
|
xtype: 'pmxDisplayEditField',
|
||||||
fieldLabel: 'Crush Rule', // do not localize
|
|
||||||
name: 'crush_rule',
|
|
||||||
cbind: {
|
cbind: {
|
||||||
|
editable: '{!isErasure}',
|
||||||
nodename: '{nodename}',
|
nodename: '{nodename}',
|
||||||
isCreate: '{isCreate}',
|
isCreate: '{isCreate}',
|
||||||
},
|
},
|
||||||
|
fieldLabel: 'Crush Rule', // do not localize
|
||||||
|
name: 'crush_rule',
|
||||||
|
editConfig: {
|
||||||
|
xtype: 'pveCephRuleSelector',
|
||||||
allowBlank: false,
|
allowBlank: false,
|
||||||
},
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
xtype: 'proxmoxintegerfield',
|
xtype: 'proxmoxintegerfield',
|
||||||
fieldLabel: '# of PGs',
|
fieldLabel: '# of PGs',
|
||||||
@ -203,6 +214,7 @@ Ext.define('PVE.Ceph.PoolEdit', {
|
|||||||
cbind: {
|
cbind: {
|
||||||
nodename: '{nodename}',
|
nodename: '{nodename}',
|
||||||
pool_name: '{pool_name}',
|
pool_name: '{pool_name}',
|
||||||
|
isErasure: '{isErasure}',
|
||||||
isCreate: '{isCreate}',
|
isCreate: '{isCreate}',
|
||||||
},
|
},
|
||||||
}],
|
}],
|
||||||
@ -354,6 +366,7 @@ Ext.define('PVE.node.Ceph.PoolList', {
|
|||||||
title: gettext('Edit') + ': Ceph Pool',
|
title: gettext('Edit') + ': Ceph Pool',
|
||||||
nodename: nodename,
|
nodename: nodename,
|
||||||
pool_name: rec.data.pool_name,
|
pool_name: rec.data.pool_name,
|
||||||
|
isErasure: rec.data.type === 'erasure',
|
||||||
autoShow: true,
|
autoShow: true,
|
||||||
listeners: {
|
listeners: {
|
||||||
destroy: () => rstore.load(),
|
destroy: () => rstore.load(),
|
||||||
@ -371,6 +384,7 @@ Ext.define('PVE.node.Ceph.PoolList', {
|
|||||||
Ext.create('PVE.Ceph.PoolEdit', {
|
Ext.create('PVE.Ceph.PoolEdit', {
|
||||||
title: gettext('Create') + ': Ceph Pool',
|
title: gettext('Create') + ': Ceph Pool',
|
||||||
isCreate: true,
|
isCreate: true,
|
||||||
|
isErasure: false,
|
||||||
nodename: nodename,
|
nodename: nodename,
|
||||||
autoShow: true,
|
autoShow: true,
|
||||||
listeners: {
|
listeners: {
|
||||||
|
Loading…
Reference in New Issue
Block a user