apache / apache/cloudstack

Backup provider improvements

Open
#12,280 1 comment 0 reactions 0 assignees View on GitHub
component:backup type:enhancement
Dominant language
Java
Stars
3.1k
Forks
1.4k
Avg merge
6d 19h
Merged PRs (30d)
32

Description

### The required feature described as a wish

Currently, with the backup implementation, I found the following issues/limitations

**Issue 1**

**Allow multiple backup framework providers at zone level**

**Steps to reproduce the issue**

1. Have a CloudStack environment with One zone and multiple clusters ( KVM. VMware)

2. Configure VEEAM for vmare cluster

https://docs.cloudstack.apache.org/en/4.22.0.0/adminguide/veeam_plugin.html

3. Configure NAS for KVM cluster

https://docs.cloudstack.apache.org/en/4.22.0.0/adminguide/nas_plugin.html#nas-backup-and-recovery-plugin

4. Configure the Global setting "backup.framework.provider.plugin" = veeam.nas

Image

5. Navigate to Service offering > Backup offering

Image

```

2025-12-17 07:24:28,644 ERROR [c.c.a.AlertManagerImpl] (CapacityChecker:[ctx-96786e18]) (logid:0203c46c) Exception in CapacityChecker com.cloud.utils.exception.CloudRuntimeException: Failed to find backup provider by the name: veeam,nas
at org.apache.cloudstack.backup.BackupManagerImpl.getBackupProvider(BackupManagerImpl.java:1656)
at org.apache.cloudstack.backup.BackupManagerImpl.getBackupProvider(BackupManagerImpl.java:1648)
at org.apache.cloudstack.backup.BackupManagerImpl.getBackupStorageUsedStats(BackupManagerImpl.java:2262)
at org.apache.cloudstack.backup.BackupManagerImpl.getBackupStorageUsedStats(BackupManagerImpl.java:176)
at jdk.internal.reflect.GeneratedMethodAccessor417.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)

```

**Current behaviour**

Currently, only one Backup framework is allowed per zone, it would be

**Expected behaviour**

It would be great if we could configure the "backup.framework.provider.plugin" at cluster level rather than zone level or support multiple backup providers at zone level

---------------
**Issue 2**

**Associate the backup offerings based on the hypervisor or cluster**

**Steps to reproduce the issue**

1. Have multiple backup offerings one for kvm and one for vmware

Image

2. Navigate to deploy vm form Compute > Select a KVM host or KVM template , all the backup offering are displayed

Similarly, select a VMWare host or vmware template , all the backup offering are displayed

Image

3. Similarly, in the instance view all the backup offerings are displayed

Image

**Expected behaviour**

It would be great if we could display the backup offerings based on the hypervisor or cluster type ( KVM or vmware)

Contributor guide

Open the contributing guide

Research direction

Start with the BackupManagerImpl.java locations shown in the stack trace and read the linked Veeam and NAS plugin documentation. Reproduce the zone configuration and inspect the Compute deployment and instance views described in the issue. Done means multiple providers can coexist as required and backup offerings are filtered by hypervisor or cluster type.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend, cloud, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.