]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/window/Migrate.js
1 Ext
.define('PVE.window.Migrate', {
2 extend
: 'Ext.window.Window',
6 migrate: function(target
, online
) {
12 if (me
.vmtype
=== 'qemu') {
13 params
.online
= online
;
15 params
.restart
= online
;
18 PVE
.Utils
.API2Request({
20 url
: '/nodes/' + me
.nodename
+ '/' + me
.vmtype
+ '/' + me
.vmid
+ "/migrate",
23 failure: function(response
, opts
) {
24 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
26 success: function(response
, options
) {
27 var upid
= response
.result
.data
;
28 var extraTitle
= Ext
.String
.format(' ({0} ---> {1})', me
.nodename
, target
);
30 var win
= Ext
.create('PVE.window.TaskViewer', {
32 extraTitle
: extraTitle
40 initComponent : function() {
44 throw "no node name specified";
48 throw "no VM ID specified";
52 throw "no VM type specified";
56 var vmrec
= PVE
.data
.ResourceStore
.findRecord('vmid', me
.vmid
,
57 0, false, false, true);
58 if (vmrec
&& vmrec
.data
&& vmrec
.data
.running
) {
62 me
.formPanel
= Ext
.create('Ext.form.Panel', {
71 xtype
: 'pveNodeSelector',
73 fieldLabel
: gettext('Target node'),
75 disallowedNodes
: [me
.nodename
],
84 fieldLabel
: me
.vmtype
=== 'qemu' ? gettext('Online') : gettext('Restart Mode')
89 var form
= me
.formPanel
.getForm();
91 var submitBtn
= Ext
.create('Ext.Button', {
92 text
: gettext('Migrate'),
94 var values
= form
.getValues();
95 me
.migrate(values
.target
, values
.online
);
101 // the onlinehelp parser needs
102 // that every id is explicitely written
103 // can we do this better?
104 if (me
.vmtype
=== 'qemu') {
106 onlineHelp
: 'qm_migration',
107 listenToGlobalEvent
: false,
112 onlineHelp
: 'pct_migration',
113 listenToGlobalEvent
: false,
118 var helpBtn
= Ext
.create('PVE.button.Help', helpConfig
);
121 title
: gettext('Migrate') + ((me
.vmtype
=== 'qemu')?' VM ':' CT ') + me
.vmid
,
126 items
: [ me
.formPanel
],
127 buttons
: [ helpBtn
, '->', submitBtn
]
132 me
.mon(me
.formPanel
, 'validitychange', function(fp
, isValid
) {
133 submitBtn
.setDisabled(!isValid
);
136 me
.formPanel
.isValid();