]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/window/Migrate.js
be4f667662a260f6316344255086899b65820551
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
] = 1;
34 Proxmox
.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('Proxmox.window.TaskViewer', {
48 extraTitle
: extraTitle
67 reference
: 'formPanel',
76 xtype
: 'pveNodeSelector',
77 reference
: 'pveNodeSelector',
79 fieldLabel
: gettext('Target node'),
81 disallowedNodes
: undefined,
85 xtype
: 'displayfield',
86 reference
: 'migrationMode',
87 fieldLabel
: gettext('Mode'),
88 value
: gettext('Offline')
95 xtype
: 'pveHelpButton',
96 reference
: 'pveHelpButton',
97 onlineHelp
: 'pct_migration',
98 listenToGlobalEvent
: false,
104 reference
: 'submitButton',
105 text
: gettext('Migrate')
109 initComponent : function() {
113 throw "no node name specified";
117 throw "no VM ID specified";
121 throw "no VM type specified";
126 var title
= gettext('Migrate') + (' CT ') + me
.vmid
;
127 me
.liveMode
= 'restart';
129 if (me
.vmtype
=== 'qemu') {
130 me
.lookup('pveHelpButton').setHelpConfig({
131 onlineHelp
: 'qm_migration'
133 title
= gettext('Migrate') + (' VM ') + me
.vmid
;
134 me
.liveMode
= 'online';
138 var vmrec
= PVE
.data
.ResourceStore
.findRecord('vmid', me
.vmid
,
139 0, false, false, true);
140 if (vmrec
&& vmrec
.data
&& vmrec
.data
.running
) {
145 var displayField
= me
.lookup('migrationMode');
146 if (me
.vmtype
=== 'qemu') {
147 displayField
.setValue(gettext('Online'));
148 me
.liveMode
= 'online';
150 displayField
.setValue(gettext('Restart Mode'));
151 me
.liveMode
= 'restart';
156 me
.lookup('pveNodeSelector').disallowedNodes
= [me
.nodename
];
157 me
.lookup('formPanel').isValid();