You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by fr...@apache.org on 2013/07/18 20:35:40 UTC
git commit: updated refs/heads/4.2 to 7ff74ca
Updated Branches:
refs/heads/4.2 33faf44b3 -> 7ff74caf8
CLOUDSTACK-3307
UCS:DB: Same UCS manager can be added multiple times
fixed resolved
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/7ff74caf
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/7ff74caf
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/7ff74caf
Branch: refs/heads/4.2
Commit: 7ff74caf8e15dc91724f9caa33fb66ccbbfb7d35
Parents: 33faf44
Author: frank <fr...@citrix.com>
Authored: Thu Jul 18 11:43:24 2013 -0700
Committer: frank <fr...@citrix.com>
Committed: Thu Jul 18 11:45:10 2013 -0700
----------------------------------------------------------------------
.../ucs/src/com/cloud/ucs/manager/UcsManagerImpl.java | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7ff74caf/plugins/hypervisors/ucs/src/com/cloud/ucs/manager/UcsManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/ucs/src/com/cloud/ucs/manager/UcsManagerImpl.java b/plugins/hypervisors/ucs/src/com/cloud/ucs/manager/UcsManagerImpl.java
index 150e3dc..e2bd31d 100755
--- a/plugins/hypervisors/ucs/src/com/cloud/ucs/manager/UcsManagerImpl.java
+++ b/plugins/hypervisors/ucs/src/com/cloud/ucs/manager/UcsManagerImpl.java
@@ -132,7 +132,14 @@ public class UcsManagerImpl implements UcsManager {
@Override
@DB
- public UcsManagerResponse addUcsManager(AddUcsManagerCmd cmd) {
+ public UcsManagerResponse addUcsManager(AddUcsManagerCmd cmd) {
+ SearchCriteriaService<UcsManagerVO, UcsManagerVO> q = SearchCriteria2.create(UcsManagerVO.class);
+ q.addAnd(q.getEntity().getUrl(), Op.EQ, cmd.getUrl());
+ UcsManagerVO mgrvo = q.find();
+ if (mgrvo != null) {
+ throw new IllegalArgumentException(String.format("duplicate UCS manager. url[%s] is used by another UCS manager already", cmd.getUrl()));
+ }
+
UcsManagerVO vo = new UcsManagerVO();
vo.setUuid(UUID.randomUUID().toString());
vo.setPassword(cmd.getPassword());
@@ -141,6 +148,7 @@ public class UcsManagerImpl implements UcsManager {
vo.setZoneId(cmd.getZoneId());
vo.setName(cmd.getName());
+
Transaction txn = Transaction.currentTxn();
txn.start();
ucsDao.persist(vo);