feat(xo-server/xapi/startVm): move hostId into options

This commit is contained in:
Julien Fontanet 2021-04-12 11:01:42 +02:00
parent 4bbe8488fc
commit b1a4e5467d
2 changed files with 6 additions and 6 deletions

View File

@ -1028,7 +1028,7 @@ rollingDrCopy.description =
// ------------------------------------------------------------------- // -------------------------------------------------------------------
export function start({ vm, bypassMacAddressesCheck, force, host }) { 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 = { start.params = {

View File

@ -1349,7 +1349,7 @@ export default class Xapi extends XapiBase {
return /* await */ this._snapshotVm(this.getObject(vmId), nameLabel) 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) { if (!bypassMacAddressesCheck) {
const vmMacAddresses = vm.$VIFs.map(vif => vif.MAC) const vmMacAddresses = vm.$VIFs.map(vif => vif.MAC)
if (new Set(vmMacAddresses).size !== vmMacAddresses.length) { if (new Set(vmMacAddresses).size !== vmMacAddresses.length) {
@ -1373,19 +1373,19 @@ export default class Xapi extends XapiBase {
await vm.update_blocked_operations('start', null) await vm.update_blocked_operations('start', null)
} }
return host === undefined return hostId === undefined
? this.call( ? this.call(
'VM.start', 'VM.start',
vm.$ref, vm.$ref,
false, // Start paused? false, // Start paused?
false // Skip pre-boot checks? 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 { try {
await this._startVm(this.getObject(vmId), hostId && this.getObject(hostId), options) await this._startVm(this.getObject(vmId), options)
} catch (e) { } catch (e) {
if (e.code === 'OPERATION_BLOCKED') { if (e.code === 'OPERATION_BLOCKED') {
throw forbiddenOperation('Start', e.params[1]) throw forbiddenOperation('Start', e.params[1])