From d12ece455dc429832c1aec873f5eb65d02bf1267 Mon Sep 17 00:00:00 2001 From: mathieuRA Date: Mon, 15 Jan 2024 14:53:51 +0100 Subject: [PATCH] feat(xo-web/backup): add 'nRetriesVmBackupFailures' input --- CHANGELOG.unreleased.md | 2 +- packages/xo-web/src/common/intl/messages.js | 1 + .../xo-web/src/xo-app/backup/new/index.js | 19 +++++++++++++++++++ .../src/xo-app/backup/new/mirror/index.js | 16 +++++++++++++++- .../src/xo-app/backup/overview/tab-jobs.js | 4 ++++ 5 files changed, 40 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md index 4168ee7de..fbd569edb 100644 --- a/CHANGELOG.unreleased.md +++ b/CHANGELOG.unreleased.md @@ -12,7 +12,7 @@ - [REST API] Export host [SMT](https://en.wikipedia.org/wiki/Simultaneous_multithreading) status at `/hosts/:id/smt` [Forum#71374](https://xcp-ng.org/forum/post/71374) - [Home & REST API] `$container` field of an halted VM now points to a host if a VDI is on a local storage [Forum#71769](https://xcp-ng.org/forum/post/71769) - [Size Input] Ability to select two new units in the dropdown (`TiB`, `PiB`) (PR [#7382](https://github.com/vatesfr/xen-orchestra/pull/7382)) - +- [Backup] Ability to set a number of retries for VM backup failures [#2139](https://github.com/vatesfr/xen-orchestra/issues/2139) (PR [#7308](https://github.com/vatesfr/xen-orchestra/pull/7308)) ### Bug fixes diff --git a/packages/xo-web/src/common/intl/messages.js b/packages/xo-web/src/common/intl/messages.js index 26cbab434..94c4375f4 100644 --- a/packages/xo-web/src/common/intl/messages.js +++ b/packages/xo-web/src/common/intl/messages.js @@ -141,6 +141,7 @@ const messages = { removeColor: 'Remove color', xcpNg: 'XCP-ng', noFileSelected: 'No file selected', + nRetriesVmBackupFailures: 'Number of retries if VM backup fails', // ----- Modals ----- alertOk: 'OK', diff --git a/packages/xo-web/src/xo-app/backup/new/index.js b/packages/xo-web/src/xo-app/backup/new/index.js index 07a53785b..31d8c337b 100644 --- a/packages/xo-web/src/xo-app/backup/new/index.js +++ b/packages/xo-web/src/xo-app/backup/new/index.js @@ -189,6 +189,7 @@ const getInitialState = ({ preSelectedVmIds, setHomeVmIdsSelection, suggestedExc drMode: false, name: '', nbdConcurrency: 1, + nRetriesVmBackupFailures: 0, preferNbd: false, remotes: [], schedules: {}, @@ -635,6 +636,11 @@ const New = decorate([ nbdConcurrency, }) }, + setNRetriesVmBackupFailures({ setGlobalSettings }, nRetries) { + setGlobalSettings({ + nRetriesVmBackupFailures: nRetries, + }) + }, }, computed: { compressionId: generateId, @@ -644,6 +650,7 @@ const New = decorate([ inputMaxExportRate: generateId, inputPreferNbd: generateId, inputNbdConcurrency: generateId, + inputNRetriesVmBackupFailures: generateId, inputTimeoutId: generateId, // In order to keep the user preference, the offline backup is kept in the DB @@ -756,6 +763,7 @@ const New = decorate([ fullInterval, maxExportRate, nbdConcurrency = 1, + nRetriesVmBackupFailures = 0, offlineBackup, offlineSnapshot, preferNbd, @@ -990,6 +998,17 @@ const New = decorate([ value={concurrency} /> + + + +