mirror of
https://github.com/apache/cloudstack.git
synced 2025-12-17 02:53:18 +01:00
Remove deploy as-is details when removing templates or vms
This commit is contained in:
parent
a43d0a6085
commit
0f5a6ee589
@ -40,6 +40,7 @@ import java.util.concurrent.TimeUnit;
|
||||
import javax.inject.Inject;
|
||||
import javax.naming.ConfigurationException;
|
||||
|
||||
import com.cloud.deployasis.dao.UserVmDeployAsIsDetailsDao;
|
||||
import org.apache.cloudstack.affinity.dao.AffinityGroupVMMapDao;
|
||||
import org.apache.cloudstack.api.ApiConstants;
|
||||
import org.apache.cloudstack.api.command.admin.vm.MigrateVMCmd;
|
||||
@ -344,6 +345,8 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
private NetworkDetailsDao networkDetailsDao;
|
||||
@Inject
|
||||
private SecurityGroupManager _securityGroupManager;
|
||||
@Inject
|
||||
private UserVmDeployAsIsDetailsDao userVmDeployAsIsDetailsDao;
|
||||
|
||||
VmWorkJobHandlerProxy _jobHandlerProxy = new VmWorkJobHandlerProxy(this);
|
||||
|
||||
@ -594,6 +597,13 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
//remove the overcommit details from the uservm details
|
||||
userVmDetailsDao.removeDetails(vm.getId());
|
||||
|
||||
// Remove details if VM deploy as-is
|
||||
long templateId = vm.getTemplateId();
|
||||
VMTemplateVO template = _templateDao.findById(templateId);
|
||||
if (template != null && template.isDeployAsIs()) {
|
||||
userVmDeployAsIsDetailsDao.removeDetails(vm.getId());
|
||||
}
|
||||
|
||||
// send hypervisor-dependent commands before removing
|
||||
final List<Command> finalizeExpungeCommands = hvGuru.finalizeExpunge(vm);
|
||||
if (finalizeExpungeCommands != null && finalizeExpungeCommands.size() > 0) {
|
||||
|
||||
@ -26,6 +26,7 @@ import java.util.concurrent.ExecutionException;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import com.cloud.configuration.Config;
|
||||
import com.cloud.deployasis.dao.TemplateDeployAsIsDetailsDao;
|
||||
import com.cloud.storage.dao.VMTemplateDetailsDao;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
import com.cloud.utils.db.TransactionCallback;
|
||||
@ -129,6 +130,8 @@ public class HypervisorTemplateAdapter extends TemplateAdapterBase {
|
||||
VMTemplateDao templateDao;
|
||||
@Inject
|
||||
private VMTemplateDetailsDao templateDetailsDao;
|
||||
@Inject
|
||||
private TemplateDeployAsIsDetailsDao templateDeployAsIsDetailsDao;
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
@ -598,6 +601,11 @@ public class HypervisorTemplateAdapter extends TemplateAdapterBase {
|
||||
// Remove template details
|
||||
templateDetailsDao.removeDetails(template.getId());
|
||||
|
||||
// Remove deploy-as-is details
|
||||
if (template.isDeployAsIs()) {
|
||||
templateDeployAsIsDetailsDao.removeDetails(template.getId());
|
||||
}
|
||||
|
||||
}
|
||||
return success;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user