[pve-devel] [PATCH manager] Improve storage selection on restore

Fabian Ebner f.ebner at proxmox.com
Tue May 5 13:20:57 CEST 2020


Previously, the blank '' would be passed along and lead to a
parameter verfication failure.

For LXC the default behavior in the backend is to use 'local' as
the storage, so disallow blank and auto-select the first storage
supporting 'rootdir' instead.

For QEMU the default behavior in the backend is to use the
original layout from the backup configuration file, which
makes sense to use as the default in the GUI as well.

Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
---
 www/manager6/window/Restore.js | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/www/manager6/window/Restore.js b/www/manager6/window/Restore.js
index 3f9ad3bc..09c8a997 100644
--- a/www/manager6/window/Restore.js
+++ b/www/manager6/window/Restore.js
@@ -24,7 +24,11 @@ Ext.define('PVE.window.Restore', {
 	    value: '',
 	    fieldLabel: gettext('Storage'),
 	    storageContent: (me.vmtype === 'lxc') ? 'rootdir' : 'images',
-	    allowBlank: true
+	    // when restoring a container without specifying a storage, the backend defaults
+	    // to 'local', which is unintuitive and 'rootdir' might not even be allowed on it
+	    allowBlank: (me.vmtype === 'lxc') ? false : true,
+	    emptyText: (me.vmtype === 'lxc') ? '' : gettext('use old layout'),
+	    autoSelect: (me.vmtype === 'lxc') ? true : false,
 	});
 
 	var IDfield;
@@ -135,16 +139,15 @@ Ext.define('PVE.window.Restore', {
 	var submitBtn = Ext.create('Ext.Button', {
 	    text: gettext('Restore'),
 	    handler: function(){
-		var storage = storagesel.getValue();
 		var values = form.getValues();
 
 		var params = {
-		    storage: storage,
 		    vmid: me.vmid || values.vmid,
 		    force: me.vmid ? 1 : 0
 		};
 		if (values.unique) { params.unique = 1; }
 		if (values.start) { params.start = 1; }
+		if (values.storage) { params.storage = values.storage; }
 
 		if (values.bwlimit !== undefined) {
 		    params.bwlimit = values.bwlimit;
-- 
2.20.1





More information about the pve-devel mailing list