From 6a4db27e277e6632c6fb7b1ffb72029f1710fd14 Mon Sep 17 00:00:00 2001 From: Stephan Duehr Date: Thu, 23 Feb 2023 16:11:31 +0100 Subject: [PATCH 1/5] vmware plugin: fix restore to different vmname Bugfix for restore to different vmname in same folder failing with duplicate name error. Check for invalid plugin option also works correctly now for both plugin options and config file. --- .../python/vmware/BareosFdPluginVMware.py | 32 +++++++++++++------ 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/core/src/plugins/filed/python/vmware/BareosFdPluginVMware.py b/core/src/plugins/filed/python/vmware/BareosFdPluginVMware.py index 060eb08444c..11369dd1bc7 100644 --- a/core/src/plugins/filed/python/vmware/BareosFdPluginVMware.py +++ b/core/src/plugins/filed/python/vmware/BareosFdPluginVMware.py @@ -110,7 +110,14 @@ def __init__(self, plugindef): "restore_resourcepool", "restore_datastore", "restore_powerstate", + "poweron_timeout", + "config_file", ] + self.allowed_options = ( + self.mandatory_options_default + + self.mandatory_options_vmname + + self.optional_options + ) self.utf8_options = ["vmname", "folder"] self.config = None self.config_parsed = False @@ -175,11 +182,6 @@ def check_config(self): """ bareosfd.DebugMessage(100, "BareosFdPluginVMware: check_config()\n") mandatory_sections = ["vmware_plugin_options"] - allowed_options = ( - self.mandatory_options_default - + self.mandatory_options_vmname - + self.optional_options - ) for section in mandatory_sections: if not self.config.has_section(section): @@ -191,7 +193,7 @@ def check_config(self): return False for option in self.config.options(section): - if option not in allowed_options: + if option not in self.allowed_options: bareosfd.JobMessage( bareosfd.M_FATAL, "BareosFdPluginVMware: Invalid option %s in Section [%s] in config file %s\n" @@ -266,6 +268,15 @@ def check_plugin_options(self, mandatory_options=None): return bareosfd.bRC_Error + invalid_options = ",".join(list(set(self.options) - set(self.allowed_options))) + if invalid_options: + bareosfd.JobMessage( + bareosfd.M_FATAL, + "BareosFdPluginVMware: Invalid plugin options: %s\n" + % (invalid_options), + ) + return bareosfd.bRC_Error + for option in self.utf8_options: if self.options.get(option): # make sure to convert to utf8 @@ -1442,7 +1453,9 @@ def create_vm(self): return False self.vmfs_vm_path_changed = True - config = transformer.transform(target_datastore_name=datastore_name) + config = transformer.transform( + target_datastore_name=datastore_name, target_vm_name=self.options["vmname"] + ) for child in self.si.content.rootFolder.childEntity: if child.name == self.options["dc"]: @@ -2626,7 +2639,7 @@ def __init__(self, config_info): self.backing_filename_snapshot_rex = re.compile(r"(-\d{6})\.vmdk$") self.target_datastore_name = None - def transform(self, target_datastore_name=None): + def transform(self, target_datastore_name=None, target_vm_name=None): config_spec = vim.vm.ConfigSpec() self.target_datastore_name = target_datastore_name config_spec.alternateGuestName = self.config_info["alternateGuestName"] @@ -2668,6 +2681,8 @@ def transform(self, target_datastore_name=None): ] config_spec.migrateEncryption = self.config_info["migrateEncryption"] config_spec.name = self.config_info["name"] + if target_vm_name: + config_spec.name = target_vm_name config_spec.nestedHVEnabled = self.config_info["nestedHVEnabled"] config_spec.numCoresPerSocket = self.config_info["hardware"][ "numCoresPerSocket" @@ -3408,7 +3423,6 @@ def _transform_vAppConfig(self): return vapp_config_spec def _transform_VAppIpAssignmentInfo(self, ip_assignment_info): - ip_assignment = vim.vApp.IPAssignmentInfo() ip_assignment.ipAllocationPolicy = ip_assignment_info["ipAllocationPolicy"] ip_assignment.ipProtocol = ip_assignment_info["ipProtocol"] From 8da33179507f5e5b3a8ca9e397dbe399bd0d206c Mon Sep 17 00:00:00 2001 From: Stephan Duehr Date: Mon, 27 Feb 2023 19:08:56 +0100 Subject: [PATCH 2/5] docs: Clarify plugin options in VMware Plugin Clarify the use of plugin options in the Bareos VMware Plugin, especially on restore and when using the Bareos WebUI. --- .../FileDaemonPlugins/VMwarePlugin.rst.inc | 41 +++++++++++++++++-- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/docs/manuals/source/TasksAndConcepts/Plugins/FileDaemonPlugins/VMwarePlugin.rst.inc b/docs/manuals/source/TasksAndConcepts/Plugins/FileDaemonPlugins/VMwarePlugin.rst.inc index d126d3dccc8..a7f4c0ef81e 100644 --- a/docs/manuals/source/TasksAndConcepts/Plugins/FileDaemonPlugins/VMwarePlugin.rst.inc +++ b/docs/manuals/source/TasksAndConcepts/Plugins/FileDaemonPlugins/VMwarePlugin.rst.inc @@ -39,6 +39,10 @@ Current limitations amongst others are: When creating a VM from template or OVA, the parameter **ddb.adaptertype** in the .vmdk file is changed from **lsilogic** to **buslogic** although SCSI adapter type is VMware Paravirtual or LSI Logic. Restore works to the same still existing VM, but when such a VM was completely removed so that the plugin recreates it via vSphere API, the newly created disk will have **ddb.adaptertype** set to **lsilogic** with different numbers of cylinders and heads which causes the restore to fail due to disk geometry mismatch. Currently there's no known workaround. +.. limitation:: VMware Plugin: Restore to different vCenter Server is unsupported. + + Restore to a different vCenter Server was not tested, it will probably not work, so it is currently unsupported. + Requirements ^^^^^^^^^^^^ @@ -338,6 +342,33 @@ Since :sinceVersion:`22.0.0: VMware Plugin: recreate VMs` the plugin will recrea When restoring a VM to a different location while the backed up VM still exists and a static IP is configured within the VM: To avoid IP address conflicts, make sure to also add the plugin option :command:`restore_powerstate=off` and disable or change the network adapter configuration of the VM before powering it on. +To restore to a different folder, datacenter, host, cluster, resource pool or datastore, the corresponding plugin options must be passed. All plugin options which have been effective at backup time will be passed on restore and each individual option can be overridden by passing an options string at restore time. For example, to restore to a different VM name and different datastore, pass the following plugin option string: + +.. code-block:: bconsole + :caption: Example plugin options string + + python:datastore=datastore2:vmname=testvm1restored + +All other plugin options which are not passed explicitily on restore will be the same as at backup time. + +Note that most plugin options are used for backup and restore, but there are some which can be only used on restore, for example to prevent from powering on the VM automatically after restore if it was powered on at backup time, use this plugin options string: + +.. code-block:: bconsole + :caption: Example plugin options string with powerstate + + python:datastore=datastore2:vmname=testvm1restored:restore_powerstate=off + +See below for a complete restore example and description of all plugin options. + + +Restore using Bareos WebUI +'''''''''''''''''''''''''' + +Since :sinceVersion:`22.0.0: VMware Plugin: Restore using WebUI` it is possible to use the Bareos WebUI to restore VMware Plugin jobs. + +When using the WebUI to restore a VMware Plugin job, it is **important** to set *Merge all client file sets* to **no** and *Merge all jobs up to the last full backup together* to **yes**. In the *File selection* all files must be selected. Only restoring selected virtual disks will probably not work and is currently unsupported. The Bareos WebUI will detect if a plugin based jobs is restore and will then show an additional *Plugin options* field, here a plugin options string starting with ``python:`` as described above can be entered. + + Restore to local VMDK File ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -484,8 +515,10 @@ After the restore process has finished, the restored VMDK files can be found und Description of all Plugin Options ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Note that all plugin options that have been used at backup time, are passed on restore. The VM metadata is saved in restoreobjects both in the catalog DB and volume, it is used on restore if the VM must be recreated. Most options are used for both backup and restore, some which can be only used for restore start with **restore_**. Where nothing special is mentioned regarding restore, it is normally not necessary or useful to ovirride that option on restore. + vcserver (mandatory on backup) - Hostname (FQDN) or IP address of vCenter server + Hostname (FQDN) or IP address of vCenter server. This should not be overridden on restore, as it is currently unknown if this works, so restore to a different vCenter is currently not supported. vcuser (mandatory on backup) Username for API access to vCenter, eg. administrator@vsphere.local @@ -494,13 +527,13 @@ vcpass (mandatory on backup) Password for API access to vCenter dc (mandatory on backup) - Datacenter name + Datacenter name. This can be optionally passed on restore to recreate the VM in a different datacenter. folder (mandatory on backup) - The VM folder in which the VM to be backed up resides. This must be given like a UNIX path with ``/`` as separator. + The VM folder in which the VM to be backed up resides. This must be given like a UNIX path with ``/`` as separator. On restore it is possible to recreate the VM in a different folder by passing this option, note thathe plugin will not create any folder, please make sure that the folder already exists before starting the restore. vmname (mandatory on backup) - The name of the VM to be backed up. + The name of the VM to be backed up. On restore it is possible to override this option in order to recreate the VM with a different name. vcthumbprint (optional) Thumbprint of the vCenter SSL Certificate, which is the SHA1 checksum of the SSL Certificate From 3bd11b8fec0172d5ed7a7d661253cd0128ee2512 Mon Sep 17 00:00:00 2001 From: sduehr Date: Tue, 28 Feb 2023 16:21:16 +0100 Subject: [PATCH 3/5] Apply suggestions from code review Co-authored-by: Bruno Friedmann @Bareos <89836284+bruno-at-bareos@users.noreply.github.com> --- .../Plugins/FileDaemonPlugins/VMwarePlugin.rst.inc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/manuals/source/TasksAndConcepts/Plugins/FileDaemonPlugins/VMwarePlugin.rst.inc b/docs/manuals/source/TasksAndConcepts/Plugins/FileDaemonPlugins/VMwarePlugin.rst.inc index a7f4c0ef81e..c8a049754c1 100644 --- a/docs/manuals/source/TasksAndConcepts/Plugins/FileDaemonPlugins/VMwarePlugin.rst.inc +++ b/docs/manuals/source/TasksAndConcepts/Plugins/FileDaemonPlugins/VMwarePlugin.rst.inc @@ -345,7 +345,7 @@ Since :sinceVersion:`22.0.0: VMware Plugin: recreate VMs` the plugin will recrea To restore to a different folder, datacenter, host, cluster, resource pool or datastore, the corresponding plugin options must be passed. All plugin options which have been effective at backup time will be passed on restore and each individual option can be overridden by passing an options string at restore time. For example, to restore to a different VM name and different datastore, pass the following plugin option string: .. code-block:: bconsole - :caption: Example plugin options string + :caption: Example restore plugin options string python:datastore=datastore2:vmname=testvm1restored @@ -354,9 +354,9 @@ All other plugin options which are not passed explicitily on restore will be the Note that most plugin options are used for backup and restore, but there are some which can be only used on restore, for example to prevent from powering on the VM automatically after restore if it was powered on at backup time, use this plugin options string: .. code-block:: bconsole - :caption: Example plugin options string with powerstate + :caption: Example restore plugin options string with powerstate - python:datastore=datastore2:vmname=testvm1restored:restore_powerstate=off + python:restore_datastore=datastore2:vmname=testvm1restored:restore_powerstate=off See below for a complete restore example and description of all plugin options. @@ -515,10 +515,10 @@ After the restore process has finished, the restored VMDK files can be found und Description of all Plugin Options ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Note that all plugin options that have been used at backup time, are passed on restore. The VM metadata is saved in restoreobjects both in the catalog DB and volume, it is used on restore if the VM must be recreated. Most options are used for both backup and restore, some which can be only used for restore start with **restore_**. Where nothing special is mentioned regarding restore, it is normally not necessary or useful to ovirride that option on restore. +Note that all plugin options that have been used at backup time, are passed on restore. The VM metadata is saved in restoreobjects both in the catalog DB and volume, it is used on restore if the VM must be recreated. Most options are used for both backup and restore, some which can be only used for restore start with **restore_**. Where nothing special is mentioned regarding restore, it is normally not necessary or useful to override that option on restore. vcserver (mandatory on backup) - Hostname (FQDN) or IP address of vCenter server. This should not be overridden on restore, as it is currently unknown if this works, so restore to a different vCenter is currently not supported. + Hostname (FQDN) or IP address of vCenter server. Restore to different vCenter Server is unsupported. vcuser (mandatory on backup) Username for API access to vCenter, eg. administrator@vsphere.local @@ -530,7 +530,7 @@ dc (mandatory on backup) Datacenter name. This can be optionally passed on restore to recreate the VM in a different datacenter. folder (mandatory on backup) - The VM folder in which the VM to be backed up resides. This must be given like a UNIX path with ``/`` as separator. On restore it is possible to recreate the VM in a different folder by passing this option, note thathe plugin will not create any folder, please make sure that the folder already exists before starting the restore. + The VM folder in which the VM to be backed up resides. This must be given like a UNIX path with ``/`` as separator. On restore if defined will recreate the VM in a different folder. The given folder must exist before starting the restore. vmname (mandatory on backup) The name of the VM to be backed up. On restore it is possible to override this option in order to recreate the VM with a different name. From 3234d25cbcf501cdbbe530bf3dbbb26b0270d976 Mon Sep 17 00:00:00 2001 From: Stephan Duehr Date: Tue, 28 Feb 2023 23:36:32 +0100 Subject: [PATCH 4/5] VMware Plugin: WebUI restore screenshot in docs --- .../FileDaemonPlugins/VMwarePlugin.rst.inc | 2 ++ .../bareos-webui-restore-with-pluginoptions.png | Bin 0 -> 75438 bytes 2 files changed, 2 insertions(+) create mode 100644 docs/manuals/source/include/images/bareos-webui-restore-with-pluginoptions.png diff --git a/docs/manuals/source/TasksAndConcepts/Plugins/FileDaemonPlugins/VMwarePlugin.rst.inc b/docs/manuals/source/TasksAndConcepts/Plugins/FileDaemonPlugins/VMwarePlugin.rst.inc index c8a049754c1..a16f11d4593 100644 --- a/docs/manuals/source/TasksAndConcepts/Plugins/FileDaemonPlugins/VMwarePlugin.rst.inc +++ b/docs/manuals/source/TasksAndConcepts/Plugins/FileDaemonPlugins/VMwarePlugin.rst.inc @@ -368,6 +368,8 @@ Since :sinceVersion:`22.0.0: VMware Plugin: Restore using WebUI` it is possible When using the WebUI to restore a VMware Plugin job, it is **important** to set *Merge all client file sets* to **no** and *Merge all jobs up to the last full backup together* to **yes**. In the *File selection* all files must be selected. Only restoring selected virtual disks will probably not work and is currently unsupported. The Bareos WebUI will detect if a plugin based jobs is restore and will then show an additional *Plugin options* field, here a plugin options string starting with ``python:`` as described above can be entered. +.. image:: /include/images/bareos-webui-restore-with-pluginoptions.* + :width: 80.0% Restore to local VMDK File ^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/docs/manuals/source/include/images/bareos-webui-restore-with-pluginoptions.png b/docs/manuals/source/include/images/bareos-webui-restore-with-pluginoptions.png new file mode 100644 index 0000000000000000000000000000000000000000..ef2c71bbdc903347df329065eb282007000af04a GIT binary patch literal 75438 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 D(~fyi literal 0 HcmV?d00001 From a8a688b0e79811cd1f8155b889e2de934b58e9b5 Mon Sep 17 00:00:00 2001 From: Andreas Rogge Date: Wed, 1 Mar 2023 10:50:24 +0100 Subject: [PATCH 5/5] Update CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0939953b356..83cfae95c9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,6 +37,7 @@ and since Bareos version 20 this project adheres to [Semantic Versioning](https: - Fix gcc warnings in ndmjob program [PR #1343] - filed: avoid reading from ephemeral buffer [PR #1373] - checkpoints: fix performance drop on big volume restores [PR #1345] +- VMware Plugin: fix restore to different vmname [PR #1390] ### Documentation - add explanation about binary version numbers [PR #1354] @@ -69,4 +70,5 @@ and since Bareos version 20 this project adheres to [Semantic Versioning](https: [PR #1378]: https://github.com/bareos/bareos/pull/1378 [PR #1387]: https://github.com/bareos/bareos/pull/1387 [PR #1389]: https://github.com/bareos/bareos/pull/1389 +[PR #1390]: https://github.com/bareos/bareos/pull/1390 [unreleased]: https://github.com/bareos/bareos/tree/master