]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/window/Migrate.js
1 Ext
.define('PVE.window.Migrate', {
2 extend
: 'Ext.window.Window',
9 // private, used to store the migration mode after checking if the guest runs
13 xclass
: 'Ext.app.ViewController',
15 'panel[reference=formPanel]': {
16 validityChange: function(panel
, isValid
) {
17 this.lookup('submitButton').setDisabled(!isValid
);
20 'button[reference=submitButton]': {
23 var view
= me
.getView();
25 var values
= me
.lookup('formPanel').getValues();
31 params
[view
.liveMode
] = values
.online
;
34 PVE
.Utils
.API2Request({
36 url
: '/nodes/' + view
.nodename
+ '/' + view
.vmtype
+ '/' + view
.vmid
+ '/migrate',
39 failure: function(response
, opts
) {
40 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
42 success: function(response
, options
) {
43 var upid
= response
.result
.data
;
44 var extraTitle
= Ext
.String
.format(' ({0} ---> {1})', view
.nodename
, params
.target
);
46 Ext
.create('PVE.window.TaskViewer', {
48 extraTitle
: extraTitle
67 reference
: 'formPanel',
76 xtype
: 'pveNodeSelector',
77 reference
: 'pveNodeSelector',
79 fieldLabel
: gettext('Target node'),
81 disallowedNodes
: undefined,
86 reference
: 'onlineToggle',
91 fieldLabel
: gettext('Restart Mode')
98 xtype
: 'pveHelpButton',
99 reference
: 'pveHelpButton',
100 onlineHelp
: 'pct_migration',
101 listenToGlobalEvent
: false,
107 reference
: 'submitButton',
108 text
: gettext('Migrate')
112 initComponent : function() {
116 throw "no node name specified";
120 throw "no VM ID specified";
124 throw "no VM type specified";
129 var title
= gettext('Migrate') + (' CT ') + me
.vmid
;
130 me
.liveMode
= 'restart';
132 if (me
.vmtype
=== 'qemu') {
133 me
.lookup('onlineToggle').setFieldLabel(gettext('Online'));
134 me
.lookup('pveHelpButton').setHelpConfig({
135 onlineHelp
: 'qm_migration'
137 title
= gettext('Migrate') + (' VM ') + me
.vmid
;
138 me
.liveMode
= 'online';
143 var vmrec
= PVE
.data
.ResourceStore
.findRecord('vmid', me
.vmid
,
144 0, false, false, true);
145 if (vmrec
&& vmrec
.data
&& vmrec
.data
.running
) {
148 me
.lookup('onlineToggle').setValue(running
);
150 me
.lookup('pveNodeSelector').disallowedNodes
= [me
.nodename
];
151 me
.lookup('formPanel').isValid();