From b1a4e5467df87a5bc9107550a120be291a1ebb03 Mon Sep 17 00:00:00 2001 From: Julien Fontanet Date: Mon, 12 Apr 2021 11:01:42 +0200 Subject: [PATCH] feat(xo-server/xapi/startVm): move hostId into options --- packages/xo-server/src/api/vm.js | 2 +- packages/xo-server/src/xapi/index.js | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/xo-server/src/api/vm.js b/packages/xo-server/src/api/vm.js index a08799eb8..4d1b1caec 100644 --- a/packages/xo-server/src/api/vm.js +++ b/packages/xo-server/src/api/vm.js @@ -1028,7 +1028,7 @@ rollingDrCopy.description = // ------------------------------------------------------------------- export function start({ vm, bypassMacAddressesCheck, force, host }) { - return this.getXapi(vm).startVm(vm._xapiId, host?._xapiId, { bypassMacAddressesCheck, force }) + return this.getXapi(vm).startVm(vm._xapiId, { bypassMacAddressesCheck, force, hostId: host?._xapiId }) } start.params = { diff --git a/packages/xo-server/src/xapi/index.js b/packages/xo-server/src/xapi/index.js index a58f143e9..4a5fd7255 100644 --- a/packages/xo-server/src/xapi/index.js +++ b/packages/xo-server/src/xapi/index.js @@ -1349,7 +1349,7 @@ export default class Xapi extends XapiBase { return /* await */ this._snapshotVm(this.getObject(vmId), nameLabel) } - async _startVm(vm, host, { force = false, bypassMacAddressesCheck = force } = {}) { + async _startVm(vm, { force = false, bypassMacAddressesCheck = force, hostId } = {}) { if (!bypassMacAddressesCheck) { const vmMacAddresses = vm.$VIFs.map(vif => vif.MAC) if (new Set(vmMacAddresses).size !== vmMacAddresses.length) { @@ -1373,19 +1373,19 @@ export default class Xapi extends XapiBase { await vm.update_blocked_operations('start', null) } - return host === undefined + return hostId === undefined ? this.call( 'VM.start', vm.$ref, false, // Start paused? false // Skip pre-boot checks? ) - : this.callAsync('VM.start_on', vm.$ref, host.$ref, false, false) + : this.callAsync('VM.start_on', vm.$ref, this.getObject(hostId).$ref, false, false) } - async startVm(vmId, hostId, options) { + async startVm(vmId, options) { try { - await this._startVm(this.getObject(vmId), hostId && this.getObject(hostId), options) + await this._startVm(this.getObject(vmId), options) } catch (e) { if (e.code === 'OPERATION_BLOCKED') { throw forbiddenOperation('Start', e.params[1])