mirror of
https://github.com/vatesfr/xen-orchestra.git
synced 2026-11-09 17:06:13 -06:00
fix(xo-server-sdn-controller): Wrap preferred-center lookup in try/catch
The value stored for preferred-center could be wrong or out-of-date. If no XAPI object exists with such uuid (the host designed as preferred center was removed from XAPI), avoid to hard fail, and consider the value is absent.
This commit is contained in:
committed by
Sebastien Marie
parent
767fc2cb76
commit
b9fa292b9d
@@ -539,10 +539,18 @@ class SDNController extends EventEmitter {
|
||||
let privateNetwork = this.privateNetworks[uuid]
|
||||
if (privateNetwork === undefined) {
|
||||
const preferredCenterUuid = otherConfig['xo:sdn-controller:preferred-center']
|
||||
const preferredCenter =
|
||||
preferredCenterUuid !== undefined
|
||||
? this._xo.getXapiObject(this._xo.getObject(preferredCenterUuid, 'host'))
|
||||
: undefined
|
||||
let preferredCenter
|
||||
if (preferredCenterUuid !== undefined) {
|
||||
try {
|
||||
preferredCenter = this._xo.getXapiObject(this._xo.getObject(preferredCenterUuid, 'host'))
|
||||
} catch (error) {
|
||||
log.warn('Stale preferred center, will be elected when a host becomes available', {
|
||||
network: network.name_label,
|
||||
preferredCenterUuid,
|
||||
error,
|
||||
})
|
||||
}
|
||||
}
|
||||
privateNetwork = new PrivateNetwork(this, uuid, preferredCenter)
|
||||
this.privateNetworks[uuid] = privateNetwork
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user