feat(xo-web/migrateVm): show error when no main SR selected (#5568)

See xoa-support#3355
This commit is contained in:
Rajaa.BARHTAOUI 2021-02-18 10:57:00 +01:00 committed by GitHub
parent 43d31e285c
commit 90cafa126f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 1 deletions

View File

@ -1718,6 +1718,8 @@ const messages = {
migrateVmNetwork: 'Network',
migrateVmNoTargetHost: 'No target host',
migrateVmNoTargetHostMessage: 'A target host is required to migrate a VM',
migrateVmNoSr: 'SR required',
migrateVmNoSrMessage: 'A destination SR is required',
migrateVmNoDefaultSrError: 'No default SR',
migrateVmNotConnectedDefaultSrError: 'Default SR not connected to host',
chooseSrForEachVdisModalSelectSr: 'For each VDI, select an SR (optional)',

View File

@ -1247,10 +1247,18 @@ export const migrateVm = async (vm, host) => {
return
}
if (!params.targetHost) {
const { mapVdisSrs, migrationNetwork, sr, targetHost } = params
if (!targetHost) {
return error(_('migrateVmNoTargetHost'), _('migrateVmNoTargetHostMessage'))
}
// Workaround to prevent VM's VDIs from unexpectedly migrating to the default SR
// if migration network is defined, the SR is required.
if (migrationNetwork !== undefined && sr === undefined) {
return error(_('migrateVmNoSr'), _('migrateVmNoSrMessage'))
}
try {
await _call('vm.migrate', { vm: vm.id, ...params })
} catch (error) {