From f9b3a1f293066e6cead2637223d8e8092617fe41 Mon Sep 17 00:00:00 2001
From: Mathieu <70369997+MathieuRA@users.noreply.github.com>
Date: Tue, 30 Mar 2021 17:48:45 +0200
Subject: [PATCH] feat(xo-web/restore): support new mac addresses (#5697)
---
CHANGELOG.unreleased.md | 1 +
packages/xo-web/src/common/intl/messages.js | 1 +
packages/xo-web/src/common/xo/index.js | 3 ++-
.../xo-web/src/xo-app/backup/restore/index.js | 10 ++++++----
.../restore/restore-backups-modal-body.js | 20 ++++++++++++++++++-
5 files changed, 29 insertions(+), 6 deletions(-)
diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md
index 71a1a6f5b..1f3a171a1 100644
--- a/CHANGELOG.unreleased.md
+++ b/CHANGELOG.unreleased.md
@@ -7,6 +7,7 @@
- [Host/Load-balancer] Add a new anti-affinity mode (PR [#5652](https://github.com/vatesfr/xen-orchestra/pull/5652))
- [Plugins/perf-alert] Ability to choose all hosts, VMs and SRs [#2987](https://github.com/vatesfr/xen-orchestra/issues/2987) (PR [#5692](https://github.com/vatesfr/xen-orchestra/pull/5692))
+- [Backup restore] Ability to generate new MAC addresses (PR [#5697](https://github.com/vatesfr/xen-orchestra/pull/5697))
### Bug fixes
diff --git a/packages/xo-web/src/common/intl/messages.js b/packages/xo-web/src/common/intl/messages.js
index 613af403b..35709f0c8 100644
--- a/packages/xo-web/src/common/intl/messages.js
+++ b/packages/xo-web/src/common/intl/messages.js
@@ -12,6 +12,7 @@ const messages = {
errorPageNotFound: 'Page not found',
errorNoSuchItem: 'No such item',
errorUnknownItem: 'Unknown {type}',
+ generateNewMacAddress: 'Generate new MAC addresses',
memoryFree: '{memoryFree} RAM free',
utcDate: 'UTC date',
utcTime: 'UTC time',
diff --git a/packages/xo-web/src/common/xo/index.js b/packages/xo-web/src/common/xo/index.js
index 54fd25a6a..3177c9715 100644
--- a/packages/xo-web/src/common/xo/index.js
+++ b/packages/xo-web/src/common/xo/index.js
@@ -2017,9 +2017,10 @@ export const runBackupNgJob = ({ force, ...params }) => {
export const listVmBackups = remotes => _call('backupNg.listVmBackups', { remotes: resolveIds(remotes) })
-export const restoreBackup = (backup, sr, startOnRestore) => {
+export const restoreBackup = (backup, sr, { generateNewMacAddresses = false, startOnRestore = false } = {}) => {
const promise = _call('backupNg.importVmBackup', {
id: resolveId(backup),
+ settings: { newMacAddresses: generateNewMacAddresses },
sr: resolveId(sr),
})
diff --git a/packages/xo-web/src/xo-app/backup/restore/index.js b/packages/xo-web/src/xo-app/backup/restore/index.js
index 1952b5056..1684df809 100644
--- a/packages/xo-web/src/xo-app/backup/restore/index.js
+++ b/packages/xo-web/src/xo-app/backup/restore/index.js
@@ -186,13 +186,13 @@ export default class Restore extends Component {
body: