diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md index 81ab88db804..f442f1060d0 100644 --- a/CHANGELOG.unreleased.md +++ b/CHANGELOG.unreleased.md @@ -16,6 +16,7 @@ - [REST API] Fix empty object's tasks list - [REST API] Fix incorrect `href` in `/:collection/:object/tasks` - [VM/Migration] Fix VDIs that were not migrated to the destination SR (PR [#7360](https://github.com/vatesfr/xen-orchestra/pull/7360)) +- [Home/VM] VMs migration from the home view will no longer execute a `migrate_send` unless it is necessary [Forum#8279](https://xcp-ng.org/forum/topic/8279/getting-errors-when-migrating-4-out-5-vmguest/)(PR [#7360](https://github.com/vatesfr/xen-orchestra/pull/7360)) ### Packages to release @@ -36,5 +37,6 @@ - @xen-orchestra/immutable-backups patch - @xen-orchestra/xva patch - xo-server patch +- xo-web patch diff --git a/packages/xo-web/src/common/xo/migrate-vms-modal/index.js b/packages/xo-web/src/common/xo/migrate-vms-modal/index.js index 67b8f42dc19..c470a202d4a 100644 --- a/packages/xo-web/src/common/xo/migrate-vms-modal/index.js +++ b/packages/xo-web/src/common/xo/migrate-vms-modal/index.js @@ -101,10 +101,6 @@ export default class MigrateVmsModalBody extends BaseComponent { ) } - componentDidMount() { - this._selectHost(this.props.host) - } - get value() { const { host } = this.state const vms = filter(this.props.vms, vm => vm.$container !== host.id) @@ -124,10 +120,14 @@ export default class MigrateVmsModalBody extends BaseComponent { forEach(vbds, vbd => { const vdi = vbd.VDI if (!vbd.is_cd_drive && vdi) { - mapVdisSrs[vdi] = doNotMigrateVmVdis[vm] || doNotMigrateVdi[vdi] ? this._getObject(vdi).$SR : srId + if (!doNotMigrateVmVdis[vm] && !doNotMigrateVdi[vdi]) { + mapVdisSrs[vdi] = srId + } } }) - mapVmsMapVdisSrs[vm] = mapVdisSrs + if (!isEmpty(mapVdisSrs)) { + mapVmsMapVdisSrs[vm] = mapVdisSrs + } }) const defaultNetwork = @@ -212,7 +212,7 @@ export default class MigrateVmsModalBody extends BaseComponent { networkId: defaultMigrationNetworkId, noVdisMigration, smartVifMapping: true, - srId: defaultSrConnectedToHost ? defaultSrId : undefined, + srId: !noVdisMigration && defaultSrConnectedToHost ? defaultSrId : undefined, }) }