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