diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md index 2e906d9b9..39eb9e234 100644 --- a/CHANGELOG.unreleased.md +++ b/CHANGELOG.unreleased.md @@ -23,4 +23,5 @@ +- xo-server patch diff --git a/packages/xo-server/src/xo-mixins/backups-ng/index.mjs b/packages/xo-server/src/xo-mixins/backups-ng/index.mjs index 06733673c..c8e4c6db9 100644 --- a/packages/xo-server/src/xo-mixins/backups-ng/index.mjs +++ b/packages/xo-server/src/xo-mixins/backups-ng/index.mjs @@ -229,11 +229,17 @@ export default class BackupNg { } }), ]) - if (Object.keys(remotes).length === 0) { + + // Fails the job if all remotes are disabled + // + // TODO: integrate each failure in its own tasks and still proceed + // with other tasks like rolling snapshot and replication. + if (remoteIds.length > 0 && 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: {