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());
             }
         }
     }

Reply via email to