[pve-devel] [PATCH V4 manager 2/3] fix #3967: enable ZFS dRAID creation in WebGUI
Stefan Hrdlicka
s.hrdlicka at proxmox.com
Thu Nov 10 14:24:49 CET 2022
add fields for additional settings required by ZFS dRAID
Signed-off-by: Stefan Hrdlicka <s.hrdlicka at proxmox.com>
---
www/manager6/node/ZFS.js | 69 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 69 insertions(+)
diff --git a/www/manager6/node/ZFS.js b/www/manager6/node/ZFS.js
index 5b3bdbda..75d7d8e1 100644
--- a/www/manager6/node/ZFS.js
+++ b/www/manager6/node/ZFS.js
@@ -9,6 +9,27 @@ Ext.define('PVE.node.CreateZFS', {
isCreate: true,
width: 800,
+ viewModel: {
+ data: {
+ raidLevel: 'single',
+ },
+ formulas: {
+ isdraid: function(get) {
+ return get('raidLevel').startsWith("draid");
+ },
+ draidconfig: function(get) {
+ if (get('isdraid')) {
+ var config = {};
+ config.data = get('draiddata');
+ config.spares = get('draidspares');
+ return PVE.Parser.printPropertyString(config);
+ } else {
+ return "";
+ }
+ },
+ },
+ },
+
initComponent: function() {
let me = this;
@@ -49,7 +70,54 @@ Ext.define('PVE.node.CreateZFS', {
['raidz', 'RAIDZ'],
['raidz2', 'RAIDZ2'],
['raidz3', 'RAIDZ3'],
+ ['draid', 'dRAID'],
+ ['draid2', 'dRAID2'],
+ ['draid3', 'dRAID3'],
],
+ bind: {
+ value: '{raidLevel}',
+ },
+ },
+ {
+ xtype: 'proxmoxtextfield',
+ name: 'draid-config',
+ hidden: true,
+ submitValue: true,
+ bind: {
+ value: '{draidconfig}',
+ },
+ },
+ {
+ xtype: 'proxmoxintegerfield',
+ fieldLabel: gettext('DRAID data devices'),
+ minValue: 1,
+ allowBlank: false,
+ disabled: true,
+ hidden: true,
+ submitValue: false,
+ bind: {
+ disabled: '{!isdraid}',
+ hidden: '{!isdraid}',
+ value: '{draiddata}',
+ },
+ reference: 'draiddata',
+ name: 'draiddata',
+ },
+ {
+ xtype: 'proxmoxintegerfield',
+ fieldLabel: gettext('DRAID spares'),
+ minValue: 0,
+ allowBlank: false,
+ disabled: true,
+ hidden: true,
+ submitValue: false,
+ bind: {
+ disabled: '{!isdraid}',
+ hidden: '{!isdraid}',
+ value: '{draidspares}',
+ },
+ reference: 'draidspares',
+ name: 'draidspares',
},
{
xtype: 'proxmoxKVComboBox',
@@ -101,6 +169,7 @@ Ext.define('PVE.node.CreateZFS', {
me.callParent();
},
+
});
Ext.define('PVE.node.ZFSList', {
--
2.30.2
More information about the pve-devel
mailing list