Avoid crashes on failed VM backups.

This commit is contained in:
Julien Fontanet 2015-09-11 12:48:42 +02:00
parent a2adbb19bd
commit a2eca9589f

View File

@ -655,12 +655,15 @@ export default class Xo extends EventEmitter {
async backupVm ({vm, pathToFile, compress, onlyMetadata}) { async backupVm ({vm, pathToFile, compress, onlyMetadata}) {
const targetStream = fs.createWriteStream(pathToFile, { flags: 'wx' }) const targetStream = fs.createWriteStream(pathToFile, { flags: 'wx' })
const promise = eventToPromise(targetStream, 'finish')
const sourceStream = await this.getXAPI(vm).exportVm(vm.id, { const sourceStream = await this.getXAPI(vm).exportVm(vm.id, {
compress, compress,
onlyMetadata: onlyMetadata || false onlyMetadata: onlyMetadata || false
}) })
sourceStream.pipe(targetStream) sourceStream.pipe(targetStream)
await eventToPromise(targetStream, 'finish')
await promise
} }
async rollingBackupVm ({vm, path, tag, depth, compress, onlyMetadata}) { async rollingBackupVm ({vm, path, tag, depth, compress, onlyMetadata}) {