You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ki...@apache.org on 2013/02/28 07:10:04 UTC

[3/3] git commit: refs/heads/4.1 - CLOUDSTACK-241: Removed API based account sync. Removed all the related API changes. Converted tabs to spaces in the related files. Verified account, user and domain APIs manually.

Updated Branches:
  refs/heads/4.1 ccc51147a -> 79995bf62


CLOUDSTACK-241: Removed API based account sync. Removed all the related API changes. Converted tabs to spaces in the related files.
Verified account, user and domain APIs manually.


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/1a2173f4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/1a2173f4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/1a2173f4

Branch: refs/heads/4.1
Commit: 1a2173f4dbb0acfd96f8f41095dcf538cbd6556c
Parents: ccc5114
Author: Kishan Kavala <ki...@cloud.com>
Authored: Wed Feb 27 15:54:33 2013 +0530
Committer: Kishan Kavala <ki...@cloud.com>
Committed: Thu Feb 28 11:21:02 2013 +0530

----------------------------------------------------------------------
 api/src/com/cloud/user/AccountService.java         |    4 +-
 api/src/com/cloud/user/DomainService.java          |    2 +-
 .../org/apache/cloudstack/api/ApiConstants.java    |    5 +-
 .../command/admin/account/CreateAccountCmd.java    |   28 +-
 .../command/admin/account/DeleteAccountCmd.java    |   11 +-
 .../command/admin/account/DisableAccountCmd.java   |   17 +-
 .../command/admin/account/EnableAccountCmd.java    |   11 +-
 .../command/admin/account/UpdateAccountCmd.java    |   11 +-
 .../api/command/admin/domain/CreateDomainCmd.java  |   16 +-
 .../api/command/admin/domain/DeleteDomainCmd.java  |    9 +-
 .../api/command/admin/domain/UpdateDomainCmd.java  |   11 +-
 .../api/command/admin/user/CreateUserCmd.java      |   16 +-
 .../api/command/admin/user/DeleteUserCmd.java      |    9 +-
 .../api/command/admin/user/DisableUserCmd.java     |   11 +-
 .../api/command/admin/user/EnableUserCmd.java      |   11 +-
 .../api/command/admin/user/UpdateUserCmd.java      |   11 +-
 server/src/com/cloud/user/AccountManagerImpl.java  |   89 +-
 server/src/com/cloud/user/DomainManager.java       |    2 +-
 server/src/com/cloud/user/DomainManagerImpl.java   |   31 +-
 .../apache/cloudstack/region/RegionManager.java    |  194 +--
 .../cloudstack/region/RegionManagerImpl.java       | 1078 ++++++---------
 .../cloudstack/region/RegionServiceImpl.java       |  270 ++---
 .../apache/cloudstack/region/RegionsApiUtil.java   |  478 ++++----
 .../cloudstack/region/dao/RegionSyncDao.java       |   24 -
 .../cloudstack/region/dao/RegionSyncDaoImpl.java   |   35 -
 .../com/cloud/user/MockAccountManagerImpl.java     |   47 +-
 .../test/com/cloud/user/MockDomainManagerImpl.java |   38 +-
 setup/db/db/schema-40to410.sql                     |    9 -
 28 files changed, 896 insertions(+), 1582 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/api/src/com/cloud/user/AccountService.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/user/AccountService.java b/api/src/com/cloud/user/AccountService.java
index 8026891..f9c6ddb 100755
--- a/api/src/com/cloud/user/AccountService.java
+++ b/api/src/com/cloud/user/AccountService.java
@@ -62,7 +62,7 @@ public interface AccountService {
      * @return the user if created successfully, null otherwise
      */
     UserAccount createUserAccount(String userName, String password, String firstName, String lastName, String email, String timezone, String accountName, short accountType, Long domainId, String networkDomain,
-            Map<String, String> details, String accountUUID, String userUUID, Integer regionId);
+            Map<String, String> details);
 
     /**
      * Locks a user by userId. A locked user cannot access the API, but will still have running VMs/IP addresses
@@ -77,7 +77,7 @@ public interface AccountService {
 
     User getSystemUser();
 
-    User createUser(String userName, String password, String firstName, String lastName, String email, String timeZone, String accountName, Long domainId, String userUUID, Integer regionId);
+    User createUser(String userName, String password, String firstName, String lastName, String email, String timeZone, String accountName, Long domainId);
 
     boolean isAdmin(short accountType);
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/api/src/com/cloud/user/DomainService.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/user/DomainService.java b/api/src/com/cloud/user/DomainService.java
index 1a96354..1f03019 100644
--- a/api/src/com/cloud/user/DomainService.java
+++ b/api/src/com/cloud/user/DomainService.java
@@ -27,7 +27,7 @@ import com.cloud.utils.Pair;
 
 public interface DomainService {
 
-    Domain createDomain(String name, Long parentId, String networkDomain, String domainUUID, Integer regionId);
+    Domain createDomain(String name, Long parentId, String networkDomain);
 
     Domain getDomain(long id);
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/api/src/org/apache/cloudstack/api/ApiConstants.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/ApiConstants.java b/api/src/org/apache/cloudstack/api/ApiConstants.java
index 7efb7fe..834b272 100755
--- a/api/src/org/apache/cloudstack/api/ApiConstants.java
+++ b/api/src/org/apache/cloudstack/api/ApiConstants.java
@@ -376,9 +376,8 @@ public class ApiConstants {
     public static final String VSM_CONFIG_STATE = "vsmconfigstate";
     public static final String VSM_DEVICE_STATE = "vsmdevicestate";
     public static final String ADD_VSM_FLAG = "addvsmflag";
-	public static final String END_POINT = "endpoint";
-	public static final String REGION_ID = "regionid";
-	public static final String IS_PROPAGATE = "ispropagate";
+    public static final String END_POINT = "endpoint";
+    public static final String REGION_ID = "regionid";
     public static final String VPC_OFF_ID = "vpcofferingid";
     public static final String NETWORK = "network";
     public static final String VPC_ID = "vpcid";

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/api/src/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java b/api/src/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java
index b0f73d1..4121651 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java
@@ -78,19 +78,7 @@ public class CreateAccountCmd extends BaseCmd {
     @Parameter(name = ApiConstants.ACCOUNT_DETAILS, type = CommandType.MAP, description = "details for account used to store specific parameters")
     private Map<String, String> details;
 
-	//@Parameter(name = ApiConstants.REGION_DETAILS, type = CommandType.MAP, description = "details for account used to store region specific parameters")
-    //private Map<String, String> regionDetails;
-	
-    @Parameter(name=ApiConstants.ACCOUNT_ID, type=CommandType.STRING, description="Account UUID, required for adding account from another Region")
-    private String accountUUID;
 
-    @Parameter(name=ApiConstants.USER_ID, type=CommandType.STRING, description="User UUID, required for adding account from another Region")
-    private String userUUID;
-
-    @Parameter(name=ApiConstants.REGION_ID, type=CommandType.INTEGER, description="Id of the Region creating the account")
-    private Integer regionId;
-
-    
     /////////////////////////////////////////////////////
     /////////////////// Accessors ///////////////////////
     /////////////////////////////////////////////////////
@@ -145,18 +133,6 @@ public class CreateAccountCmd extends BaseCmd {
         return params;
     }
 
-    public String getAccountUUID() {
-		return accountUUID;
-	}
-
-	public String getUserUUID() {
-		return userUUID;
-	}
-
-	public Integer getRegionId() {
-		return regionId;
-	}
-    
     /////////////////////////////////////////////////////
     /////////////// API Implementation///////////////////
     /////////////////////////////////////////////////////
@@ -174,8 +150,8 @@ public class CreateAccountCmd extends BaseCmd {
     @Override
     public void execute(){
         UserContext.current().setEventDetails("Account Name: "+getAccountName()+", Domain Id:"+getDomainId());
-        UserAccount userAccount = _accountService.createUserAccount(getUsername(), getPassword(), getFirstName(), getLastName(), getEmail(), getTimeZone(), getAccountName(), getAccountType(), getDomainId(), getNetworkDomain(), getDetails(), 
-        		getAccountUUID(), getUserUUID(), getRegionId());
+        UserAccount userAccount = _accountService.createUserAccount(getUsername(), getPassword(), getFirstName(), getLastName(), getEmail(), getTimeZone(), getAccountName(), getAccountType(),
+                getDomainId(), getNetworkDomain(), getDetails());
         if (userAccount != null) {
             AccountResponse response = _responseGenerator.createUserAccountResponse(userAccount);
             response.setResponseName(getCommandName());

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/api/src/org/apache/cloudstack/api/command/admin/account/DeleteAccountCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/account/DeleteAccountCmd.java b/api/src/org/apache/cloudstack/api/command/admin/account/DeleteAccountCmd.java
index 959d7ce..9895da1 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/account/DeleteAccountCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/account/DeleteAccountCmd.java
@@ -48,11 +48,8 @@ public class DeleteAccountCmd extends BaseAsyncCmd {
             required=true, description="Account id")
     private Long id;
 
-    @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
-    private Boolean isPropagate;
-
     @Inject RegionService _regionService;
-    
+
     /////////////////////////////////////////////////////
     /////////////////// Accessors ///////////////////////
     /////////////////////////////////////////////////////
@@ -62,10 +59,6 @@ public class DeleteAccountCmd extends BaseAsyncCmd {
         return id;
     }
 
-	public Boolean getIsPropagate() {
-		return isPropagate;
-	}
-
     /////////////////////////////////////////////////////
     /////////////// API Implementation///////////////////
     /////////////////////////////////////////////////////
@@ -103,7 +96,7 @@ public class DeleteAccountCmd extends BaseAsyncCmd {
     @Override
     public void execute(){
         UserContext.current().setEventDetails("Account Id: "+getId());
- 
+
         boolean	result = _regionService.deleteUserAccount(this);
         if (result) {
             SuccessResponse response = new SuccessResponse(getCommandName());

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/api/src/org/apache/cloudstack/api/command/admin/account/DisableAccountCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/account/DisableAccountCmd.java b/api/src/org/apache/cloudstack/api/command/admin/account/DisableAccountCmd.java
index 60e9fd5..1f9b821 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/account/DisableAccountCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/account/DisableAccountCmd.java
@@ -58,11 +58,8 @@ public class DisableAccountCmd extends BaseAsyncCmd {
     @Parameter(name=ApiConstants.LOCK, type=CommandType.BOOLEAN, required=true, description="If true, only lock the account; else disable the account")
     private Boolean lockRequested;
 
-    @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
-    private Boolean isPropagate;
-    
     @Inject RegionService _regionService;
-    
+
     /////////////////////////////////////////////////////
     /////////////////// Accessors ///////////////////////
     /////////////////////////////////////////////////////
@@ -79,14 +76,10 @@ public class DisableAccountCmd extends BaseAsyncCmd {
         return domainId;
     }
 
-	public Boolean getIsPropagate() {
-		return isPropagate;
-	}
-
     public Boolean getLockRequested() {
-		return lockRequested;
-	}
-	
+        return lockRequested;
+    }
+
     /////////////////////////////////////////////////////
     /////////////// API Implementation///////////////////
     /////////////////////////////////////////////////////
@@ -124,7 +117,7 @@ public class DisableAccountCmd extends BaseAsyncCmd {
     @Override
     public void execute() throws ConcurrentOperationException, ResourceUnavailableException{
         UserContext.current().setEventDetails("Account Name: "+getAccountName()+", Domain Id:"+getDomainId());
-    	Account result = _regionService.disableAccount(this);
+        Account result = _regionService.disableAccount(this);
         if (result != null){
             AccountResponse response = _responseGenerator.createAccountResponse(result);
             response.setResponseName(getCommandName());

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/api/src/org/apache/cloudstack/api/command/admin/account/EnableAccountCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/account/EnableAccountCmd.java b/api/src/org/apache/cloudstack/api/command/admin/account/EnableAccountCmd.java
index 9a92f78..b9a9f6d 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/account/EnableAccountCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/account/EnableAccountCmd.java
@@ -50,11 +50,8 @@ public class EnableAccountCmd extends BaseCmd {
             description="Enables specified account in this domain.")
     private Long domainId;
 
-    @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
-    private Boolean isPropagate;
-    
     @Inject RegionService _regionService;
-    
+
     /////////////////////////////////////////////////////
     /////////////////// Accessors ///////////////////////
     /////////////////////////////////////////////////////
@@ -71,10 +68,6 @@ public class EnableAccountCmd extends BaseCmd {
         return domainId;
     }
 
-	public Boolean getIsPropagate() {
-		return isPropagate;
-	}
-    
     /////////////////////////////////////////////////////
     /////////////// API Implementation///////////////////
     /////////////////////////////////////////////////////
@@ -101,7 +94,7 @@ public class EnableAccountCmd extends BaseCmd {
 
     @Override
     public void execute(){
-    	Account result = _regionService.enableAccount(this);
+        Account result = _regionService.enableAccount(this);
         if (result != null){
             AccountResponse response = _responseGenerator.createAccountResponse(result);
             response.setResponseName(getCommandName());

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/api/src/org/apache/cloudstack/api/command/admin/account/UpdateAccountCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/account/UpdateAccountCmd.java b/api/src/org/apache/cloudstack/api/command/admin/account/UpdateAccountCmd.java
index 6fad48b..60d1a97 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/account/UpdateAccountCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/account/UpdateAccountCmd.java
@@ -63,11 +63,8 @@ public class UpdateAccountCmd extends BaseCmd{
     @Parameter(name = ApiConstants.ACCOUNT_DETAILS, type = CommandType.MAP, description = "details for account used to store specific parameters")
     private Map details;
 
-    @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
-    private Boolean isPropagate;
-	
     @Inject RegionService _regionService;
-    
+
     /////////////////////////////////////////////////////
     /////////////////// Accessors ///////////////////////
     /////////////////////////////////////////////////////
@@ -102,10 +99,6 @@ public class UpdateAccountCmd extends BaseCmd{
         return params;
     }
 
-	public Boolean getIsPropagate() {
-		return isPropagate;
-	}
-    
     /////////////////////////////////////////////////////
     /////////////// API Implementation///////////////////
     /////////////////////////////////////////////////////
@@ -131,7 +124,7 @@ public class UpdateAccountCmd extends BaseCmd{
 
     @Override
     public void execute(){
-    	Account result = _regionService.updateAccount(this);
+        Account result = _regionService.updateAccount(this);
         if (result != null){
             AccountResponse response = _responseGenerator.createAccountResponse(result);
             response.setResponseName(getCommandName());

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/api/src/org/apache/cloudstack/api/command/admin/domain/CreateDomainCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/domain/CreateDomainCmd.java b/api/src/org/apache/cloudstack/api/command/admin/domain/CreateDomainCmd.java
index e0ba693..5eae486 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/domain/CreateDomainCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/domain/CreateDomainCmd.java
@@ -49,12 +49,6 @@ public class CreateDomainCmd extends BaseCmd {
     @Parameter(name=ApiConstants.NETWORK_DOMAIN, type=CommandType.STRING, description="Network domain for networks in the domain")
     private String networkDomain;
 
-    @Parameter(name=ApiConstants.DOMAIN_ID, type=CommandType.STRING, description="Domain UUID, required for adding domain from another Region")
-    private String domainUUID;
-    
-    @Parameter(name=ApiConstants.REGION_ID, type=CommandType.INTEGER, description="Id of the Region creating the Domain")
-    private Integer regionId;
-    
     /////////////////////////////////////////////////////
     /////////////////// Accessors ///////////////////////
     /////////////////////////////////////////////////////
@@ -71,14 +65,6 @@ public class CreateDomainCmd extends BaseCmd {
         return networkDomain;
     }
 
-    public String getDomainUUID() {
-        return domainUUID;
-    }
-    
-	public Integer getRegionId() {
-		return regionId;
-	}
-    
     /////////////////////////////////////////////////////
     /////////////// API Implementation///////////////////
     /////////////////////////////////////////////////////
@@ -96,7 +82,7 @@ public class CreateDomainCmd extends BaseCmd {
     @Override
     public void execute(){
         UserContext.current().setEventDetails("Domain Name: "+getDomainName()+((getParentDomainId()!=null)?", Parent DomainId :"+getParentDomainId():""));
-        Domain domain = _domainService.createDomain(getDomainName(), getParentDomainId(), getNetworkDomain(), getDomainUUID(), getRegionId());
+        Domain domain = _domainService.createDomain(getDomainName(), getParentDomainId(), getNetworkDomain());
         if (domain != null) {
             DomainResponse response = _responseGenerator.createDomainResponse(domain);
             response.setResponseName(getCommandName());

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/api/src/org/apache/cloudstack/api/command/admin/domain/DeleteDomainCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/domain/DeleteDomainCmd.java b/api/src/org/apache/cloudstack/api/command/admin/domain/DeleteDomainCmd.java
index eae393d..488a758 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/domain/DeleteDomainCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/domain/DeleteDomainCmd.java
@@ -50,11 +50,8 @@ public class DeleteDomainCmd extends BaseAsyncCmd {
     @Parameter(name=ApiConstants.CLEANUP, type=CommandType.BOOLEAN, description="true if all domain resources (child domains, accounts) have to be cleaned up, false otherwise")
     private Boolean cleanup;
 
-    @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
-    private Boolean propagate;
-
     @Inject RegionService _regionService;
-    
+
     /////////////////////////////////////////////////////
     /////////////////// Accessors ///////////////////////
     /////////////////////////////////////////////////////
@@ -67,10 +64,6 @@ public class DeleteDomainCmd extends BaseAsyncCmd {
         return cleanup;
     }
 
-	public Boolean isPropagate() {
-		return propagate;
-	}
-    
     /////////////////////////////////////////////////////
     /////////////// API Implementation///////////////////
     /////////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/api/src/org/apache/cloudstack/api/command/admin/domain/UpdateDomainCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/domain/UpdateDomainCmd.java b/api/src/org/apache/cloudstack/api/command/admin/domain/UpdateDomainCmd.java
index c217f16..e658f49 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/domain/UpdateDomainCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/domain/UpdateDomainCmd.java
@@ -52,11 +52,8 @@ public class UpdateDomainCmd extends BaseCmd {
     @Parameter(name=ApiConstants.NETWORK_DOMAIN, type=CommandType.STRING, description="Network domain for the domain's networks; empty string will update domainName with NULL value")
     private String networkDomain;
 
-    @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
-    private Boolean isPropagate;
-    
     @Inject RegionService _regionService;
-    
+
     /////////////////////////////////////////////////////
     /////////////////// Accessors ///////////////////////
     /////////////////////////////////////////////////////
@@ -73,10 +70,6 @@ public class UpdateDomainCmd extends BaseCmd {
         return networkDomain;
     }
 
-	public Boolean getIsPropagate() {
-		return isPropagate;
-	}
-    
     /////////////////////////////////////////////////////
     /////////////// API Implementation///////////////////
     /////////////////////////////////////////////////////
@@ -95,7 +88,7 @@ public class UpdateDomainCmd extends BaseCmd {
     public void execute(){
         UserContext.current().setEventDetails("Domain Id: "+getId());
         Domain domain =  _regionService.updateDomain(this);
-        
+
         if (domain != null) {
             DomainResponse response = _responseGenerator.createDomainResponse(domain);
             response.setResponseName(getCommandName());

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/api/src/org/apache/cloudstack/api/command/admin/user/CreateUserCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/user/CreateUserCmd.java b/api/src/org/apache/cloudstack/api/command/admin/user/CreateUserCmd.java
index d1f72c4..6ea8d9b 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/user/CreateUserCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/user/CreateUserCmd.java
@@ -65,12 +65,6 @@ public class CreateUserCmd extends BaseCmd {
     @Parameter(name=ApiConstants.USERNAME, type=CommandType.STRING, required=true, description="Unique username.")
     private String username;
 
-    @Parameter(name=ApiConstants.USER_ID, type=CommandType.STRING, description="User UUID, required for adding account from another Region")
-    private String userUUID;
-    
-    @Parameter(name=ApiConstants.REGION_ID, type=CommandType.INTEGER, description="Id of the Region creating the User")
-    private Integer regionId;
-    
     /////////////////////////////////////////////////////
     /////////////////// Accessors ///////////////////////
     /////////////////////////////////////////////////////
@@ -107,14 +101,6 @@ public class CreateUserCmd extends BaseCmd {
         return username;
     }
 
-	public String getUserUUID() {
-		return userUUID;
-	}
-    
-	public Integer getRegionId() {
-		return regionId;
-	}
-    
     /////////////////////////////////////////////////////
     /////////////// API Implementation///////////////////
     /////////////////////////////////////////////////////
@@ -146,7 +132,7 @@ public class CreateUserCmd extends BaseCmd {
     @Override
     public void execute(){
         UserContext.current().setEventDetails("UserName: "+getUserName()+", FirstName :"+getFirstName()+", LastName: "+getLastName());
-        User user = _accountService.createUser(getUserName(), getPassword(), getFirstName(), getLastName(), getEmail(), getTimezone(), getAccountName(), getDomainId(), getUserUUID(), getRegionId());
+        User user = _accountService.createUser(getUserName(), getPassword(), getFirstName(), getLastName(), getEmail(), getTimezone(), getAccountName(), getDomainId());
         if (user != null) {
             UserResponse response = _responseGenerator.createUserResponse(user);
             response.setResponseName(getCommandName());

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/api/src/org/apache/cloudstack/api/command/admin/user/DeleteUserCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/user/DeleteUserCmd.java b/api/src/org/apache/cloudstack/api/command/admin/user/DeleteUserCmd.java
index e8f671d..bb37d08 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/user/DeleteUserCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/user/DeleteUserCmd.java
@@ -45,11 +45,8 @@ public class DeleteUserCmd extends BaseCmd {
     @Parameter(name=ApiConstants.ID, type=CommandType.UUID, entityType=UserResponse.class, required=true, description="Deletes a user")
     private Long id;
 
-    @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
-    private Boolean isPropagate;
-    
     @Inject RegionService _regionService;
-    
+
     /////////////////////////////////////////////////////
     /////////////////// Accessors ///////////////////////
     /////////////////////////////////////////////////////
@@ -58,10 +55,6 @@ public class DeleteUserCmd extends BaseCmd {
         return id;
     }
 
-	public Boolean getIsPropagate() {
-		return isPropagate;
-	}
-    
     /////////////////////////////////////////////////////
     /////////////// API Implementation///////////////////
     /////////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/api/src/org/apache/cloudstack/api/command/admin/user/DisableUserCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/user/DisableUserCmd.java b/api/src/org/apache/cloudstack/api/command/admin/user/DisableUserCmd.java
index 95013ec..6eaa46b 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/user/DisableUserCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/user/DisableUserCmd.java
@@ -49,11 +49,8 @@ public class DisableUserCmd extends BaseAsyncCmd {
             required=true, description="Disables user by user ID.")
     private Long id;
 
-    @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
-    private Boolean isPropagate;
-    
     @Inject RegionService _regionService;
-    
+
     /////////////////////////////////////////////////////
     /////////////////// Accessors ///////////////////////
     /////////////////////////////////////////////////////
@@ -62,10 +59,6 @@ public class DisableUserCmd extends BaseAsyncCmd {
         return id;
     }
 
-	public Boolean getIsPropagate() {
-		return isPropagate;
-	}
-    
     /////////////////////////////////////////////////////
     /////////////// API Implementation///////////////////
     /////////////////////////////////////////////////////
@@ -100,7 +93,7 @@ public class DisableUserCmd extends BaseAsyncCmd {
     public void execute(){
         UserContext.current().setEventDetails("UserId: "+getId());
         UserAccount user = _regionService.disableUser(this);
-        
+
         if (user != null){
             UserResponse response = _responseGenerator.createUserResponse(user);
             response.setResponseName(getCommandName());

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/api/src/org/apache/cloudstack/api/command/admin/user/EnableUserCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/user/EnableUserCmd.java b/api/src/org/apache/cloudstack/api/command/admin/user/EnableUserCmd.java
index c1ba900..382f67c 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/user/EnableUserCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/user/EnableUserCmd.java
@@ -46,11 +46,8 @@ public class EnableUserCmd extends BaseCmd {
             required=true, description="Enables user by user ID.")
     private Long id;
 
-    @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
-    private Boolean isPropagate;
-
     @Inject RegionService _regionService;
-    
+
     /////////////////////////////////////////////////////
     /////////////////// Accessors ///////////////////////
     /////////////////////////////////////////////////////
@@ -59,10 +56,6 @@ public class EnableUserCmd extends BaseCmd {
         return id;
     }
 
-	public Boolean getIsPropagate() {
-		return isPropagate;
-	}
-    
     /////////////////////////////////////////////////////
     /////////////// API Implementation///////////////////
     /////////////////////////////////////////////////////
@@ -86,7 +79,7 @@ public class EnableUserCmd extends BaseCmd {
     public void execute(){
         UserContext.current().setEventDetails("UserId: "+getId());
         UserAccount user = _regionService.enableUser(this);
-        
+
         if (user != null){
             UserResponse response = _responseGenerator.createUserResponse(user);
             response.setResponseName(getCommandName());

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/api/src/org/apache/cloudstack/api/command/admin/user/UpdateUserCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/user/UpdateUserCmd.java b/api/src/org/apache/cloudstack/api/command/admin/user/UpdateUserCmd.java
index ee59d07..1f31662 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/user/UpdateUserCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/user/UpdateUserCmd.java
@@ -71,11 +71,8 @@ public class UpdateUserCmd extends BaseCmd {
     @Parameter(name=ApiConstants.USERNAME, type=CommandType.STRING, description="Unique username")
     private String username;
 
-    @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
-    private Boolean isPropagate;
-    
     @Inject RegionService _regionService;
-    
+
     /////////////////////////////////////////////////////
     /////////////////// Accessors ///////////////////////
     /////////////////////////////////////////////////////
@@ -116,10 +113,6 @@ public class UpdateUserCmd extends BaseCmd {
         return username;
     }
 
-	public Boolean getIsPropagate() {
-		return isPropagate;
-	}
-    
     /////////////////////////////////////////////////////
     /////////////// API Implementation///////////////////
     /////////////////////////////////////////////////////
@@ -143,7 +136,7 @@ public class UpdateUserCmd extends BaseCmd {
     public void execute(){
         UserContext.current().setEventDetails("UserId: "+getId());
         UserAccount user = _regionService.updateUser(this);
-        
+
         if (user != null){
             UserResponse response = _responseGenerator.createUserResponse(user);
             response.setResponseName(getCommandName());

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/server/src/com/cloud/user/AccountManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/user/AccountManagerImpl.java b/server/src/com/cloud/user/AccountManagerImpl.java
index a3f9505..069ed2b 100755
--- a/server/src/com/cloud/user/AccountManagerImpl.java
+++ b/server/src/com/cloud/user/AccountManagerImpl.java
@@ -762,8 +762,8 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
     @Override
     @DB
     @ActionEvent(eventType = EventTypes.EVENT_ACCOUNT_CREATE, eventDescription = "creating Account")
-    public UserAccount createUserAccount(String userName, String password, String firstName, String lastName, String email, String timezone, String accountName, short accountType, Long domainId, String networkDomain,
-            Map<String, String> details, String accountUUID, String userUUID, Integer regionId) {
+    public UserAccount createUserAccount(String userName, String password, String firstName, String lastName, String email, String timezone, String accountName, short accountType,
+                                         Long domainId, String networkDomain, Map<String, String> details) {
 
         if (accountName == null) {
             accountName = userName;
@@ -805,55 +805,30 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
             }
         }
 
-        if(regionId == null){
-            Transaction txn = Transaction.currentTxn();
-            txn.start();
-
-        	// create account
-        	AccountVO account = createAccount(accountName, accountType, domainId, networkDomain, details, UUID.randomUUID().toString(), _regionMgr.getId());
-        	long accountId = account.getId();
-
-        	// create the first user for the account
-        	UserVO user = createUser(accountId, userName, password, firstName, lastName, email, timezone);
-
-        	if (accountType == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN) {
-        		// set registration token
-        		byte[] bytes = (domainId + accountName + userName + System.currentTimeMillis()).getBytes();
-        		String registrationToken = UUID.nameUUIDFromBytes(bytes).toString();
-        		user.setRegistrationToken(registrationToken);
-        	}
-        	txn.commit();
-        	//Propagate Add account to other Regions
-        	_regionMgr.propagateAddAccount(userName, password, firstName, lastName, email, timezone, accountName, accountType, domainId, 
-        			networkDomain, details, account.getUuid(), user.getUuid());
-        	//check success
-            return _userAccountDao.findById(user.getId());
-        } else {
-        	// Account is propagated from another Region
-
-        	Transaction txn = Transaction.currentTxn();
-            txn.start();
+        Transaction txn = Transaction.currentTxn();
+        txn.start();
 
-            // create account
-            AccountVO account = createAccount(accountName, accountType, domainId, networkDomain, details, accountUUID, regionId);
-            long accountId = account.getId();
+        // create account
+        AccountVO account = createAccount(accountName, accountType, domainId, networkDomain, details, UUID.randomUUID().toString(), _regionMgr.getId());
+        long accountId = account.getId();
 
-            // create the first user for the account
-            UserVO user = createUser(accountId, userName, password, firstName, lastName, email, timezone, userUUID, regionId);
+        // create the first user for the account
+        UserVO user = createUser(accountId, userName, password, firstName, lastName, email, timezone);
 
-            if (accountType == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN) {
-                // set registration token
-                byte[] bytes = (domainId + accountName + userName + System.currentTimeMillis()).getBytes();
-                String registrationToken = UUID.nameUUIDFromBytes(bytes).toString();
-                user.setRegistrationToken(registrationToken);
-            }
-            txn.commit();
-            return _userAccountDao.findById(user.getId());
+        if (accountType == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN) {
+            // set registration token
+            byte[] bytes = (domainId + accountName + userName + System.currentTimeMillis()).getBytes();
+            String registrationToken = UUID.nameUUIDFromBytes(bytes).toString();
+            user.setRegistrationToken(registrationToken);
         }
+        txn.commit();
+
+        //check success
+        return _userAccountDao.findById(user.getId());
     }
 
     @Override
-    public UserVO createUser(String userName, String password, String firstName, String lastName, String email, String timeZone, String accountName, Long domainId, String userUUID, Integer regionId) {
+    public UserVO createUser(String userName, String password, String firstName, String lastName, String email, String timeZone, String accountName, Long domainId) {
 
         // default domain to ROOT if not specified
         if (domainId == null) {
@@ -882,13 +857,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
             throw new CloudRuntimeException("The user " + userName + " already exists in domain " + domainId);
         }
         UserVO user = null;
-        if(regionId == null){
-        	user = createUser(account.getId(), userName, password, firstName, lastName, email, timeZone);
-        	//Propagate Add user to peer Regions
-        	_regionMgr.propagateAddUser(userName, password, firstName, lastName, email, timeZone, accountName, domain.getUuid(), user.getUuid());
-        } else {
-        	user = createUser(account.getId(), userName, password, firstName, lastName, email, timeZone, userUUID, regionId);
-        }
+        user = createUser(account.getId(), userName, password, firstName, lastName, email, timeZone);
         return user;
     }
 
@@ -974,7 +943,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
                 }
             }
             if (encodedPassword == null) {
-            	throw new CloudRuntimeException("Failed to encode password");
+                throw new CloudRuntimeException("Failed to encode password");
             }
             user.setPassword(encodedPassword);
         }
@@ -1296,7 +1265,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
         String newAccountName = cmd.getNewName();
         String networkDomain = cmd.getNetworkDomain();
         Map<String, String> details = cmd.getDetails();
-        
+
         boolean success = false;
         Account account = null;
         if (accountId != null) {
@@ -1748,7 +1717,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
         if (s_logger.isDebugEnabled()) {
             s_logger.debug("Creating user: " + userName + ", accountId: " + accountId + " timezone:" + timezone);
         }
-        
+
         String encodedPassword = null;
         for (UserAuthenticator  authenticator : _userAuthenticators) {
             encodedPassword = authenticator.encode(password);
@@ -1757,9 +1726,9 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
             }
         }
         if (encodedPassword == null) {
-        	throw new CloudRuntimeException("Failed to encode password");
+            throw new CloudRuntimeException("Failed to encode password");
         }
-        
+
         UserVO user = _userDao.persist(new UserVO(accountId, userName, encodedPassword, firstName, lastName, email, timezone, UUID.randomUUID().toString(), _regionMgr.getId()));
 
         return user;
@@ -1780,9 +1749,9 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
             }
         }
         if (encodedPassword == null) {
-        	throw new CloudRuntimeException("Failed to encode password");
+            throw new CloudRuntimeException("Failed to encode password");
         }
-        
+
         UserVO user = _userDao.persist(new UserVO(accountId, userName, encodedPassword, firstName, lastName, email, timezone, uuid, regionId));
 
         return user;
@@ -2013,7 +1982,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
 
     @Override @DB
     public String[] createApiKeyAndSecretKey(RegisterCmd cmd) {
-    	//Send keys to other Regions
+        //Send keys to other Regions
         Long userId = cmd.getId();
 
         User user = getUserIncludingRemoved(userId);
@@ -2242,7 +2211,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
         }
     }
 
-	@Override
+    @Override
     public void buildACLViewSearchBuilder(SearchBuilder<? extends ControlledViewEntity> sb, Long domainId,
             boolean isRecursive, List<Long> permittedAccounts, ListProjectResourcesCriteria listProjectResourcesCriteria) {
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/server/src/com/cloud/user/DomainManager.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/user/DomainManager.java b/server/src/com/cloud/user/DomainManager.java
index af102e2..f268f6e 100644
--- a/server/src/com/cloud/user/DomainManager.java
+++ b/server/src/com/cloud/user/DomainManager.java
@@ -27,7 +27,7 @@ import com.cloud.domain.DomainVO;
 public interface DomainManager extends DomainService {
     Set<Long> getDomainChildrenIds(String parentDomainPath);
 
-    Domain createDomain(String name, Long parentId, Long ownerId, String networkDomain, String domainUUID, Integer regionId);
+    Domain createDomain(String name, Long parentId, Long ownerId, String networkDomain);
 
     Set<Long> getDomainParentIds(long domainId);
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/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 8ad9f5b..9f0ad53 100644
--- a/server/src/com/cloud/user/DomainManagerImpl.java
+++ b/server/src/com/cloud/user/DomainManagerImpl.java
@@ -118,7 +118,7 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom
 
     @Override
     @ActionEvent(eventType = EventTypes.EVENT_DOMAIN_CREATE, eventDescription = "creating Domain")
-    public Domain createDomain(String name, Long parentId, String networkDomain, String domainUUID, Integer regionId) {
+    public Domain createDomain(String name, Long parentId, String networkDomain) {
         Account caller = UserContext.current().getCaller();
 
         if (parentId == null) {
@@ -136,13 +136,13 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom
 
         _accountMgr.checkAccess(caller, parentDomain);
 
-        return createDomain(name, parentId, caller.getId(), networkDomain, domainUUID, regionId);
+        return createDomain(name, parentId, caller.getId(), networkDomain);
 
     }
 
     @Override
     @DB
-    public Domain createDomain(String name, Long parentId, Long ownerId, String networkDomain, String domainUUID, Integer regionId) {
+    public Domain createDomain(String name, Long parentId, Long ownerId, String networkDomain) {
         // Verify network domain
         if (networkDomain != null) {
             if (!NetUtils.verifyDomainName(networkDomain)) {
@@ -161,28 +161,13 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom
             throw new InvalidParameterValueException("Domain with name " + name + " already exists for the parent id=" + parentId);
         }
 
-        if(regionId == null){
         Transaction txn = Transaction.currentTxn();
         txn.start();
 
-        	DomainVO domain = _domainDao.create(new DomainVO(name, ownerId, parentId, networkDomain, _regionMgr.getId()));
+        DomainVO domain = _domainDao.create(new DomainVO(name, ownerId, parentId, networkDomain, _regionMgr.getId()));
         _resourceCountDao.createResourceCounts(domain.getId(), ResourceLimit.ResourceOwnerType.Domain);
         txn.commit();
-        	//Propagate domain creation to peer Regions
-        	_regionMgr.propagateAddDomain(name, parentId, networkDomain, domain.getUuid());        	
-        	return domain;
-        } else {
-        	Transaction txn = Transaction.currentTxn();
-        	txn.start();
-
-        	DomainVO domain = _domainDao.create(new DomainVO(name, ownerId, parentId, networkDomain, domainUUID, regionId));
-        	_resourceCountDao.createResourceCounts(domain.getId(), ResourceLimit.ResourceOwnerType.Domain);
-
-        	txn.commit();
         return domain;
-        	
-        }
-        
     }
 
     @Override
@@ -485,8 +470,8 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom
         // check if domain exists in the system
         DomainVO domain = _domainDao.findById(domainId);
         if (domain == null) {
-        	InvalidParameterValueException ex = new InvalidParameterValueException("Unable to find domain with specified domain id");
-        	ex.addProxyObject(domain, domainId, "domainId");            
+            InvalidParameterValueException ex = new InvalidParameterValueException("Unable to find domain with specified domain id");
+            ex.addProxyObject(domain, domainId, "domainId");
             throw ex;
         } else if (domain.getParent() == null && domainName != null) {
             // check if domain is ROOT domain - and deny to edit it with the new name
@@ -508,7 +493,7 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom
             if (!domains.isEmpty() && !sameDomain) {
                 InvalidParameterValueException ex = new InvalidParameterValueException("Failed to update specified domain id with name '" + domainName + "' since it already exists in the system");
                 ex.addProxyObject(domain, domainId, "domainId");                
-            	throw ex;
+                throw ex;
             }
         }
 
@@ -566,5 +551,5 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom
             _domainDao.update(dom.getId(), dom);
         }
     }
-    
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1a2173f4/server/src/org/apache/cloudstack/region/RegionManager.java
----------------------------------------------------------------------
diff --git a/server/src/org/apache/cloudstack/region/RegionManager.java b/server/src/org/apache/cloudstack/region/RegionManager.java
index 56bdb9b..4cbd664 100644
--- a/server/src/org/apache/cloudstack/region/RegionManager.java
+++ b/server/src/org/apache/cloudstack/region/RegionManager.java
@@ -31,95 +31,49 @@ import com.cloud.user.Account;
 import com.cloud.user.UserAccount;
 
 public interface RegionManager {
-	
-	/**
-	 * Propagates Account details to peer Regions
-	 * @param userName
-	 * @param password
-	 * @param firstName
-	 * @param lastName
-	 * @param email
-	 * @param timezone
-	 * @param accountName
-	 * @param accountType
-	 * @param domainId
-	 * @param networkDomain
-	 * @param details
-	 * @param accountUUID
-	 * @param userUUID
-	 * @return
-	 */
-	public boolean propagateAddAccount(String userName, String password, String firstName, String lastName, String email, String timezone, String accountName, short accountType, Long domainId, String networkDomain,
-            Map<String, String> details, String accountUUID, String userUUID);
-	
-	/**
-	 * Returns the Id of local Region
-	 * @return
-	 */
-	public int getId();
-	
-	/**
-	 * Propagates User details to peer Regions
-	 * @param userName
-	 * @param password
-	 * @param firstName
-	 * @param lastName
-	 * @param email
-	 * @param timeZone
-	 * @param accountName
-	 * @param domainUUId
-	 * @param userUUID
-	 */
-	public void propagateAddUser(String userName, String password,
-			String firstName, String lastName, String email, String timeZone,
-			String accountName, String domainUUId, String userUUID);
-	
-	/**
-	 * Propagates Domain details to peer Regions
-	 * @param name
-	 * @param parentId
-	 * @param networkDomain
-	 * @param uuid
-	 */
-	public void propagateAddDomain(String name, Long parentId, String networkDomain, String uuid);
-	
-	
-	/**
-	 * Adds a peer Region to the local Region
-	 * @param id
-	 * @param name 
-	 * @param endPoint
-	 * @param apiKey
-	 * @param secretKey
-	 * @return Returns added Region object
-	 */
-	Region addRegion(int id, String name, String endPoint, String apiKey, String secretKey);
-	
-	/**
-	 * Update details of the Region with specified Id
-	 * @param id
-	 * @param name
-	 * @param endPoint
-	 * 
-	 * @param apiKey
-	 * @param secretKey
-	 * @return Returns update Region object
-	 */
-	Region updateRegion(int id, String name, String endPoint, String apiKey, String secretKey);
-	
-	/**
-	 * @param id
-	 * @return True if region is successfully removed
-	 */
-	boolean removeRegion(int id);
-	
-	/** List all Regions or by Id/Name
-	 * @param id
-	 * @param name
-	 * @return List of Regions
-	 */
-	List<RegionVO> listRegions(Integer id, String name);
-	
+
+    /**
+     * Returns the Id of local Region
+     * @return
+     */
+    public int getId();
+
+    /**
+     * Adds a peer Region to the local Region
+     * @param id
+     * @param name
+     * @param endPoint
+     * @param apiKey
+     * @param secretKey
+     * @return Returns added Region object
+     */
+    Region addRegion(int id, String name, String endPoint, String apiKey, String secretKey);
+
+    /**
+     * Update details of the Region with specified Id
+     * @param id
+     * @param name
+     * @param endPoint
+     *
+     * @param apiKey
+     * @param secretKey
+     * @return Returns update Region object
+     */
+    Region updateRegion(int id, String name, String endPoint, String apiKey, String secretKey);
+
+    /**
+     * @param id
+     * @return True if region is successfully removed
+     */
+    boolean removeRegion(int id);
+
+    /** List all Regions or by Id/Name
+     * @param id
+     * @param name
+     * @return List of Regions
+     */
+    List<RegionVO> listRegions(Integer id, String name);
+
     /**
      * Deletes a user by userId and propagates the change to peer Regions
      *
@@ -128,8 +82,8 @@ public interface RegionManager {
      *
      * @return true if delete was successful, false otherwise
      */
-	boolean deleteUserAccount(long accountId);
-	
+    boolean deleteUserAccount(long accountId);
+
     /**
      * Updates an account
      * isPopagate falg is set to true if sent from peer Region 
@@ -139,19 +93,19 @@ public interface RegionManager {
      * @return updated account object
      */
     Account updateAccount(UpdateAccountCmd cmd);
-    
-	/**
-	 * Disables an account by accountName and domainId or accountId
-	 * @param accountName
-	 * @param domainId
-	 * @param id
-	 * @param lockRequested
-	 * @return
-	 * @throws ConcurrentOperationException
-	 * @throws ResourceUnavailableException
-	 */
-	Account disableAccount(String accountName, Long domainId, Long id, Boolean lockRequested) throws ConcurrentOperationException, ResourceUnavailableException;
-	
+
+    /**
+     * Disables an account by accountName and domainId or accountId
+     * @param accountName
+     * @param domainId
+     * @param id
+     * @param lockRequested
+     * @return
+     * @throws ConcurrentOperationException
+     * @throws ResourceUnavailableException
+     */
+    Account disableAccount(String accountName, Long domainId, Long id, Boolean lockRequested) throws ConcurrentOperationException, ResourceUnavailableException;
+
     /**
      * Enables an account by accountId
      *
@@ -163,14 +117,14 @@ public interface RegionManager {
      * @return account object
      */
     Account enableAccount(String accountName, Long domainId, Long accountId); 	
-    
+
     /**
      * Deletes user by Id
      * @param deleteUserCmd
      * @return
      */
     boolean deleteUser(DeleteUserCmd deleteUserCmd);
-    
+
     /**
      * update an existing domain
      * 
@@ -178,24 +132,24 @@ public interface RegionManager {
      *            - the command containing domainId and new domainName
      * @return Domain object if the command succeeded
      */
-	Domain updateDomain(UpdateDomainCmd updateDomainCmd);    
-    
-	/**
-	 * Deletes domain by Id
-	 * @param id
-	 * @param cleanup
-	 * @return true if delete was successful, false otherwise
-	 */
-	boolean deleteDomain(Long id, Boolean cleanup);
-	
+    Domain updateDomain(UpdateDomainCmd updateDomainCmd);
+
+    /**
+     * Deletes domain by Id
+     * @param id
+     * @param cleanup
+     * @return true if delete was successful, false otherwise
+     */
+    boolean deleteDomain(Long id, Boolean cleanup);
+
     /**
      * Update a user by userId
      *
      * @param userId
      * @return UserAccount object
      */
-	UserAccount updateUser(UpdateUserCmd updateUserCmd);
-	
+    UserAccount updateUser(UpdateUserCmd updateUserCmd);
+
     /**
      * Disables a user by userId
      *
@@ -203,8 +157,8 @@ public interface RegionManager {
      *            - the userId
      * @return UserAccount object
      */	
-	UserAccount disableUser(Long id);
-	
+    UserAccount disableUser(Long id);
+
     /**
      * Enables a user
      *