You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ts...@apache.org on 2013/03/18 13:27:11 UTC
[1/50] [abbrv] git commit: refs/heads/marvin-refactor -
CLOUDSTACK-1636: Removed the concept of owner region. Removed region_id from
user/account and domain tables. Removed forwarding of api calls to owner
region. Removed api_key and secret_key from regi
CLOUDSTACK-1636: Removed the concept of owner region.
Removed region_id from user/account and domain tables.
Removed forwarding of api calls to owner region.
Removed api_key and secret_key from region table.
Included related DB upgrade changes.
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/2dd31f33
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/2dd31f33
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/2dd31f33
Branch: refs/heads/marvin-refactor
Commit: 2dd31f331d84431e2dc55a56147001426b672a86
Parents: c9082c9
Author: Kishan Kavala <ki...@cloud.com>
Authored: Wed Mar 13 23:01:46 2013 +0530
Committer: Kishan Kavala <ki...@cloud.com>
Committed: Thu Mar 14 11:53:40 2013 +0530
----------------------------------------------------------------------
api/src/com/cloud/domain/Domain.java | 1 -
api/src/com/cloud/user/Account.java | 2 -
api/src/com/cloud/user/AccountService.java | 4 +-
api/src/com/cloud/user/DomainService.java | 2 +-
api/src/com/cloud/user/User.java | 1 -
.../command/admin/account/CreateAccountCmd.java | 15 +-
.../api/command/admin/domain/CreateDomainCmd.java | 9 +-
.../api/command/admin/region/AddRegionCmd.java | 16 +-
.../api/command/admin/region/UpdateRegionCmd.java | 15 +-
.../api/command/admin/user/CreateUserCmd.java | 9 +-
api/src/org/apache/cloudstack/region/Region.java | 3 -
.../apache/cloudstack/region/RegionService.java | 8 +-
.../cloudstack/api/command/test/RegionCmdTest.java | 4 +-
core/src/com/cloud/user/AccountVO.java | 13 +-
core/src/com/cloud/user/UserVO.java | 13 +-
server/src/com/cloud/domain/DomainVO.java | 16 +-
.../src/com/cloud/projects/ProjectManagerImpl.java | 2 +-
.../src/com/cloud/upgrade/dao/Upgrade40to41.java | 24 -
server/src/com/cloud/user/AccountManager.java | 4 +-
server/src/com/cloud/user/AccountManagerImpl.java | 51 +--
server/src/com/cloud/user/DomainManager.java | 2 +-
server/src/com/cloud/user/DomainManagerImpl.java | 18 +-
.../apache/cloudstack/region/RegionManager.java | 6 +-
.../cloudstack/region/RegionManagerImpl.java | 345 +--------------
.../cloudstack/region/RegionServiceImpl.java | 8 +-
.../src/org/apache/cloudstack/region/RegionVO.java | 27 +--
.../apache/cloudstack/region/RegionsApiUtil.java | 4 +-
.../com/cloud/user/MockAccountManagerImpl.java | 9 +-
.../test/com/cloud/user/MockDomainManagerImpl.java | 4 +-
.../cloudstack/region/RegionManagerTest.java | 17 +-
setup/db/db/schema-40to410.sql | 9 +-
31 files changed, 104 insertions(+), 557 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/api/src/com/cloud/domain/Domain.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/domain/Domain.java b/api/src/com/cloud/domain/Domain.java
index f8277c2..befed07 100644
--- a/api/src/com/cloud/domain/Domain.java
+++ b/api/src/com/cloud/domain/Domain.java
@@ -62,5 +62,4 @@ public interface Domain extends OwnedBy, Identity, InternalIdentity {
public String getUuid();
- int getRegionId();
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/api/src/com/cloud/user/Account.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/user/Account.java b/api/src/com/cloud/user/Account.java
index e65e017..5d32fb2 100755
--- a/api/src/com/cloud/user/Account.java
+++ b/api/src/com/cloud/user/Account.java
@@ -63,7 +63,5 @@ public interface Account extends ControlledEntity, InternalIdentity, Identity {
public Long getDefaultZoneId();
- public int getRegionId();
-
public String getUuid();
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/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 f9c6ddb..903eebc 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);
+ Map<String, String> details, String accountUUID, String userUUID);
/**
* 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);
+ User createUser(String userName, String password, String firstName, String lastName, String email, String timeZone, String accountName, Long domainId, String userUUID);
boolean isAdmin(short accountType);
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/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 1f03019..7c302e3 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);
+ Domain createDomain(String name, Long parentId, String networkDomain, String domainUUID);
Domain getDomain(long id);
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/api/src/com/cloud/user/User.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/user/User.java b/api/src/com/cloud/user/User.java
index 7d80c43..3742c7b 100644
--- a/api/src/com/cloud/user/User.java
+++ b/api/src/com/cloud/user/User.java
@@ -73,5 +73,4 @@ public interface User extends OwnedBy, InternalIdentity {
boolean isRegistered();
- public int getRegionId();
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/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 4121651..89673ea 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,6 +78,11 @@ 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.ACCOUNT_ID, type=CommandType.STRING, description="Account UUID, required for adding account from external provisioning system")
+ private String accountUUID;
+
+ @Parameter(name=ApiConstants.USER_ID, type=CommandType.STRING, description="User UUID, required for adding account from external provisioning system")
+ private String userUUID;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
@@ -133,6 +138,14 @@ public class CreateAccountCmd extends BaseCmd {
return params;
}
+ public String getAccountUUID() {
+ return accountUUID;
+ }
+
+ public String getUserUUID() {
+ return userUUID;
+ }
+
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@@ -151,7 +164,7 @@ public class CreateAccountCmd extends BaseCmd {
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());
+ getDomainId(), getNetworkDomain(), getDetails(), getAccountUUID(), getUserUUID());
if (userAccount != null) {
AccountResponse response = _responseGenerator.createUserAccountResponse(userAccount);
response.setResponseName(getCommandName());
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/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 5eae486..91d61cc 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,6 +49,9 @@ 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;
+
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
@@ -65,6 +68,10 @@ public class CreateDomainCmd extends BaseCmd {
return networkDomain;
}
+ public String getDomainUUID() {
+ return domainUUID;
+ }
+
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@@ -82,7 +89,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());
+ Domain domain = _domainService.createDomain(getDomainName(), getParentDomainId(), getNetworkDomain(), getDomainUUID());
if (domain != null) {
DomainResponse response = _responseGenerator.createDomainResponse(domain);
response.setResponseName(getCommandName());
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/api/src/org/apache/cloudstack/api/command/admin/region/AddRegionCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/region/AddRegionCmd.java b/api/src/org/apache/cloudstack/api/command/admin/region/AddRegionCmd.java
index 2036670..dce1e8b 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/region/AddRegionCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/region/AddRegionCmd.java
@@ -49,12 +49,6 @@ public class AddRegionCmd extends BaseCmd {
@Parameter(name=ApiConstants.END_POINT, type=CommandType.STRING, required=true, description="Region service endpoint")
private String endPoint;
- @Parameter(name=ApiConstants.API_KEY, type=CommandType.STRING, description="API key of Admin user")
- private String apiKey;
-
- @Parameter(name=ApiConstants.SECRET_KEY, type=CommandType.STRING, description="Secret Key of Admin user")
- private String secretKey;
-
@Inject public RegionService _regionService;
/////////////////////////////////////////////////////
@@ -73,14 +67,6 @@ public class AddRegionCmd extends BaseCmd {
return endPoint;
}
- public String getApiKey() {
- return apiKey;
- }
-
- public String getSecretKey() {
- return secretKey;
- }
-
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@@ -97,7 +83,7 @@ public class AddRegionCmd extends BaseCmd {
@Override
public void execute(){
- Region region = _regionService.addRegion(getId(), getRegionName(), getEndPoint(), getApiKey(), getSecretKey());
+ Region region = _regionService.addRegion(getId(), getRegionName(), getEndPoint());
if (region != null) {
RegionResponse response = _responseGenerator.createRegionResponse(region);
response.setResponseName(getCommandName());
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/api/src/org/apache/cloudstack/api/command/admin/region/UpdateRegionCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/region/UpdateRegionCmd.java b/api/src/org/apache/cloudstack/api/command/admin/region/UpdateRegionCmd.java
index 16693b6..79890d0 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/region/UpdateRegionCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/region/UpdateRegionCmd.java
@@ -49,12 +49,6 @@ public class UpdateRegionCmd extends BaseCmd {
@Parameter(name=ApiConstants.END_POINT, type=CommandType.STRING, description="updates region with this end point")
private String endPoint;
- @Parameter(name=ApiConstants.API_KEY, type=CommandType.STRING, description="new API key for the Region")
- private String apiKey;
-
- @Parameter(name=ApiConstants.SECRET_KEY, type=CommandType.STRING, description="new Secret Key for the Region")
- private String secretKey;
-
@Inject RegionService _regionService;
/////////////////////////////////////////////////////
@@ -73,13 +67,6 @@ public class UpdateRegionCmd extends BaseCmd {
return endPoint;
}
- public String getApiKey() {
- return apiKey;
- }
-
- public String getSecretKey() {
- return secretKey;
- }
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@@ -96,7 +83,7 @@ public class UpdateRegionCmd extends BaseCmd {
@Override
public void execute(){
- Region region = _regionService.updateRegion(getId(), getRegionName(), getEndPoint(), getApiKey(), getSecretKey());
+ Region region = _regionService.updateRegion(getId(), getRegionName(), getEndPoint());
if (region != null) {
RegionResponse response = _responseGenerator.createRegionResponse(region);
response.setResponseName(getCommandName());
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/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 6ea8d9b..fb29e1a 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,6 +65,9 @@ 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 external provisioning system")
+ private String userUUID;
+
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
@@ -101,6 +104,10 @@ public class CreateUserCmd extends BaseCmd {
return username;
}
+ public String getUserUUID() {
+ return userUUID;
+ }
+
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@@ -132,7 +139,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());
+ User user = _accountService.createUser(getUserName(), getPassword(), getFirstName(), getLastName(), getEmail(), getTimezone(), getAccountName(), getDomainId(), getUserUUID());
if (user != null) {
UserResponse response = _responseGenerator.createUserResponse(user);
response.setResponseName(getCommandName());
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/api/src/org/apache/cloudstack/region/Region.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/region/Region.java b/api/src/org/apache/cloudstack/region/Region.java
index 7f0aeea..f8926ee 100644
--- a/api/src/org/apache/cloudstack/region/Region.java
+++ b/api/src/org/apache/cloudstack/region/Region.java
@@ -29,7 +29,4 @@ public interface Region {
public String getEndPoint();
- public String getApiKey();
-
- public String getSecretKey();
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/api/src/org/apache/cloudstack/region/RegionService.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/region/RegionService.java b/api/src/org/apache/cloudstack/region/RegionService.java
index 8679ca9..303b58c 100644
--- a/api/src/org/apache/cloudstack/region/RegionService.java
+++ b/api/src/org/apache/cloudstack/region/RegionService.java
@@ -43,22 +43,18 @@ public interface RegionService {
* @param id
* @param name
* @param endPoint
- * @param apiKey
- * @param secretKey
* @return Return added Region object
*/
- public Region addRegion(int id, String name, String endPoint, String apiKey, String secretKey);
+ public Region addRegion(int id, String name, String endPoint);
/**
* Update details of the Region with specified Id
* @param id
* @param name
* @param endPoint
- * @param apiKey
- * @param secretKey
* @return Return updated Region object
*/
- public Region updateRegion(int id, String name, String endPoint, String apiKey, String secretKey);
+ public Region updateRegion(int id, String name, String endPoint);
/**
* @param id
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/api/test/org/apache/cloudstack/api/command/test/RegionCmdTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/command/test/RegionCmdTest.java b/api/test/org/apache/cloudstack/api/command/test/RegionCmdTest.java
index 01cd33b..f57dc08 100644
--- a/api/test/org/apache/cloudstack/api/command/test/RegionCmdTest.java
+++ b/api/test/org/apache/cloudstack/api/command/test/RegionCmdTest.java
@@ -64,7 +64,7 @@ public class RegionCmdTest extends TestCase {
Region region = Mockito.mock(Region.class);
Mockito.when(
- regionService.addRegion(Mockito.anyInt(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString()))
+ regionService.addRegion(Mockito.anyInt(), Mockito.anyString(), Mockito.anyString()))
.thenReturn(region);
addRegionCmd._regionService = regionService;
@@ -87,7 +87,7 @@ public class RegionCmdTest extends TestCase {
Region region = Mockito.mock(Region.class);
Mockito.when(
- regionService.addRegion(Mockito.anyInt(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString()))
+ regionService.addRegion(Mockito.anyInt(), Mockito.anyString(), Mockito.anyString()))
.thenReturn(null);
addRegionCmd._regionService = regionService;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/core/src/com/cloud/user/AccountVO.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/user/AccountVO.java b/core/src/com/cloud/user/AccountVO.java
index fd37c77..5e939c5 100644
--- a/core/src/com/cloud/user/AccountVO.java
+++ b/core/src/com/cloud/user/AccountVO.java
@@ -66,9 +66,6 @@ public class AccountVO implements Account {
@Column(name="default_zone_id")
private Long defaultZoneId = null;
- @Column(name="region_id")
- private int regionId;
-
public AccountVO() {
this.uuid = UUID.randomUUID().toString();
}
@@ -78,14 +75,13 @@ public class AccountVO implements Account {
this.uuid = UUID.randomUUID().toString();
}
- public AccountVO(String accountName, long domainId, String networkDomain, short type, String uuid, int regionId) {
+ public AccountVO(String accountName, long domainId, String networkDomain, short type, String uuid) {
this.accountName = accountName;
this.domainId = domainId;
this.networkDomain = networkDomain;
this.type = type;
this.state = State.enabled;
this.uuid = uuid;
- this.regionId = regionId;
}
public void setNeedsCleanup(boolean value) {
@@ -183,11 +179,4 @@ public class AccountVO implements Account {
this.uuid = uuid;
}
- public int getRegionId() {
- return regionId;
- }
-
- public void setRegionId(int regionId) {
- this.regionId = regionId;
- }
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/core/src/com/cloud/user/UserVO.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/user/UserVO.java b/core/src/com/cloud/user/UserVO.java
index de7f31b..8b7c4e3 100644
--- a/core/src/com/cloud/user/UserVO.java
+++ b/core/src/com/cloud/user/UserVO.java
@@ -93,9 +93,6 @@ public class UserVO implements User, Identity, InternalIdentity {
@Column(name="uuid")
private String uuid;
- @Column(name="region_id")
- private int regionId;
-
public UserVO() {
this.uuid = UUID.randomUUID().toString();
}
@@ -105,7 +102,7 @@ public class UserVO implements User, Identity, InternalIdentity {
this.uuid = UUID.randomUUID().toString();
}
- public UserVO(long accountId, String username, String password, String firstName, String lastName, String email, String timezone, String uuid, int regionId) {
+ public UserVO(long accountId, String username, String password, String firstName, String lastName, String email, String timezone, String uuid) {
this.accountId = accountId;
this.username = username;
this.password = password;
@@ -115,7 +112,6 @@ public class UserVO implements User, Identity, InternalIdentity {
this.timezone = timezone;
this.state = State.enabled;
this.uuid = uuid;
- this.regionId = regionId;
}
@Override
@@ -266,11 +262,4 @@ public class UserVO implements User, Identity, InternalIdentity {
this.uuid = uuid;
}
- public int getRegionId() {
- return regionId;
- }
-
- public void setRegionId(int regionId) {
- this.regionId = regionId;
- }
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/server/src/com/cloud/domain/DomainVO.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/domain/DomainVO.java b/server/src/com/cloud/domain/DomainVO.java
index 346e19f..a87bedc 100644
--- a/server/src/com/cloud/domain/DomainVO.java
+++ b/server/src/com/cloud/domain/DomainVO.java
@@ -75,12 +75,9 @@ public class DomainVO implements Domain {
@Column(name="uuid")
private String uuid;
- @Column(name="region_id")
- private int regionId;
-
public DomainVO() {}
- public DomainVO(String name, long owner, Long parentId, String networkDomain, int regionId) {
+ public DomainVO(String name, long owner, Long parentId, String networkDomain) {
this.parent = parentId;
this.name = name;
this.accountId = owner;
@@ -89,10 +86,9 @@ public class DomainVO implements Domain {
this.state = Domain.State.Active;
this.networkDomain = networkDomain;
this.uuid = UUID.randomUUID().toString();
- this.regionId = regionId;
}
- public DomainVO(String name, long owner, Long parentId, String networkDomain, String uuid, int regionId) {
+ public DomainVO(String name, long owner, Long parentId, String networkDomain, String uuid) {
this.parent = parentId;
this.name = name;
this.accountId = owner;
@@ -101,7 +97,6 @@ public class DomainVO implements Domain {
this.state = Domain.State.Active;
this.networkDomain = networkDomain;
this.uuid = uuid;
- this.regionId = regionId;
}
@Override
@@ -216,12 +211,5 @@ public class DomainVO implements Domain {
this.uuid = uuid;
}
- public int getRegionId() {
- return regionId;
- }
-
- public void setRegionId(int regionId) {
- this.regionId = regionId;
- }
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/server/src/com/cloud/projects/ProjectManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/projects/ProjectManagerImpl.java b/server/src/com/cloud/projects/ProjectManagerImpl.java
index 33feb5d..de4f3cc 100755
--- a/server/src/com/cloud/projects/ProjectManagerImpl.java
+++ b/server/src/com/cloud/projects/ProjectManagerImpl.java
@@ -205,7 +205,7 @@ public class ProjectManagerImpl extends ManagerBase implements ProjectManager {
StringBuilder acctNm = new StringBuilder("PrjAcct-");
acctNm.append(name).append("-").append(owner.getDomainId());
- Account projectAccount = _accountMgr.createAccount(acctNm.toString(), Account.ACCOUNT_TYPE_PROJECT, domainId, null, null, UUID.randomUUID().toString(), 0);
+ Account projectAccount = _accountMgr.createAccount(acctNm.toString(), Account.ACCOUNT_TYPE_PROJECT, domainId, null, null, UUID.randomUUID().toString());
Project project = _projectDao.persist(new ProjectVO(name, displayText, owner.getDomainId(), projectAccount.getId()));
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/server/src/com/cloud/upgrade/dao/Upgrade40to41.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/upgrade/dao/Upgrade40to41.java b/server/src/com/cloud/upgrade/dao/Upgrade40to41.java
index 9268764..4a2fe4f 100644
--- a/server/src/com/cloud/upgrade/dao/Upgrade40to41.java
+++ b/server/src/com/cloud/upgrade/dao/Upgrade40to41.java
@@ -88,30 +88,6 @@ public class Upgrade40to41 implements DbUpgrade {
pstmt.setInt(1, region_id);
pstmt.executeUpdate();
- //Update regionId in account table
- s_logger.debug("Updating account table with Id: "+region_id);
- pstmt = conn.prepareStatement("update `cloud`.`account` set region_id = ?");
- pstmt.setInt(1, region_id);
- pstmt.executeUpdate();
-
- //Update regionId in user table
- s_logger.debug("Updating user table with Id: "+region_id);
- pstmt = conn.prepareStatement("update `cloud`.`user` set region_id = ?");
- pstmt.setInt(1, region_id);
- pstmt.executeUpdate();
-
- //Update regionId in domain table
- s_logger.debug("Updating domain table with Id: "+region_id);
- pstmt = conn.prepareStatement("update `cloud`.`domain` set region_id = ?");
- pstmt.setInt(1, region_id);
- pstmt.executeUpdate();
-
- //Update regionId in cloud_usage account table
- s_logger.debug("Updating cloud_usage account table with Id: "+region_id);
- pstmt = conn.prepareStatement("update `cloud_usage`.`account` set region_id = ?");
- pstmt.setInt(1, region_id);
- pstmt.executeUpdate();
- s_logger.debug("Successfully updated region entries with regionId: "+region_id);
} catch (SQLException e) {
throw new CloudRuntimeException("Error while updating region entries", e);
} finally {
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/server/src/com/cloud/user/AccountManager.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/user/AccountManager.java b/server/src/com/cloud/user/AccountManager.java
index 4b3a601..6ba1f6a 100755
--- a/server/src/com/cloud/user/AccountManager.java
+++ b/server/src/com/cloud/user/AccountManager.java
@@ -51,9 +51,9 @@ public interface AccountManager extends AccountService {
Long checkAccessAndSpecifyAuthority(Account caller, Long zoneId);
- Account createAccount(String accountName, short accountType, Long domainId, String networkDomain, Map details, String uuid, int regionId);
+ Account createAccount(String accountName, short accountType, Long domainId, String networkDomain, Map details, String uuid);
- UserVO createUser(long accountId, String userName, String password, String firstName, String lastName, String email, String timezone);
+ UserVO createUser(long accountId, String userName, String password, String firstName, String lastName, String email, String timezone, String userUUID);
/**
* Logs out a user
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/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 9b91602..be5f4f4 100755
--- a/server/src/com/cloud/user/AccountManagerImpl.java
+++ b/server/src/com/cloud/user/AccountManagerImpl.java
@@ -54,9 +54,6 @@ import com.cloud.api.ApiDBUtils;
import com.cloud.api.query.dao.UserAccountJoinDao;
import com.cloud.api.query.vo.ControlledViewEntity;
-
-import org.apache.cloudstack.region.RegionManager;
-
import com.cloud.configuration.Config;
import com.cloud.configuration.ConfigurationManager;
import com.cloud.configuration.ResourceLimit;
@@ -217,8 +214,6 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
@Inject
private IPAddressDao _ipAddressDao;
@Inject
- private RegionManager _regionMgr;
- @Inject
private VpcManager _vpcMgr;
@Inject
private DomainRouterDao _routerDao;
@@ -764,7 +759,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
@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) {
+ Long domainId, String networkDomain, Map<String, String> details, String accountUUID, String userUUID) {
if (accountName == null) {
accountName = userName;
@@ -810,11 +805,14 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
txn.start();
// create account
- AccountVO account = createAccount(accountName, accountType, domainId, networkDomain, details, UUID.randomUUID().toString(), _regionMgr.getId());
+ if(accountUUID == null){
+ accountUUID = UUID.randomUUID().toString();
+ }
+ AccountVO account = createAccount(accountName, accountType, domainId, networkDomain, details, accountUUID);
long accountId = account.getId();
// create the first user for the account
- UserVO user = createUser(accountId, userName, password, firstName, lastName, email, timezone);
+ UserVO user = createUser(accountId, userName, password, firstName, lastName, email, timezone, userUUID);
if (accountType == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN) {
// set registration token
@@ -829,7 +827,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
}
@Override
- public UserVO createUser(String userName, String password, String firstName, String lastName, String email, String timeZone, String accountName, Long domainId) {
+ public UserVO createUser(String userName, String password, String firstName, String lastName, String email, String timeZone, String accountName, Long domainId, String userUUID) {
// default domain to ROOT if not specified
if (domainId == null) {
@@ -858,7 +856,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
throw new CloudRuntimeException("The user " + userName + " already exists in domain " + domainId);
}
UserVO user = null;
- user = createUser(account.getId(), userName, password, firstName, lastName, email, timeZone);
+ user = createUser(account.getId(), userName, password, firstName, lastName, email, timeZone, userUUID);
return user;
}
@@ -1646,7 +1644,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
@Override
@DB
- public AccountVO createAccount(String accountName, short accountType, Long domainId, String networkDomain, Map details, String uuid, int regionId) {
+ public AccountVO createAccount(String accountName, short accountType, Long domainId, String networkDomain, Map details, String uuid) {
// Validate domain
Domain domain = _domainMgr.getDomain(domainId);
if (domain == null) {
@@ -1690,7 +1688,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
Transaction txn = Transaction.currentTxn();
txn.start();
- AccountVO account = _accountDao.persist(new AccountVO(accountName, domainId, networkDomain, accountType, uuid, regionId));
+ AccountVO account = _accountDao.persist(new AccountVO(accountName, domainId, networkDomain, accountType, uuid));
if (account == null) {
throw new CloudRuntimeException("Failed to create account name " + accountName + " in domain id=" + domainId);
@@ -1714,7 +1712,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
@Override
@ActionEvent(eventType = EventTypes.EVENT_USER_CREATE, eventDescription = "creating User")
- public UserVO createUser(long accountId, String userName, String password, String firstName, String lastName, String email, String timezone) {
+ public UserVO createUser(long accountId, String userName, String password, String firstName, String lastName, String email, String timezone, String userUUID) {
if (s_logger.isDebugEnabled()) {
s_logger.debug("Creating user: " + userName + ", accountId: " + accountId + " timezone:" + timezone);
}
@@ -1730,30 +1728,10 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
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;
- }
-
- //ToDo Add events??
- public UserVO createUser(long accountId, String userName, String password, String firstName, String lastName, String email, String timezone, String uuid, int regionId) {
- if (s_logger.isDebugEnabled()) {
- s_logger.debug("Creating user: " + userName + ", accountId: " + accountId + " timezone:" + timezone);
+ if(userUUID == null){
+ userUUID = UUID.randomUUID().toString();
}
-
- String encodedPassword = null;
- for (Iterator<UserAuthenticator> en = _userAuthenticators.iterator(); en.hasNext();) {
- UserAuthenticator authenticator = en.next();
- encodedPassword = authenticator.encode(password);
- if (encodedPassword != null) {
- break;
- }
- }
- if (encodedPassword == null) {
- throw new CloudRuntimeException("Failed to encode password");
- }
-
- UserVO user = _userDao.persist(new UserVO(accountId, userName, encodedPassword, firstName, lastName, email, timezone, uuid, regionId));
+ UserVO user = _userDao.persist(new UserVO(accountId, userName, encodedPassword, firstName, lastName, email, timezone, userUUID));
return user;
}
@@ -1983,7 +1961,6 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
@Override @DB
public String[] createApiKeyAndSecretKey(RegisterCmd cmd) {
- //Send keys to other Regions
Long userId = cmd.getId();
User user = getUserIncludingRemoved(userId);
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/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 f268f6e..7bc2abb 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);
+ Domain createDomain(String name, Long parentId, Long ownerId, String networkDomain, String domainUUID);
Set<Long> getDomainParentIds(long domainId);
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/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 babaed3..dbcbe4e 100644
--- a/server/src/com/cloud/user/DomainManagerImpl.java
+++ b/server/src/com/cloud/user/DomainManagerImpl.java
@@ -16,10 +16,7 @@
// under the License.
package com.cloud.user;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
import javax.ejb.Local;
import javax.inject.Inject;
@@ -118,7 +115,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) {
+ public Domain createDomain(String name, Long parentId, String networkDomain, String domainUUID) {
Account caller = UserContext.current().getCaller();
if (parentId == null) {
@@ -136,13 +133,13 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom
_accountMgr.checkAccess(caller, parentDomain);
- return createDomain(name, parentId, caller.getId(), networkDomain);
+ return createDomain(name, parentId, caller.getId(), networkDomain, domainUUID);
}
@Override
@DB
- public Domain createDomain(String name, Long parentId, Long ownerId, String networkDomain) {
+ public Domain createDomain(String name, Long parentId, Long ownerId, String networkDomain, String domainUUID) {
// Verify network domain
if (networkDomain != null) {
if (!NetUtils.verifyDomainName(networkDomain)) {
@@ -161,10 +158,13 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom
throw new InvalidParameterValueException("Domain with name " + name + " already exists for the parent id=" + parentId);
}
+ if(domainUUID == null){
+ domainUUID = UUID.randomUUID().toString();
+ }
+
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, domainUUID));
_resourceCountDao.createResourceCounts(domain.getId(), ResourceLimit.ResourceOwnerType.Domain);
txn.commit();
return domain;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/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 4cbd664..2d51730 100644
--- a/server/src/org/apache/cloudstack/region/RegionManager.java
+++ b/server/src/org/apache/cloudstack/region/RegionManager.java
@@ -43,11 +43,9 @@ public interface RegionManager {
* @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);
+ Region addRegion(int id, String name, String endPoint);
/**
* Update details of the Region with specified Id
@@ -59,7 +57,7 @@ public interface RegionManager {
* @param secretKey
* @return Returns update Region object
*/
- Region updateRegion(int id, String name, String endPoint, String apiKey, String secretKey);
+ Region updateRegion(int id, String name, String endPoint);
/**
* @param id
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/server/src/org/apache/cloudstack/region/RegionManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/org/apache/cloudstack/region/RegionManagerImpl.java b/server/src/org/apache/cloudstack/region/RegionManagerImpl.java
index cb0b1a6..9bcf4be 100755
--- a/server/src/org/apache/cloudstack/region/RegionManagerImpl.java
+++ b/server/src/org/apache/cloudstack/region/RegionManagerImpl.java
@@ -17,30 +17,22 @@
package org.apache.cloudstack.region;
import com.cloud.domain.Domain;
-import com.cloud.domain.DomainVO;
-import com.cloud.domain.dao.DomainDao;
import com.cloud.exception.ConcurrentOperationException;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.user.Account;
import com.cloud.user.AccountManager;
-import com.cloud.user.AccountVO;
import com.cloud.user.DomainManager;
import com.cloud.user.UserAccount;
-import com.cloud.user.UserVO;
import com.cloud.user.dao.AccountDao;
import com.cloud.user.dao.UserAccountDao;
-import com.cloud.user.dao.UserDao;
import com.cloud.utils.component.Manager;
import com.cloud.utils.component.ManagerBase;
-import com.cloud.utils.exception.CloudRuntimeException;
-import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.command.admin.account.UpdateAccountCmd;
import org.apache.cloudstack.api.command.admin.domain.UpdateDomainCmd;
import org.apache.cloudstack.api.command.admin.user.DeleteUserCmd;
import org.apache.cloudstack.api.command.admin.user.UpdateUserCmd;
import org.apache.cloudstack.region.dao.RegionDao;
-import org.apache.commons.httpclient.NameValuePair;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
@@ -63,13 +55,7 @@ public class RegionManagerImpl extends ManagerBase implements RegionManager, Man
@Inject
private AccountManager _accountMgr;
@Inject
- private UserDao _userDao;
- @Inject
- private DomainDao _domainDao;
- @Inject
private DomainManager _domainMgr;
- @Inject
- private UserAccountDao _userAccountDao;
private String _name;
private int _id;
@@ -104,7 +90,7 @@ public class RegionManagerImpl extends ManagerBase implements RegionManager, Man
* {@inheritDoc}
*/
@Override
- public Region addRegion(int id, String name, String endPoint, String apiKey, String secretKey) {
+ public Region addRegion(int id, String name, String endPoint) {
//Region Id should be unique
if( _regionDao.findById(id) != null ){
throw new InvalidParameterValueException("Region with id: "+id+" already exists");
@@ -113,7 +99,7 @@ public class RegionManagerImpl extends ManagerBase implements RegionManager, Man
if( _regionDao.findByName(name) != null ){
throw new InvalidParameterValueException("Region with name: "+name+" already exists");
}
- RegionVO region = new RegionVO(id, name, endPoint, apiKey, secretKey);
+ RegionVO region = new RegionVO(id, name, endPoint);
return _regionDao.persist(region);
}
@@ -121,7 +107,7 @@ public class RegionManagerImpl extends ManagerBase implements RegionManager, Man
* {@inheritDoc}
*/
@Override
- public Region updateRegion(int id, String name, String endPoint, String apiKey, String secretKey) {
+ public Region updateRegion(int id, String name, String endPoint) {
RegionVO region = _regionDao.findById(id);
if(region == null){
@@ -144,14 +130,6 @@ public class RegionManagerImpl extends ManagerBase implements RegionManager, Man
region.setEndPoint(endPoint);
}
- if(apiKey != null){
- region.setApiKey(apiKey);
- }
-
- if(secretKey != null){
- region.setSecretKey(secretKey);
- }
-
_regionDao.update(id, region);
return _regionDao.findById(id);
}
@@ -196,30 +174,7 @@ public class RegionManagerImpl extends ManagerBase implements RegionManager, Man
*/
@Override
public boolean deleteUserAccount(long accountId) {
- AccountVO account = _accountDao.findById(accountId);
- if(account == null){
- throw new InvalidParameterValueException("The specified account does not exist in the system");
- }
- String accountUUID = account.getUuid();
- int regionId = account.getRegionId();
-
- String command = "deleteAccount";
- List<NameValuePair> params = new ArrayList<NameValuePair>();
- params.add(new NameValuePair(ApiConstants.ID, accountUUID));
-
- if(getId() == regionId){
- return _accountMgr.deleteUserAccount(accountId);
- } else {
- //First delete in the Region where account is created
- Region region = _regionDao.findById(regionId);
- if (RegionsApiUtil.makeAPICall(region, command, params)) {
- s_logger.debug("Successfully deleted account :"+accountUUID+" in Region: "+region.getId());
- return true;
- } else {
- s_logger.error("Error while deleting account :"+accountUUID+" in Region: "+region.getId());
- return false;
- }
- }
+ return _accountMgr.deleteUserAccount(accountId);
}
/**
@@ -227,51 +182,7 @@ public class RegionManagerImpl extends ManagerBase implements RegionManager, Man
*/
@Override
public Account updateAccount(UpdateAccountCmd cmd) {
- Long accountId = cmd.getId();
- Long domainId = cmd.getDomainId();
- DomainVO domain = _domainDao.findById(domainId);
- String accountName = cmd.getAccountName();
- String newAccountName = cmd.getNewName();
- String networkDomain = cmd.getNetworkDomain();
- //ToDo send details
- Map<String, String> details = cmd.getDetails();
-
- Account account = null;
- if (accountId != null) {
- account = _accountDao.findById(accountId);
- } else {
- account = _accountDao.findEnabledAccount(accountName, domainId);
- }
-
- // Check if account exists
- if (account == null || account.getType() == Account.ACCOUNT_TYPE_PROJECT) {
- s_logger.error("Unable to find account by accountId: " + accountId + " OR by name: " + accountName + " in domain " + domainId);
- throw new InvalidParameterValueException("Unable to find account by accountId: " + accountId + " OR by name: " + accountName + " in domain " + domainId);
- }
-
- String command = "updateAccount";
- List<NameValuePair> params = new ArrayList<NameValuePair>();
- params.add(new NameValuePair(ApiConstants.ID, account.getUuid()));
- params.add(new NameValuePair(ApiConstants.ACCOUNT, accountName));
- params.add(new NameValuePair(ApiConstants.DOMAIN_ID, domain.getUuid()));
- params.add(new NameValuePair(ApiConstants.NETWORK_DOMAIN, networkDomain));
- params.add(new NameValuePair(ApiConstants.NEW_NAME, newAccountName));
- if(details != null){
- params.add(new NameValuePair(ApiConstants.ACCOUNT_DETAILS, details.toString()));
- }
- int regionId = account.getRegionId();
- if(getId() == regionId){
- return _accountMgr.updateAccount(cmd);
- } else {
- //First update in the Region where account is created
- Region region = _regionDao.findById(regionId);
- if (RegionsApiUtil.makeAPICall(region, command, params)) {
- s_logger.debug("Successfully updated account :"+account.getUuid()+" in source Region: "+region.getId());
- return account;
- } else {
- throw new CloudRuntimeException("Error while updating account :"+account.getUuid()+" in source Region: "+region.getId());
- }
- }
+ return _accountMgr.updateAccount(cmd);
}
/**
@@ -280,46 +191,12 @@ public class RegionManagerImpl extends ManagerBase implements RegionManager, Man
@Override
public Account disableAccount(String accountName, Long domainId, Long accountId, Boolean lockRequested) throws ConcurrentOperationException, ResourceUnavailableException {
Account account = null;
- if (accountId != null) {
- account = _accountDao.findById(accountId);
+ if(lockRequested){
+ account = _accountMgr.lockAccount(accountName, domainId, accountId);
} else {
- account = _accountDao.findActiveAccount(accountName, domainId);
- }
-
- if (account == null || account.getType() == Account.ACCOUNT_TYPE_PROJECT) {
- throw new InvalidParameterValueException("Unable to find active account by accountId: " + accountId + " OR by name: " + accountName + " in domain " + domainId);
- }
-
- String accountUUID = account.getUuid();
-
- String command = "disableAccount";
- List<NameValuePair> params = new ArrayList<NameValuePair>();
- params.add(new NameValuePair(ApiConstants.LOCK, lockRequested.toString()));
- params.add(new NameValuePair(ApiConstants.ID, accountUUID));
- DomainVO domain = _domainDao.findById(domainId);
- if(domain != null){
- params.add(new NameValuePair(ApiConstants.DOMAIN_ID, domain.getUuid()));
- }
-
- int regionId = account.getRegionId();
- if(getId() == regionId){
- Account retAccount = null;
- if(lockRequested){
- retAccount = _accountMgr.lockAccount(accountName, domainId, accountId);
- } else {
- retAccount = _accountMgr.disableAccount(accountName, domainId, accountId);
- }
- return retAccount;
- } else {
- //First disable account in the Region where account is created
- Region region = _regionDao.findById(regionId);
- if (RegionsApiUtil.makeAPICall(region, command, params)) {
- s_logger.debug("Successfully disabled account :"+accountUUID+" in source Region: "+region.getId());
- return account;
- } else {
- throw new CloudRuntimeException("Error while disabling account :"+accountUUID+" in source Region: "+region.getId());
- }
+ account = _accountMgr.disableAccount(accountName, domainId, accountId);
}
+ return account;
}
/**
@@ -327,42 +204,7 @@ public class RegionManagerImpl extends ManagerBase implements RegionManager, Man
*/
@Override
public Account enableAccount(String accountName, Long domainId, Long accountId) {
- // Check if account exists
- Account account = null;
- if (accountId != null) {
- account = _accountDao.findById(accountId);
- } else {
- account = _accountDao.findActiveAccount(accountName, domainId);
- }
-
- if (account == null || account.getType() == Account.ACCOUNT_TYPE_PROJECT) {
- throw new InvalidParameterValueException("Unable to find account by accountId: " + accountId + " OR by name: " + accountName + " in domain " + domainId);
- }
-
- String accountUUID = account.getUuid();
-
- String command = "enableAccount";
- List<NameValuePair> params = new ArrayList<NameValuePair>();
- params.add(new NameValuePair(ApiConstants.ID, accountUUID));
- params.add(new NameValuePair(ApiConstants.ACCOUNT, accountName));
- DomainVO domain = _domainDao.findById(domainId);
- if(domain != null){
- params.add(new NameValuePair(ApiConstants.DOMAIN_ID, domain.getUuid()));
- }
-
- int regionId = account.getRegionId();
- if(getId() == regionId){
- return _accountMgr.enableAccount(accountName, domainId, accountId);
- } else {
- //First disable account in the Region where account is created
- Region region = _regionDao.findById(regionId);
- if (RegionsApiUtil.makeAPICall(region, command, params)) {
- s_logger.debug("Successfully enabled account :"+accountUUID+" in source Region: "+region.getId());
- return account;
- } else {
- throw new CloudRuntimeException("Error while enabling account :"+accountUUID+" in source Region: "+region.getId());
- }
- }
+ return _accountMgr.enableAccount(accountName, domainId, accountId);
}
/**
@@ -370,34 +212,7 @@ public class RegionManagerImpl extends ManagerBase implements RegionManager, Man
*/
@Override
public boolean deleteUser(DeleteUserCmd cmd) {
- long id = cmd.getId();
-
- UserVO user = _userDao.findById(id);
-
- if (user == null) {
- throw new InvalidParameterValueException("The specified user doesn't exist in the system");
- }
-
- String userUUID = user.getUuid();
- int regionId = user.getRegionId();
-
- String command = "deleteUser";
- List<NameValuePair> params = new ArrayList<NameValuePair>();
- params.add(new NameValuePair(ApiConstants.ID, userUUID));
-
- if(getId() == regionId){
- return _accountMgr.deleteUser(cmd);
- } else {
- //First delete in the Region where user is created
- Region region = _regionDao.findById(regionId);
- if (RegionsApiUtil.makeAPICall(region, command, params)) {
- s_logger.debug("Successfully deleted user :"+userUUID+" in source Region: "+region.getId());
- return true;
- } else {
- s_logger.error("Error while deleting user :"+userUUID+" in source Region: "+region.getId());
- return false;
- }
- }
+ return _accountMgr.deleteUser(cmd);
}
/**
@@ -405,33 +220,7 @@ public class RegionManagerImpl extends ManagerBase implements RegionManager, Man
*/
@Override
public Domain updateDomain(UpdateDomainCmd cmd) {
- long id = cmd.getId();
- DomainVO domain = _domainDao.findById(id);
- if(domain == null){
- throw new InvalidParameterValueException("The specified domain doesn't exist in the system");
- }
-
- String domainUUID = domain.getUuid();
-
- String command = "updateDomain";
- List<NameValuePair> params = new ArrayList<NameValuePair>();
- params.add(new NameValuePair(ApiConstants.ID, domainUUID));
- params.add(new NameValuePair(ApiConstants.NAME, cmd.getDomainName()));
- params.add(new NameValuePair(ApiConstants.NETWORK_DOMAIN, cmd.getNetworkDomain()));
-
- int regionId = domain.getRegionId();
- if(getId() == regionId){
- return _domainMgr.updateDomain(cmd);
- } else {
- //First update in the Region where domain was created
- Region region = _regionDao.findById(regionId);
- if (RegionsApiUtil.makeAPICall(region, command, params)) {
- s_logger.debug("Successfully updated user :"+domainUUID+" in source Region: "+region.getId());
- return domain;
- } else {
- throw new CloudRuntimeException("Error while updating user :"+domainUUID+" in source Region: "+region.getId());
- }
- }
+ return _domainMgr.updateDomain(cmd);
}
/**
@@ -439,32 +228,7 @@ public class RegionManagerImpl extends ManagerBase implements RegionManager, Man
*/
@Override
public boolean deleteDomain(Long id, Boolean cleanup) {
- DomainVO domain = _domainDao.findById(id);
- if(domain == null){
- throw new InvalidParameterValueException("The specified domain doesn't exist in the system");
- }
-
- String domainUUID = domain.getUuid();
-
- String command = "deleteDomain";
- List<NameValuePair> params = new ArrayList<NameValuePair>();
- params.add(new NameValuePair(ApiConstants.ID, domainUUID));
- params.add(new NameValuePair(ApiConstants.CLEANUP, cleanup.toString()));
-
- int regionId = domain.getRegionId();
- if(getId() == regionId){
- return _domainMgr.deleteDomain(id, cleanup);
- } else {
- //First delete in the Region where domain is created
- Region region = _regionDao.findById(regionId);
- if (RegionsApiUtil.makeAPICall(region, command, params)) {
- s_logger.debug("Successfully deleted domain :"+domainUUID+" in Region: "+region.getId());
- return true;
- } else {
- s_logger.error("Error while deleting domain :"+domainUUID+" in Region: "+region.getId());
- return false;
- }
- }
+ return _domainMgr.deleteDomain(id, cleanup);
}
/**
@@ -472,40 +236,7 @@ public class RegionManagerImpl extends ManagerBase implements RegionManager, Man
*/
@Override
public UserAccount updateUser(UpdateUserCmd cmd) {
- long id = cmd.getId();
-
- UserVO user = _userDao.findById(id);
- if (user == null) {
- throw new InvalidParameterValueException("The specified user doesn't exist in the system");
- }
-
- String userUUID = user.getUuid();
-
- String command = "updateUser";
- List<NameValuePair> params = new ArrayList<NameValuePair>();
- params.add(new NameValuePair(ApiConstants.ID, userUUID));
- params.add(new NameValuePair(ApiConstants.API_KEY, cmd.getApiKey()));
- params.add(new NameValuePair(ApiConstants.EMAIL, cmd.getEmail()));
- params.add(new NameValuePair(ApiConstants.FIRSTNAME, cmd.getFirstname()));
- params.add(new NameValuePair(ApiConstants.LASTNAME, cmd.getLastname()));
- params.add(new NameValuePair(ApiConstants.PASSWORD, cmd.getPassword()));
- params.add(new NameValuePair(ApiConstants.SECRET_KEY, cmd.getSecretKey()));
- params.add(new NameValuePair(ApiConstants.TIMEZONE, cmd.getTimezone()));
- params.add(new NameValuePair(ApiConstants.USERNAME, cmd.getUsername()));
-
- int regionId = user.getRegionId();
- if(getId() == regionId){
- return _accountMgr.updateUser(cmd);
- } else {
- //First update in the Region where user was created
- Region region = _regionDao.findById(regionId);
- if (RegionsApiUtil.makeAPICall(region, command, params)) {
- s_logger.debug("Successfully updated user :"+userUUID+" in source Region: "+region.getId());
- return _userAccountDao.findById(id);
- } else {
- throw new CloudRuntimeException("Error while updating user :"+userUUID+" in source Region: "+region.getId());
- }
- }
+ return _accountMgr.updateUser(cmd);
}
/**
@@ -513,29 +244,7 @@ public class RegionManagerImpl extends ManagerBase implements RegionManager, Man
*/
@Override
public UserAccount disableUser(Long userId) {
- UserVO user = _userDao.findById(userId);
- if (user == null || user.getRemoved() != null) {
- throw new InvalidParameterValueException("Unable to find active user by id " + userId);
- }
-
- int regionId = user.getRegionId();
-
- String command = "disableUser";
- List<NameValuePair> params = new ArrayList<NameValuePair>();
- params.add(new NameValuePair(ApiConstants.ID, user.getUuid()));
-
- if(getId() == regionId){
- return _accountMgr.disableUser(userId);
- } else {
- //First disable in the Region where user was created
- Region region = _regionDao.findById(regionId);
- if (RegionsApiUtil.makeAPICall(region, command, params)) {
- s_logger.debug("Successfully disabled user :"+user.getUuid()+" in source Region: "+region.getId());
- return _userAccountDao.findById(userId);
- } else {
- throw new CloudRuntimeException("Error while disabling user :"+user.getUuid()+" in source Region: "+region.getId());
- }
- }
+ return _accountMgr.disableUser(userId);
}
/**
@@ -543,29 +252,7 @@ public class RegionManagerImpl extends ManagerBase implements RegionManager, Man
*/
@Override
public UserAccount enableUser(long userId) {
- UserVO user = _userDao.findById(userId);
- if (user == null || user.getRemoved() != null) {
- throw new InvalidParameterValueException("Unable to find active user by id " + userId);
- }
-
- int regionId = user.getRegionId();
-
- String command = "enableUser";
- List<NameValuePair> params = new ArrayList<NameValuePair>();
- params.add(new NameValuePair(ApiConstants.ID, user.getUuid()));
-
- if(getId() == regionId){
- return _accountMgr.enableUser(userId);
- } else {
- //First enable in the Region where user was created
- Region region = _regionDao.findById(regionId);
- if (RegionsApiUtil.makeAPICall(region, command, params)) {
- s_logger.debug("Successfully enabled user :"+user.getUuid()+" in source Region: "+region.getId());
- return _userAccountDao.findById(userId);
- } else {
- throw new CloudRuntimeException("Error while enabling user :"+user.getUuid()+" in source Region: "+region.getId());
- }
- }
+ return _accountMgr.enableUser(userId);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/server/src/org/apache/cloudstack/region/RegionServiceImpl.java
----------------------------------------------------------------------
diff --git a/server/src/org/apache/cloudstack/region/RegionServiceImpl.java b/server/src/org/apache/cloudstack/region/RegionServiceImpl.java
index 0662c32..cb03df6 100755
--- a/server/src/org/apache/cloudstack/region/RegionServiceImpl.java
+++ b/server/src/org/apache/cloudstack/region/RegionServiceImpl.java
@@ -78,20 +78,20 @@ public class RegionServiceImpl extends ManagerBase implements RegionService, Man
* {@inheritDoc}
*/
@Override
- public Region addRegion(int id, String name, String endPoint, String apiKey, String secretKey) {
+ public Region addRegion(int id, String name, String endPoint) {
//Check for valid Name
//Check valid end_point url
- return _regionMgr.addRegion(id, name, endPoint, apiKey, secretKey);
+ return _regionMgr.addRegion(id, name, endPoint);
}
/**
* {@inheritDoc}
*/
@Override
- public Region updateRegion(int id, String name, String endPoint, String apiKey, String secretKey) {
+ public Region updateRegion(int id, String name, String endPoint) {
//Check for valid Name
//Check valid end_point url
- return _regionMgr.updateRegion(id, name, endPoint, apiKey, secretKey);
+ return _regionMgr.updateRegion(id, name, endPoint);
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/server/src/org/apache/cloudstack/region/RegionVO.java
----------------------------------------------------------------------
diff --git a/server/src/org/apache/cloudstack/region/RegionVO.java b/server/src/org/apache/cloudstack/region/RegionVO.java
index 0c36db2..907c11d 100644
--- a/server/src/org/apache/cloudstack/region/RegionVO.java
+++ b/server/src/org/apache/cloudstack/region/RegionVO.java
@@ -36,21 +36,13 @@ public class RegionVO implements Region{
@Column(name="end_point")
private String endPoint;
- @Column(name="api_key")
- private String apiKey;
-
- @Column(name="secret_key")
- private String secretKey;
-
public RegionVO() {
}
- public RegionVO(int id, String name, String endPoint, String apiKey, String secretKey) {
+ public RegionVO(int id, String name, String endPoint) {
this.id = id;
this.name = name;
this.endPoint = endPoint;
- this.apiKey = apiKey;
- this.secretKey = secretKey;
}
public int getId() {
@@ -73,21 +65,4 @@ public class RegionVO implements Region{
this.endPoint = endPoint;
}
- public String getApiKey() {
- return apiKey;
- }
-
- public void setApiKey(String apiKey) {
- this.apiKey = apiKey;
- }
-
- public String getSecretKey() {
- return secretKey;
- }
-
- public void setSecretKey(String secretKey) {
- this.secretKey = secretKey;
- }
-
-
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/server/src/org/apache/cloudstack/region/RegionsApiUtil.java
----------------------------------------------------------------------
diff --git a/server/src/org/apache/cloudstack/region/RegionsApiUtil.java b/server/src/org/apache/cloudstack/region/RegionsApiUtil.java
index 2ace4f9..0dbee5f 100644
--- a/server/src/org/apache/cloudstack/region/RegionsApiUtil.java
+++ b/server/src/org/apache/cloudstack/region/RegionsApiUtil.java
@@ -227,8 +227,8 @@ public class RegionsApiUtil {
*/
private static String buildUrl(String apiParams, Region region) {
- String apiKey = region.getApiKey();
- String secretKey = region.getSecretKey();
+ String apiKey = "";
+ String secretKey = "";
if (apiKey == null || secretKey == null) {
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/server/test/com/cloud/user/MockAccountManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/user/MockAccountManagerImpl.java b/server/test/com/cloud/user/MockAccountManagerImpl.java
index b637c2a..64919af 100644
--- a/server/test/com/cloud/user/MockAccountManagerImpl.java
+++ b/server/test/com/cloud/user/MockAccountManagerImpl.java
@@ -264,7 +264,7 @@ public class MockAccountManagerImpl extends ManagerBase implements Manager, Acco
}
@Override
- public UserVO createUser(long accountId, String userName, String password, String firstName, String lastName, String email, String timezone) {
+ public UserVO createUser(long accountId, String userName, String password, String firstName, String lastName, String email, String timezone, String userUUID) {
return null;
}
@@ -328,7 +328,7 @@ public class MockAccountManagerImpl extends ManagerBase implements Manager, Acco
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 networkDomain, Map<String, String> details, String accountUUID, String userUUID) {
// TODO Auto-generated method stub
return null;
}
@@ -336,15 +336,14 @@ public class MockAccountManagerImpl extends ManagerBase implements Manager, Acco
@Override
public User createUser(String userName, String password, String firstName,
String lastName, String email, String timeZone, String accountName,
- Long domainId) {
+ Long domainId, String userUUID) {
// TODO Auto-generated method stub
return null;
}
@Override
public Account createAccount(String accountName, short accountType,
- Long domainId, String networkDomain, Map details, String uuid,
- int regionId) {
+ Long domainId, String networkDomain, Map details, String uuid) {
// TODO Auto-generated method stub
return null;
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/server/test/com/cloud/user/MockDomainManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/user/MockDomainManagerImpl.java b/server/test/com/cloud/user/MockDomainManagerImpl.java
index bc92965..616e12d 100644
--- a/server/test/com/cloud/user/MockDomainManagerImpl.java
+++ b/server/test/com/cloud/user/MockDomainManagerImpl.java
@@ -139,7 +139,7 @@ public class MockDomainManagerImpl extends ManagerBase implements DomainManager,
@Override
public Domain createDomain(String name, Long parentId,
- String networkDomain) {
+ String networkDomain, String domainUUID) {
// TODO Auto-generated method stub
return null;
}
@@ -152,7 +152,7 @@ public class MockDomainManagerImpl extends ManagerBase implements DomainManager,
@Override
public Domain createDomain(String name, Long parentId, Long ownerId,
- String networkDomain) {
+ String networkDomain, String domainUUID) {
// TODO Auto-generated method stub
return null;
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/server/test/org/apache/cloudstack/region/RegionManagerTest.java
----------------------------------------------------------------------
diff --git a/server/test/org/apache/cloudstack/region/RegionManagerTest.java b/server/test/org/apache/cloudstack/region/RegionManagerTest.java
index 330f0b4..b6d1969 100644
--- a/server/test/org/apache/cloudstack/region/RegionManagerTest.java
+++ b/server/test/org/apache/cloudstack/region/RegionManagerTest.java
@@ -48,27 +48,14 @@ public class RegionManagerTest extends TestCase {
public void testUniqueName() {
RegionManagerImpl regionMgr = new RegionManagerImpl();
RegionDao regionDao = Mockito.mock(RegionDao.class);
- RegionVO region = new RegionVO(2, "APAC", "", null, null);
+ RegionVO region = new RegionVO(2, "APAC", "");
Mockito.when(regionDao.findByName(Mockito.anyString())).thenReturn(region);
regionMgr._regionDao = regionDao;
try {
- regionMgr.addRegion(2, "APAC", "", null, null);
+ regionMgr.addRegion(2, "APAC", "");
} catch (InvalidParameterValueException e){
Assert.assertEquals("Region with name: APAC already exists", e.getMessage());
}
}
-
- @Test
- public void testUserDelete() {
- RegionManagerImpl regionMgr = new RegionManagerImpl();
- AccountDao accountDao = Mockito.mock(AccountDao.class);
- Mockito.when(accountDao.findById(Mockito.anyLong())).thenReturn(null);
- regionMgr._accountDao = accountDao;
- try {
- regionMgr.deleteUserAccount(5);
- } catch (InvalidParameterValueException e){
- Assert.assertEquals("The specified account does not exist in the system", e.getMessage());
- }
- }
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2dd31f33/setup/db/db/schema-40to410.sql
----------------------------------------------------------------------
diff --git a/setup/db/db/schema-40to410.sql b/setup/db/db/schema-40to410.sql
index b9bfe1a..865fbd3 100644
--- a/setup/db/db/schema-40to410.sql
+++ b/setup/db/db/schema-40to410.sql
@@ -258,17 +258,10 @@ CREATE TABLE `cloud`.`region` (
`id` int unsigned NOT NULL UNIQUE,
`name` varchar(255) NOT NULL UNIQUE,
`end_point` varchar(255) NOT NULL,
- `api_key` varchar(255),
- `secret_key` varchar(255),
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-INSERT INTO `cloud`.`region` values ('1','Local','http://localhost:8080/client/api','','');
-
-ALTER TABLE `cloud`.`account` ADD COLUMN `region_id` int unsigned NOT NULL DEFAULT '1';
-ALTER TABLE `cloud`.`user` ADD COLUMN `region_id` int unsigned NOT NULL DEFAULT '1';
-ALTER TABLE `cloud`.`domain` ADD COLUMN `region_id` int unsigned NOT NULL DEFAULT '1';
+INSERT INTO `cloud`.`region` values ('1','Local','http://localhost:8080/client/api');
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Account Defaults', 'DEFAULT', 'management-server', 'max.account.cpus', '40', 'The default maximum number of cpu cores that can be used for an account');