[pve-devel] [PATCH manager 3/3] Turn the offline/online checkbox of the Migrate Windows into a displayfield

Emmanuel Kasper e.kasper at proxmox.com
Thu Aug 24 11:45:20 CEST 2017


This checkbox had not effect whatsoever:
 * if the VM was online and offline was selected, the migration would fail
 with the message that the --online flag is needed for running VMs
 * if the the VM was offline and online was selected, the migration would
 happen offline anyway
---
 www/manager6/window/Migrate.js | 30 ++++++++++++++++++------------
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/www/manager6/window/Migrate.js b/www/manager6/window/Migrate.js
index 1434d40c..3b7b6266 100644
--- a/www/manager6/window/Migrate.js
+++ b/www/manager6/window/Migrate.js
@@ -27,8 +27,8 @@ Ext.define('PVE.window.Migrate', {
 			target: values.target
 		    };
 
-		    if (values.online) {
-			params[view.liveMode] = values.online;
+		    if (view.liveMode) {
+			params[view.liveMode] = 1;
 		    }
 
 		    PVE.Utils.API2Request({
@@ -82,13 +82,10 @@ Ext.define('PVE.window.Migrate', {
 		    onlineValidator: true
 		},
 		{
-		    xtype: 'pvecheckbox',
-		    reference: 'onlineToggle',
-		    name: 'online',
-		    uncheckedValue: 0,
-		    defaultValue: 0,
-		    checked: false,
-		    fieldLabel: gettext('Restart Mode')
+		    xtype: 'displayfield',
+		    reference: 'migrationMode',
+		    fieldLabel: gettext('Mode'),
+		    value: gettext('Offline')
 		}
 		]
 	}
@@ -130,14 +127,12 @@ Ext.define('PVE.window.Migrate', {
 	me.liveMode = 'restart';
 
 	if (me.vmtype === 'qemu') {
-	    me.lookup('onlineToggle').setFieldLabel(gettext('Online'));
 	    me.lookup('pveHelpButton').setHelpConfig({
 		onlineHelp: 'qm_migration'
 	    });
 	    title = gettext('Migrate') + (' VM ') + me.vmid;
 	    me.liveMode = 'online';
 	}
-	me.setTitle(title);
 
 	var running = false;
 	var vmrec = PVE.data.ResourceStore.findRecord('vmid', me.vmid,
@@ -145,8 +140,19 @@ Ext.define('PVE.window.Migrate', {
 	if (vmrec && vmrec.data && vmrec.data.running) {
 	    running = true;
 	}
-	me.lookup('onlineToggle').setValue(running);
 
+	if (running) {
+	    var displayField = me.lookup('migrationMode');
+	    if (me.vmtype === 'qemu') {
+		displayField.setValue(gettext('Online'));
+		me.liveMode = 'online';
+	    } else {
+		displayField.setValue(gettext('Restart Mode'));
+		me.liveMode = 'restart';
+	    }
+	}
+
+	me.setTitle(title);
 	me.lookup('pveNodeSelector').disallowedNodes = [me.nodename];
 	me.lookup('formPanel').isValid();
     }
-- 
2.11.0





More information about the pve-devel mailing list