From 0a78c2bb948c76ef7c9c3c8136e0dd0ff5894830 Mon Sep 17 00:00:00 2001 From: Julien Fontanet Date: Tue, 22 Jan 2019 16:44:41 +0100 Subject: [PATCH] fix(xo-server/moveVdi): wait deletion before creating new VBD Fixes #3426 --- packages/xo-server/src/xapi/index.js | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/packages/xo-server/src/xapi/index.js b/packages/xo-server/src/xapi/index.js index 02d98afbc..cb030ae66 100644 --- a/packages/xo-server/src/xapi/index.js +++ b/packages/xo-server/src/xapi/index.js @@ -1862,15 +1862,13 @@ export default class Xapi extends XapiBase { const newVdi = await this.barrier( await this.call('VDI.copy', vdi.$ref, sr.$ref) ) - await asyncMap(vdi.$VBDs, vbd => - Promise.all([ - this.call('VBD.destroy', vbd.$ref), - this.createVbd({ - ...vbd, - vdi: newVdi, - }), - ]) - ) + await asyncMap(vdi.$VBDs, async vbd => { + await this.call('VBD.destroy', vbd.$ref) + await this.createVbd({ + ...vbd, + vdi: newVdi, + }) + }) await this._deleteVdi(vdi) } }