me.lookup('proxmoxHelpButton').setHelpConfig({
onlineHelp: vm.get(view.vmtype).onlineHelp,
});
- me.checkMigratePreconditions();
me.lookup('formPanel').isValid();
},
}
try {
+ if (me.fetchingNodeMigrateInfo && me.fetchingNodeMigrateInfo === vm.get('nodename')) {
+ return;
+ }
+ me.fetchingNodeMigrateInfo = vm.get('nodename');
let { result } = await Proxmox.Async.api2({
url: `/nodes/${vm.get('nodename')}/${vm.get('vmtype')}/${vm.get('vmid')}/migrate`,
method: 'GET',
});
migrateStats = result.data;
+ me.fetchingNodeMigrateInfo = false;
} catch (error) {
Ext.Msg.alert(gettext('Error'), error.htmlStatus);
return;
if (migrateStats.local_disks.length) {
migrateStats.local_disks.forEach(function(disk) {
if (disk.cdrom && disk.cdrom === 1) {
- if (disk.volid.includes('vm-' + vm.get('vmid') + '-cloudinit')) {
- if (migrateStats.running) {
- migration.possible = false;
- migration.preconditions.push({
- text: "Can't live migrate VM with local cloudinit disk, use shared storage instead",
- severity: 'error',
- });
- }
- } else {
+ if (!disk.volid.includes('vm-' + vm.get('vmid') + '-cloudinit')) {
migration.possible = false;
migration.preconditions.push({
text: "Can't migrate VM with local CD/DVD",