From cb1b37326e95f0e7f696cb7d3f7021597a44b32f Mon Sep 17 00:00:00 2001 From: Julien Fontanet Date: Mon, 5 Sep 2016 13:41:20 +0200 Subject: [PATCH] fix(vm.rollingDrCopy): avoid duplicates in VMs list (#387) Fixes vatesfr/xo-web#1464 --- src/xo-mixins/backups.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/xo-mixins/backups.js b/src/xo-mixins/backups.js index a5bf255fb..a60bafddb 100644 --- a/src/xo-mixins/backups.js +++ b/src/xo-mixins/backups.js @@ -690,12 +690,12 @@ export default class { const sourceXapi = this._xo.getXapi(vm) vm = sourceXapi.getObject(vm._xapiId) - const vms = [] + const vms = {} forEach(sr.$VDIs, vdi => { const vbds = vdi.$VBDs const vm = vbds && vbds[0] && vbds[0].$VM if (vm && reg.test(vm.name_label)) { - vms.push(vm) + vms[vm.$id] = vm } }) const olderCopies = sortBy(vms, 'name_label') @@ -706,7 +706,7 @@ export default class { }) await targetXapi.addTag(drCopy.$id, 'Disaster Recovery') - await Promise.all(mapToArray(olderCopies.slice(0, -depth), vm => + await Promise.all(mapToArray(olderCopies.slice(0, 1 - depth), vm => // Do not consider a failure to delete an old copy as a fatal error. targetXapi.deleteVm(vm.$id)::pCatch(noop) ))