Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions server/src/main/java/com/cloud/user/DomainManagerImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -333,6 +336,7 @@ public boolean deleteDomain(DomainVO domain, Boolean cleanup) {
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;
Expand Down Expand Up @@ -447,6 +451,10 @@ protected void publishRemoveEventsAndRemoveDomain(DomainVO domain) {
_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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
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;
Expand Down Expand Up @@ -92,6 +93,8 @@ public class DomainManagerImplTest {
MessageBus _messageBus;
@Mock
ConfigurationManager _configMgr;
@Mock
DomainDetailsDao _domainDetailsDao;

@Spy
@InjectMocks
Expand Down Expand Up @@ -191,6 +194,7 @@ public void testDeleteDomainNoCleanup() {
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();
}
Expand Down