You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by wi...@apache.org on 2015/03/04 11:06:06 UTC
[22/50] [abbrv] git commit: updated refs/heads/reporter to 178a938
CLOUDSTACK-8273: fix baremetal account creation
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>
(cherry picked from commit e000646790597cb6c245311f57761b41d23a4e34)
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>
Conflicts:
plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManagerImpl.java
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/a75ff231
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/a75ff231
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/a75ff231
Branch: refs/heads/reporter
Commit: a75ff231315e045d441c25e6b368ad2e863cc004
Parents: 6f4db0c
Author: Rohit Yadav <ro...@shapeblue.com>
Authored: Fri Feb 27 15:52:25 2015 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Fri Feb 27 15:55:09 2015 +0530
----------------------------------------------------------------------
api/src/com/cloud/user/AccountService.java | 2 ++
.../manager/BaremetalVlanManagerImpl.java | 7 ++----
.../contrail/management/MockAccountManager.java | 6 +++++
.../src/com/cloud/user/AccountManagerImpl.java | 23 ++++++++++++++++++++
.../com/cloud/user/MockAccountManagerImpl.java | 5 +++++
5 files changed, 38 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a75ff231/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 75f95ce..c483d05 100644
--- a/api/src/com/cloud/user/AccountService.java
+++ b/api/src/com/cloud/user/AccountService.java
@@ -105,6 +105,8 @@ public interface AccountService {
public String[] createApiKeyAndSecretKey(RegisterCmd cmd);
+ public String[] createApiKeyAndSecretKey(final long userId);
+
UserAccount getUserByApiKey(String apiKey);
RoleType getRoleType(Account account);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a75ff231/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManagerImpl.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManagerImpl.java
index 3169597..d3ea3d2 100644
--- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManagerImpl.java
+++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/manager/BaremetalVlanManagerImpl.java
@@ -42,8 +42,7 @@ import com.google.gson.Gson;
import org.apache.cloudstack.api.AddBaremetalRctCmd;
import org.apache.cloudstack.api.DeleteBaremetalRctCmd;
import org.apache.cloudstack.api.ListBaremetalRctCmd;
-import org.apache.cloudstack.api.command.admin.user.RegisterCmd;
-import org.apache.cloudstack.utils.baremetal.BaremetalUtils;
+import org.apache.cloudstack.utils.baremetal.BaremetalUtils;
import org.springframework.web.client.RestTemplate;
import javax.inject.Inject;
@@ -259,9 +258,7 @@ public class BaremetalVlanManagerImpl extends ManagerBase implements BaremetalVl
user.setPassword(UUID.randomUUID().toString());
user = userDao.persist(user);
- RegisterCmd cmd = new RegisterCmd();
- cmd.setId(user.getId());
- String[] keys = acntMgr.createApiKeyAndSecretKey(cmd);
+ String[] keys = acntMgr.createApiKeyAndSecretKey(user.getId());
user.setApiKey(keys[0]);
user.setSecretKey(keys[1]);
userDao.update(user.getId(), user);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a75ff231/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/MockAccountManager.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/MockAccountManager.java b/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/MockAccountManager.java
index daeb6bd..9bc11d6 100644
--- a/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/MockAccountManager.java
+++ b/plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/MockAccountManager.java
@@ -116,6 +116,12 @@ public class MockAccountManager extends ManagerBase implements AccountManager {
}
@Override
+ public String[] createApiKeyAndSecretKey(final long userId) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
public User createUser(String arg0, String arg1, String arg2, String arg3, String arg4, String arg5, String arg6, Long arg7, String arg8) {
// TODO Auto-generated method stub
return null;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a75ff231/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 78a8733..29ea9aa 100644
--- a/server/src/com/cloud/user/AccountManagerImpl.java
+++ b/server/src/com/cloud/user/AccountManagerImpl.java
@@ -2079,6 +2079,11 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
s_logger.error("Failed to authenticate user: " + username + " in domain " + domainId);
return null;
}
+ // don't allow baremetal system user
+ if (BaremetalUtils.BAREMETAL_SYSTEM_ACCOUNT_NAME.equals(user.getUsername())) {
+ s_logger.error("Won't authenticate user: " + username + " in domain " + domainId);
+ return null;
+ }
if (s_logger.isDebugEnabled()) {
s_logger.debug("User: " + username + " in domain " + domainId + " has successfully logged in");
@@ -2210,6 +2215,24 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
return keys;
}
+ @Override
+ @DB
+ @ActionEvent(eventType = EventTypes.EVENT_REGISTER_FOR_SECRET_API_KEY, eventDescription = "register for the developer API keys")
+ public String[] createApiKeyAndSecretKey(final long userId) {
+ User user = getUserIncludingRemoved(userId);
+ if (user == null) {
+ throw new InvalidParameterValueException("Unable to find user by id");
+ }
+ final String[] keys = new String[2];
+ Transaction.execute(new TransactionCallbackNoReturn() {
+ public void doInTransactionWithoutResult(TransactionStatus status) {
+ keys[0] = AccountManagerImpl.this.createUserApiKey(userId);
+ keys[1] = AccountManagerImpl.this.createUserSecretKey(userId);
+ }
+ });
+ return keys;
+ }
+
private String createUserApiKey(long userId) {
try {
UserVO updatedUser = _userDao.createForUpdate();
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a75ff231/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 35eb94a..26f8904 100644
--- a/server/test/com/cloud/user/MockAccountManagerImpl.java
+++ b/server/test/com/cloud/user/MockAccountManagerImpl.java
@@ -278,6 +278,11 @@ public class MockAccountManagerImpl extends ManagerBase implements Manager, Acco
}
@Override
+ public String[] createApiKeyAndSecretKey(final long userId) {
+ return null;
+ }
+
+ @Override
public boolean enableAccount(long accountId) {
// TODO Auto-generated method stub
return false;