From 9ab9155bf0559ea160d1a1e02d179d6f0f358300 Mon Sep 17 00:00:00 2001 From: Pierre Donias Date: Wed, 23 Nov 2016 10:38:24 +0100 Subject: [PATCH] fix(vif.set): remove old VIF before creating new one (#457) Fixes #1784 --- src/api/vif.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/api/vif.js b/src/api/vif.js index 3bf06ea3b..16001eb87 100644 --- a/src/api/vif.js +++ b/src/api/vif.js @@ -10,7 +10,6 @@ import { async function delete_ ({vif}) { this.allocIpAddresses( vif.id, - vif.$network, null, vif.allowedIpv4Addresses.concat(vif.allowedIpv6Addresses) )::pCatch(noop) @@ -85,16 +84,16 @@ export async function set ({ attached == null && (attached = vif.attached) await this.allocIpAddresses(vif.id, null, oldIpAddresses) + await xapi.deleteVif(vif._xapiId) // create new VIF with new parameters - await xapi.createVif(vm.$id, network.$id, { + const newVif = await xapi.createVif(vm.$id, network.$id, { mac, currently_attached: attached, - ipv4Allowed: allowedIpv4Addresses, - ipv6Allowed: allowedIpv6Addresses + ipv4_allowed: newIpAddresses }) - await this.allocIpAddresses(vif.id, newIpAddresses) + await this.allocIpAddresses(newVif.$id, newIpAddresses) return }