This is an automated email from the ASF dual-hosted git repository.
pearl11594 pushed a commit to branch 4.19
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.19 by this push:
new 35e809e7ce4 Set external Id to null after
backupProvider.removeVMFromBackup (#10562)
35e809e7ce4 is described below
commit 35e809e7ce4cc7504ae8438bbde4592f9dc7ba2b
Author: Abhisar Sinha <[email protected]>
AuthorDate: Mon Mar 17 22:16:05 2025 +0530
Set external Id to null after backupProvider.removeVMFromBackup (#10562)
---
.../main/java/org/apache/cloudstack/backup/VeeamBackupProvider.java | 3 +++
.../src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java | 4 ++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git
a/plugins/backup/veeam/src/main/java/org/apache/cloudstack/backup/VeeamBackupProvider.java
b/plugins/backup/veeam/src/main/java/org/apache/cloudstack/backup/VeeamBackupProvider.java
index e20f67995b9..e8b65e19e0b 100644
---
a/plugins/backup/veeam/src/main/java/org/apache/cloudstack/backup/VeeamBackupProvider.java
+++
b/plugins/backup/veeam/src/main/java/org/apache/cloudstack/backup/VeeamBackupProvider.java
@@ -199,6 +199,9 @@ public class VeeamBackupProvider extends AdapterBase
implements BackupProvider,
public boolean removeVMFromBackupOffering(final VirtualMachine vm) {
final VeeamClient client = getClient(vm.getDataCenterId());
final VmwareDatacenter vmwareDC = findVmwareDatacenterForVM(vm);
+ if (vm.getBackupExternalId() == null) {
+ throw new CloudRuntimeException("The VM does not have a backup job
assigned.");
+ }
try {
if (!client.removeVMFromVeeamJob(vm.getBackupExternalId(),
vm.getInstanceName(), vmwareDC.getVcenterHost())) {
LOG.warn("Failed to remove VM from Veeam Job id: " +
vm.getBackupExternalId());
diff --git
a/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java
b/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java
index 36978ab2f87..2fc98973ad1 100644
--- a/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java
+++ b/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java
@@ -368,10 +368,10 @@ public class BackupManagerImpl extends ManagerBase
implements BackupManager {
boolean result = false;
try {
+ result = backupProvider.removeVMFromBackupOffering(vm);
vm.setBackupOfferingId(null);
- vm.setBackupExternalId(null);
vm.setBackupVolumes(null);
- result = backupProvider.removeVMFromBackupOffering(vm);
+ vm.setBackupExternalId(null);
if (result && backupProvider.willDeleteBackupsOnOfferingRemoval())
{
final List<Backup> backups = backupDao.listByVmId(null,
vm.getId());
for (final Backup backup : backups) {