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.Backup;
|
||||||
import org.apache.cloudstack.backup.BackupManager;
|
import org.apache.cloudstack.backup.BackupManager;
|
||||||
import org.apache.cloudstack.context.CallContext;
|
import org.apache.cloudstack.context.CallContext;
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import com.cloud.exception.ConcurrentOperationException;
|
import com.cloud.exception.ConcurrentOperationException;
|
||||||
import com.cloud.exception.InsufficientCapacityException;
|
import com.cloud.exception.InsufficientCapacityException;
|
||||||
@ -49,6 +50,7 @@ import com.cloud.utils.Pair;
|
|||||||
responseObject = BackupResponse.class, since = "4.14.0",
|
responseObject = BackupResponse.class, since = "4.14.0",
|
||||||
authorized = {RoleType.Admin, RoleType.ResourceAdmin, RoleType.DomainAdmin, RoleType.User})
|
authorized = {RoleType.Admin, RoleType.ResourceAdmin, RoleType.DomainAdmin, RoleType.User})
|
||||||
public class ListBackupsCmd extends BaseListProjectAndAccountResourcesCmd {
|
public class ListBackupsCmd extends BaseListProjectAndAccountResourcesCmd {
|
||||||
|
private static final Logger s_logger = Logger.getLogger(ListBackupsCmd.class);
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private BackupManager backupManager;
|
private BackupManager backupManager;
|
||||||
@ -116,6 +118,7 @@ public class ListBackupsCmd extends BaseListProjectAndAccountResourcesCmd {
|
|||||||
Pair<List<Backup>, Integer> result = backupManager.listBackups(this);
|
Pair<List<Backup>, Integer> result = backupManager.listBackups(this);
|
||||||
setupResponseBackupList(result.first(), result.second());
|
setupResponseBackupList(result.first(), result.second());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
s_logger.debug("Exception while listing backups", e);
|
||||||
throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, e.getMessage());
|
throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -134,6 +134,7 @@ public interface Backup extends ControlledEntity, InternalIdentity, Identity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
long getVmId();
|
long getVmId();
|
||||||
|
long getBackupOfferingId();
|
||||||
String getExternalId();
|
String getExternalId();
|
||||||
String getType();
|
String getType();
|
||||||
Date getDate();
|
Date getDate();
|
||||||
|
|||||||
@ -158,6 +158,7 @@ public class BackupVO implements Backup {
|
|||||||
this.status = status;
|
this.status = status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public long getBackupOfferingId() {
|
public long getBackupOfferingId() {
|
||||||
return backupOfferingId;
|
return backupOfferingId;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -145,7 +145,11 @@ public class BackupDaoImpl extends GenericDaoBase<BackupVO, Long> implements Bac
|
|||||||
AccountVO account = accountDao.findByIdIncludingRemoved(vm.getAccountId());
|
AccountVO account = accountDao.findByIdIncludingRemoved(vm.getAccountId());
|
||||||
DomainVO domain = domainDao.findByIdIncludingRemoved(vm.getDomainId());
|
DomainVO domain = domainDao.findByIdIncludingRemoved(vm.getDomainId());
|
||||||
DataCenterVO zone = dataCenterDao.findByIdIncludingRemoved(vm.getDataCenterId());
|
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();
|
BackupResponse response = new BackupResponse();
|
||||||
response.setId(backup.getUuid());
|
response.setId(backup.getUuid());
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user