mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
server: Cleanup domain details when domain is deleted (#4445)
When domain is deleted, all the settings configured under the domain scope still exists in domain_details table. All the entries for the domain should be deleted as well
This commit is contained in:
parent
0d04bd621f
commit
de7b131724
@ -24,6 +24,7 @@ import java.util.UUID;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import com.cloud.domain.dao.DomainDetailsDao;
|
||||
import org.apache.cloudstack.api.ApiConstants;
|
||||
import org.apache.cloudstack.api.command.admin.domain.ListDomainChildrenCmd;
|
||||
import org.apache.cloudstack.api.command.admin.domain.ListDomainsCmd;
|
||||
@ -124,6 +125,8 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom
|
||||
private NetworkDomainDao _networkDomainDao;
|
||||
@Inject
|
||||
private ConfigurationManager _configMgr;
|
||||
@Inject
|
||||
private DomainDetailsDao _domainDetailsDao;
|
||||
|
||||
@Inject
|
||||
MessageBus _messageBus;
|
||||
@ -333,6 +336,7 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom
|
||||
s_logger.debug("Domain specific Virtual IP ranges " + " are successfully released as a part of domain id=" + domain.getId() + " cleanup.");
|
||||
}
|
||||
|
||||
cleanupDomainDetails(domain.getId());
|
||||
cleanupDomainOfferings(domain.getId());
|
||||
CallContext.current().putContextParameter(Domain.class, domain.getUuid());
|
||||
return true;
|
||||
@ -447,6 +451,10 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom
|
||||
_messageBus.publish(_name, MESSAGE_REMOVE_DOMAIN_EVENT, PublishScope.LOCAL, domain);
|
||||
}
|
||||
|
||||
protected void cleanupDomainDetails(Long domainId) {
|
||||
_domainDetailsDao.deleteDetails(domainId);
|
||||
}
|
||||
|
||||
protected void cleanupDomainOfferings(Long domainId) {
|
||||
if (domainId == null) {
|
||||
return;
|
||||
|
||||
@ -22,6 +22,7 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.cloud.domain.dao.DomainDetailsDao;
|
||||
import org.apache.cloudstack.context.CallContext;
|
||||
import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
|
||||
import org.apache.cloudstack.framework.messagebus.MessageBus;
|
||||
@ -92,6 +93,8 @@ public class DomainManagerImplTest {
|
||||
MessageBus _messageBus;
|
||||
@Mock
|
||||
ConfigurationManager _configMgr;
|
||||
@Mock
|
||||
DomainDetailsDao _domainDetailsDao;
|
||||
|
||||
@Spy
|
||||
@InjectMocks
|
||||
@ -191,6 +194,7 @@ public class DomainManagerImplTest {
|
||||
domainManager.deleteDomain(DOMAIN_ID, testDomainCleanup);
|
||||
Mockito.verify(domainManager).deleteDomain(domain, testDomainCleanup);
|
||||
Mockito.verify(domainManager).removeDomainWithNoAccountsForCleanupNetworksOrDedicatedResources(domain);
|
||||
Mockito.verify(domainManager).cleanupDomainDetails(DOMAIN_ID);
|
||||
Mockito.verify(domainManager).cleanupDomainOfferings(DOMAIN_ID);
|
||||
Mockito.verify(lock).unlock();
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user