CLOUDSTACK-6458: IAM - When a domain is deleted , the group created for this domian is not removed.
Changes: - When domain is deleted or is removed during account cleanup, send message to IAM to remove the domain group Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/3d072b0d Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/3d072b0d Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/3d072b0d Branch: refs/heads/4.4 Commit: 3d072b0d029389aa883d2881215bc16ea7b33c9f Parents: 9aab604 Author: Prachi Damle <pra...@cloud.com> Authored: Tue Apr 22 18:34:01 2014 -0700 Committer: Daan Hoogland <d...@onecht.net> Committed: Fri Apr 25 21:57:18 2014 +0200 ---------------------------------------------------------------------- server/src/com/cloud/user/DomainManagerImpl.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3d072b0d/server/src/com/cloud/user/DomainManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/user/DomainManagerImpl.java b/server/src/com/cloud/user/DomainManagerImpl.java index fbbe0c2..fe6e530 100644 --- a/server/src/com/cloud/user/DomainManagerImpl.java +++ b/server/src/com/cloud/user/DomainManagerImpl.java @@ -227,7 +227,11 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom @Override public boolean removeDomain(long domainId) { - return _domainDao.remove(domainId); + boolean removed = _domainDao.remove(domainId); + if (removed) { + _messageBus.publish(_name, MESSAGE_REMOVE_DOMAIN_EVENT, PublishScope.LOCAL, domainId); + } + return removed; } @Override @@ -324,6 +328,9 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom " because it can't be removed due to resources referencing to it"); domain.setState(Domain.State.Active); _domainDao.update(domain.getId(), domain); + } else { + // succeeded in removing the domain + _messageBus.publish(_name, MESSAGE_REMOVE_DOMAIN_EVENT, PublishScope.LOCAL, domain.getId()); } } }