mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Merge release branch 4.18 to 4.19
* 4.18: Fix list backups after backup vm is expunged (#9392)
This commit is contained in:
commit
a53365d1c7
@ -36,6 +36,7 @@ import org.apache.cloudstack.api.response.ZoneResponse;
|
||||
import org.apache.cloudstack.backup.Backup;
|
||||
import org.apache.cloudstack.backup.BackupManager;
|
||||
import org.apache.cloudstack.context.CallContext;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.exception.ConcurrentOperationException;
|
||||
import com.cloud.exception.InsufficientCapacityException;
|
||||
@ -49,6 +50,7 @@ import com.cloud.utils.Pair;
|
||||
responseObject = BackupResponse.class, since = "4.14.0",
|
||||
authorized = {RoleType.Admin, RoleType.ResourceAdmin, RoleType.DomainAdmin, RoleType.User})
|
||||
public class ListBackupsCmd extends BaseListProjectAndAccountResourcesCmd {
|
||||
private static final Logger s_logger = Logger.getLogger(ListBackupsCmd.class);
|
||||
|
||||
@Inject
|
||||
private BackupManager backupManager;
|
||||
@ -116,6 +118,7 @@ public class ListBackupsCmd extends BaseListProjectAndAccountResourcesCmd {
|
||||
Pair<List<Backup>, Integer> result = backupManager.listBackups(this);
|
||||
setupResponseBackupList(result.first(), result.second());
|
||||
} catch (Exception e) {
|
||||
s_logger.debug("Exception while listing backups", e);
|
||||
throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@ -134,6 +134,7 @@ public interface Backup extends ControlledEntity, InternalIdentity, Identity {
|
||||
}
|
||||
|
||||
long getVmId();
|
||||
long getBackupOfferingId();
|
||||
String getExternalId();
|
||||
String getType();
|
||||
Date getDate();
|
||||
|
||||
@ -158,6 +158,7 @@ public class BackupVO implements Backup {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getBackupOfferingId() {
|
||||
return backupOfferingId;
|
||||
}
|
||||
|
||||
@ -145,7 +145,11 @@ public class BackupDaoImpl extends GenericDaoBase<BackupVO, Long> implements Bac
|
||||
AccountVO account = accountDao.findByIdIncludingRemoved(vm.getAccountId());
|
||||
DomainVO domain = domainDao.findByIdIncludingRemoved(vm.getDomainId());
|
||||
DataCenterVO zone = dataCenterDao.findByIdIncludingRemoved(vm.getDataCenterId());
|
||||
BackupOffering offering = backupOfferingDao.findByIdIncludingRemoved(vm.getBackupOfferingId());
|
||||
Long offeringId = vm.getBackupOfferingId();
|
||||
if (offeringId == null) {
|
||||
offeringId = backup.getBackupOfferingId();
|
||||
}
|
||||
BackupOffering offering = backupOfferingDao.findByIdIncludingRemoved(offeringId);
|
||||
|
||||
BackupResponse response = new BackupResponse();
|
||||
response.setId(backup.getUuid());
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user