fix(xo-server): ignore disabled remotes when running VM backup (#6430)
This commit is contained in:
parent
f82eb8aeb4
commit
2d6b827fd2
@ -22,6 +22,7 @@
|
|||||||
- [Tasks] Fix the pool filter that did not display tasks even if they existed (PR [#6424](https://github.com/vatesfr/xen-orchestra/pull/6424))
|
- [Tasks] Fix the pool filter that did not display tasks even if they existed (PR [#6424](https://github.com/vatesfr/xen-orchestra/pull/6424))
|
||||||
- [Tasks] Fix tasks being displayed for all users (PR [#6422](https://github.com/vatesfr/xen-orchestra/pull/6422))
|
- [Tasks] Fix tasks being displayed for all users (PR [#6422](https://github.com/vatesfr/xen-orchestra/pull/6422))
|
||||||
- [Storage/advanced] Fix the display of VDI to coalesce [#6334](https://xcp-ng.org/forum/topic/6334/coalesce-not-showing-anymore) (PR [#6429](https://github.com/vatesfr/xen-orchestra/pull/6429))
|
- [Storage/advanced] Fix the display of VDI to coalesce [#6334](https://xcp-ng.org/forum/topic/6334/coalesce-not-showing-anymore) (PR [#6429](https://github.com/vatesfr/xen-orchestra/pull/6429))
|
||||||
|
- [Backup] Ignore disabled remotes instead of failing the execution [#6347](https://github.com/vatesfr/xen-orchestra/issues/6374) (PR [#6430](https://github.com/vatesfr/xen-orchestra/pull/6430))
|
||||||
|
|
||||||
### Packages to release
|
### Packages to release
|
||||||
|
|
||||||
|
@ -193,9 +193,17 @@ export default class BackupNg {
|
|||||||
|
|
||||||
const remotes = {}
|
const remotes = {}
|
||||||
const xapis = {}
|
const xapis = {}
|
||||||
|
const remoteErrors = {}
|
||||||
await waitAll([
|
await waitAll([
|
||||||
asyncMapSettled(remoteIds, async id => {
|
asyncMapSettled(remoteIds, async id => {
|
||||||
const remote = await app.getRemoteWithCredentials(id)
|
let remote
|
||||||
|
try {
|
||||||
|
remote = await app.getRemoteWithCredentials(id)
|
||||||
|
} catch (error) {
|
||||||
|
log.warn('Error while instantiating remote', { error, remoteId: id })
|
||||||
|
remoteErrors[id] = error
|
||||||
|
return
|
||||||
|
}
|
||||||
if (remote.proxy !== proxyId) {
|
if (remote.proxy !== proxyId) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
proxyId === undefined
|
proxyId === undefined
|
||||||
@ -221,6 +229,17 @@ export default class BackupNg {
|
|||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
])
|
])
|
||||||
|
if (Object.keys(remotes).length === 0) {
|
||||||
|
const error = new Error(`couldn't instantiate any remote`)
|
||||||
|
error.errors = remoteErrors
|
||||||
|
throw error
|
||||||
|
}
|
||||||
|
// update remotes list with only the enabled remotes
|
||||||
|
job.remotes = {
|
||||||
|
id: {
|
||||||
|
__or: Object.keys(remotes),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
const params = {
|
const params = {
|
||||||
job,
|
job,
|
||||||
|
Loading…
Reference in New Issue
Block a user