Signed-off-by: Alexandre Derumier <aderum...@odiso.com> --- www/manager/Makefile | 1 + www/manager/window/MigrateAll.js | 84 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 www/manager/window/MigrateAll.js
diff --git a/www/manager/Makefile b/www/manager/Makefile index b2763da..78a3f4b 100644 --- a/www/manager/Makefile +++ b/www/manager/Makefile @@ -87,6 +87,7 @@ JSSRC= \ node/Config.js \ qemu/StatusView.js \ window/Migrate.js \ + window/MigrateAll.js \ qemu/Monitor.js \ qemu/Summary.js \ qemu/OSTypeEdit.js \ diff --git a/www/manager/window/MigrateAll.js b/www/manager/window/MigrateAll.js new file mode 100644 index 0000000..fb677f5 --- /dev/null +++ b/www/manager/window/MigrateAll.js @@ -0,0 +1,84 @@ +Ext.define('PVE.window.MigrateAll', { + extend: 'Ext.window.Window', + + resizable: false, + + migrate: function(target, maxworkers) { + var me = this; + PVE.Utils.API2Request({ + params: { target: target, maxworkers: maxworkers}, + url: '/nodes/' + me.nodename + '/' + "/migrateall", + waitMsgTarget: me, + method: 'POST', + failure: function(response, opts) { + Ext.Msg.alert('Error', response.htmlStatus); + }, + success: function(response, options) { + var upid = response.result.data; + + var win = Ext.create('PVE.window.TaskViewer', { + upid: upid + }); + win.show(); + me.close(); + } + }); + }, + + initComponent : function() { + var me = this; + + if (!me.nodename) { + throw "no node name specified"; + } + + me.formPanel = Ext.create('Ext.form.Panel', { + bodyPadding: 10, + border: false, + fieldDefaults: { + labelWidth: 100, + anchor: '100%' + }, + items: [ + { + xtype: 'PVE.form.NodeSelector', + name: 'target', + fieldLabel: 'Target node', + allowBlank: false, + onlineValidator: true + }, + { + xtype: 'numberfield', + name: 'maxworkers', + minValue: 1, + maxValue: 100, + value: 1, + fieldLabel: 'Parallel jobs', + allowBlank: false + }, + ] + }); + + var form = me.formPanel.getForm(); + + var submitBtn = Ext.create('Ext.Button', { + text: 'Migrate', + handler: function() { + var values = form.getValues(); + me.migrate(values.target, values.maxworkers); + } + }); + + Ext.apply(me, { + title: "Migrate All VMs", + width: 350, + modal: true, + layout: 'auto', + border: false, + items: [ me.formPanel ], + buttons: [ submitBtn ] + }); + + me.callParent(); + } +}); -- 1.7.10.4 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel