You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by al...@apache.org on 2014/02/05 00:52:45 UTC
[1/5] git commit: updated refs/heads/master to 7cb4b57
Updated Branches:
refs/heads/master 929099518 -> 7cb4b571c
External UUID control support for VPC and NetworkACLItemp
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/8065ee44
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/8065ee44
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/8065ee44
Branch: refs/heads/master
Commit: 8065ee445f3c5fd18cdfe1659eaad09f380d804d
Parents: 7cd0ad3
Author: Alena Prokharchyk <al...@citrix.com>
Authored: Tue Feb 4 14:43:50 2014 -0800
Committer: Alena Prokharchyk <al...@citrix.com>
Committed: Tue Feb 4 15:47:12 2014 -0800
----------------------------------------------------------------------
.../com/cloud/network/vpc/NetworkACLService.java | 3 ++-
api/src/com/cloud/network/vpc/VpcService.java | 3 ++-
.../user/network/UpdateNetworkACLItemCmd.java | 16 +++++++++++-----
.../api/command/user/vpc/UpdateVPCCmd.java | 15 +++++++++++----
.../com/cloud/network/vpc/NetworkACLManager.java | 3 ++-
.../src/com/cloud/network/vpc/NetworkACLItemVO.java | 4 ++++
engine/schema/src/com/cloud/network/vpc/VpcVO.java | 5 +++++
.../cloud/network/vpc/NetworkACLManagerImpl.java | 9 ++++++---
.../cloud/network/vpc/NetworkACLServiceImpl.java | 15 +++++++--------
.../src/com/cloud/network/vpc/VpcManagerImpl.java | 9 ++++++---
.../test/com/cloud/vpc/NetworkACLManagerTest.java | 9 ++++-----
11 files changed, 60 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8065ee44/api/src/com/cloud/network/vpc/NetworkACLService.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/network/vpc/NetworkACLService.java b/api/src/com/cloud/network/vpc/NetworkACLService.java
index 4d11880..dff718d 100644
--- a/api/src/com/cloud/network/vpc/NetworkACLService.java
+++ b/api/src/com/cloud/network/vpc/NetworkACLService.java
@@ -114,11 +114,12 @@ public interface NetworkACLService {
* @param sourcePortEnd
* @param icmpCode
* @param icmpType
+ * @param newUUID TODO
* @return
* @throws ResourceUnavailableException
*/
NetworkACLItem updateNetworkACLItem(Long id, String protocol, List<String> sourceCidrList, NetworkACLItem.TrafficType trafficType, String action, Integer number,
- Integer sourcePortStart, Integer sourcePortEnd, Integer icmpCode, Integer icmpType) throws ResourceUnavailableException;
+ Integer sourcePortStart, Integer sourcePortEnd, Integer icmpCode, Integer icmpType, String newUUID) throws ResourceUnavailableException;
/**
* Associates ACL with specified Network
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8065ee44/api/src/com/cloud/network/vpc/VpcService.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/network/vpc/VpcService.java b/api/src/com/cloud/network/vpc/VpcService.java
index e28f351..218e675 100644
--- a/api/src/com/cloud/network/vpc/VpcService.java
+++ b/api/src/com/cloud/network/vpc/VpcService.java
@@ -66,9 +66,10 @@ public interface VpcService {
* @param vpcId
* @param vpcName
* @param displayText
+ * @param customId TODO
* @return
*/
- public Vpc updateVpc(long vpcId, String vpcName, String displayText);
+ public Vpc updateVpc(long vpcId, String vpcName, String displayText, String customId);
/**
* Lists VPC(s) based on the parameters passed to the method call
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8065ee44/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkACLItemCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkACLItemCmd.java b/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkACLItemCmd.java
index 1e559c2..accad84 100644
--- a/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkACLItemCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkACLItemCmd.java
@@ -18,16 +18,15 @@ package org.apache.cloudstack.api.command.user.network;
import java.util.List;
-import org.apache.log4j.Logger;
-
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.ApiErrorCode;
-import org.apache.cloudstack.api.BaseAsyncCmd;
+import org.apache.cloudstack.api.BaseAsyncCustomIdCmd;
import org.apache.cloudstack.api.Parameter;
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.api.response.NetworkACLItemResponse;
import org.apache.cloudstack.context.CallContext;
+import org.apache.log4j.Logger;
import com.cloud.event.EventTypes;
import com.cloud.exception.ResourceUnavailableException;
@@ -35,7 +34,7 @@ import com.cloud.network.vpc.NetworkACLItem;
import com.cloud.user.Account;
@APICommand(name = "updateNetworkACLItem", description = "Updates ACL Item with specified Id", responseObject = NetworkACLItemResponse.class)
-public class UpdateNetworkACLItemCmd extends BaseAsyncCmd {
+public class UpdateNetworkACLItemCmd extends BaseAsyncCustomIdCmd {
public static final Logger s_logger = Logger.getLogger(UpdateNetworkACLItemCmd.class.getName());
private static final String s_name = "createnetworkaclresponse";
@@ -165,7 +164,7 @@ public class UpdateNetworkACLItemCmd extends BaseAsyncCmd {
CallContext.current().setEventDetails("Rule Id: " + getId());
NetworkACLItem aclItem =
_networkACLService.updateNetworkACLItem(getId(), getProtocol(), getSourceCidrList(), getTrafficType(), getAction(), getNumber(), getSourcePortStart(),
- getSourcePortEnd(), getIcmpCode(), getIcmpType());
+ getSourcePortEnd(), getIcmpCode(), getIcmpType(), this.getCustomId());
if (aclItem == null) {
throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to update network ACL Item");
}
@@ -174,4 +173,11 @@ public class UpdateNetworkACLItemCmd extends BaseAsyncCmd {
aclResponse.setResponseName(getCommandName());
}
+ @Override
+ public void checkUuid(String id, Class<?> cls) {
+ if (this.getCustomId() != null) {
+ _uuidMgr.checkUuid(this.getCustomId(), NetworkACLItem.class);
+ }
+ }
+
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8065ee44/api/src/org/apache/cloudstack/api/command/user/vpc/UpdateVPCCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/vpc/UpdateVPCCmd.java b/api/src/org/apache/cloudstack/api/command/user/vpc/UpdateVPCCmd.java
index 5732c65..60dae31 100644
--- a/api/src/org/apache/cloudstack/api/command/user/vpc/UpdateVPCCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/vpc/UpdateVPCCmd.java
@@ -16,22 +16,22 @@
// under the License.
package org.apache.cloudstack.api.command.user.vpc;
-import org.apache.log4j.Logger;
-
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.ApiErrorCode;
import org.apache.cloudstack.api.BaseAsyncCmd;
+import org.apache.cloudstack.api.BaseAsyncCustomIdCmd;
import org.apache.cloudstack.api.Parameter;
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.api.response.VpcResponse;
+import org.apache.log4j.Logger;
import com.cloud.event.EventTypes;
import com.cloud.network.vpc.Vpc;
import com.cloud.user.Account;
@APICommand(name = "updateVPC", description = "Updates a VPC", responseObject = VpcResponse.class)
-public class UpdateVPCCmd extends BaseAsyncCmd {
+public class UpdateVPCCmd extends BaseAsyncCustomIdCmd {
public static final Logger s_logger = Logger.getLogger(UpdateVPCCmd.class.getName());
private static final String Name = "updatevpcresponse";
@@ -84,7 +84,7 @@ public class UpdateVPCCmd extends BaseAsyncCmd {
@Override
public void execute() {
- Vpc result = _vpcService.updateVpc(getId(), getVpcName(), getDisplayText());
+ Vpc result = _vpcService.updateVpc(getId(), getVpcName(), getDisplayText(), this.getCustomId());
if (result != null) {
VpcResponse response = _responseGenerator.createVpcResponse(result);
response.setResponseName(getCommandName());
@@ -113,4 +113,11 @@ public class UpdateVPCCmd extends BaseAsyncCmd {
public Long getSyncObjId() {
return getId();
}
+
+ @Override
+ public void checkUuid(String id, Class<?> cls) {
+ if (this.getCustomId() != null) {
+ _uuidMgr.checkUuid(this.getCustomId(), Vpc.class);
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8065ee44/engine/components-api/src/com/cloud/network/vpc/NetworkACLManager.java
----------------------------------------------------------------------
diff --git a/engine/components-api/src/com/cloud/network/vpc/NetworkACLManager.java b/engine/components-api/src/com/cloud/network/vpc/NetworkACLManager.java
index 06952fc..dee8c4a 100644
--- a/engine/components-api/src/com/cloud/network/vpc/NetworkACLManager.java
+++ b/engine/components-api/src/com/cloud/network/vpc/NetworkACLManager.java
@@ -130,11 +130,12 @@ public interface NetworkACLManager {
* @param sourcePortEnd
* @param icmpCode
* @param icmpType
+ * @param customId TODO
* @return
* @throws ResourceUnavailableException
*/
NetworkACLItem updateNetworkACLItem(Long id, String protocol, List<String> sourceCidrList, NetworkACLItem.TrafficType trafficType, String action, Integer number,
- Integer sourcePortStart, Integer sourcePortEnd, Integer icmpCode, Integer icmpType) throws ResourceUnavailableException;
+ Integer sourcePortStart, Integer sourcePortEnd, Integer icmpCode, Integer icmpType, String customId) throws ResourceUnavailableException;
/**
* Associates acl with a network and applies the ACLItems
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8065ee44/engine/schema/src/com/cloud/network/vpc/NetworkACLItemVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/network/vpc/NetworkACLItemVO.java b/engine/schema/src/com/cloud/network/vpc/NetworkACLItemVO.java
index f45b8c4..7cd0946 100644
--- a/engine/schema/src/com/cloud/network/vpc/NetworkACLItemVO.java
+++ b/engine/schema/src/com/cloud/network/vpc/NetworkACLItemVO.java
@@ -241,4 +241,8 @@ public class NetworkACLItemVO implements NetworkACLItem {
public void setAction(Action action) {
this.action = action;
}
+
+ public void setUuid(String uuid) {
+ this.uuid = uuid;
+ }
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8065ee44/engine/schema/src/com/cloud/network/vpc/VpcVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/network/vpc/VpcVO.java b/engine/schema/src/com/cloud/network/vpc/VpcVO.java
index 23bcf93..5f3528d 100644
--- a/engine/schema/src/com/cloud/network/vpc/VpcVO.java
+++ b/engine/schema/src/com/cloud/network/vpc/VpcVO.java
@@ -31,6 +31,7 @@ import com.cloud.utils.db.GenericDao;
@Entity
@Table(name = "vpc")
public class VpcVO implements Vpc {
+
@Id
@Column(name = "id")
long id;
@@ -177,4 +178,8 @@ public class VpcVO implements Vpc {
public boolean isRestartRequired() {
return restartRequired;
}
+
+ public void setUuid(String uuid) {
+ this.uuid = uuid;
+ }
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8065ee44/server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java b/server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java
index 979d407..82360f5 100644
--- a/server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java
+++ b/server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java
@@ -22,9 +22,8 @@ import java.util.List;
import javax.ejb.Local;
import javax.inject.Inject;
-import org.apache.log4j.Logger;
-
import org.apache.cloudstack.context.CallContext;
+import org.apache.log4j.Logger;
import com.cloud.configuration.ConfigurationManager;
import com.cloud.event.ActionEvent;
@@ -399,7 +398,7 @@ public class NetworkACLManagerImpl extends ManagerBase implements NetworkACLMana
@Override
public NetworkACLItem updateNetworkACLItem(Long id, String protocol, List<String> sourceCidrList, NetworkACLItem.TrafficType trafficType, String action,
- Integer number, Integer sourcePortStart, Integer sourcePortEnd, Integer icmpCode, Integer icmpType) throws ResourceUnavailableException {
+ Integer number, Integer sourcePortStart, Integer sourcePortEnd, Integer icmpCode, Integer icmpType, String customId) throws ResourceUnavailableException {
NetworkACLItemVO aclItem = _networkACLItemDao.findById(id);
aclItem.setState(State.Add);
@@ -443,6 +442,10 @@ public class NetworkACLManagerImpl extends ManagerBase implements NetworkACLMana
aclItem.setIcmpType(icmpType);
}
+ if (customId != null) {
+ aclItem.setUuid(customId);
+ }
+
if (_networkACLItemDao.update(id, aclItem)) {
if (applyNetworkACL(aclItem.getAclId())) {
return aclItem;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8065ee44/server/src/com/cloud/network/vpc/NetworkACLServiceImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/vpc/NetworkACLServiceImpl.java b/server/src/com/cloud/network/vpc/NetworkACLServiceImpl.java
index e5a59ff..a9d2b1d 100644
--- a/server/src/com/cloud/network/vpc/NetworkACLServiceImpl.java
+++ b/server/src/com/cloud/network/vpc/NetworkACLServiceImpl.java
@@ -23,17 +23,15 @@ import java.util.Map;
import javax.ejb.Local;
import javax.inject.Inject;
-import com.cloud.network.vpc.dao.VpcDao;
-import org.apache.cloudstack.api.command.user.network.ListNetworkACLListsCmd;
-import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Logger;
-import org.springframework.stereotype.Component;
-
import org.apache.cloudstack.api.ApiErrorCode;
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.api.command.user.network.CreateNetworkACLCmd;
+import org.apache.cloudstack.api.command.user.network.ListNetworkACLListsCmd;
import org.apache.cloudstack.api.command.user.network.ListNetworkACLsCmd;
import org.apache.cloudstack.context.CallContext;
+import org.apache.commons.lang.StringUtils;
+import org.apache.log4j.Logger;
+import org.springframework.stereotype.Component;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.exception.ResourceUnavailableException;
@@ -43,6 +41,7 @@ import com.cloud.network.Networks;
import com.cloud.network.dao.NetworkDao;
import com.cloud.network.dao.NetworkVO;
import com.cloud.network.vpc.dao.NetworkACLDao;
+import com.cloud.network.vpc.dao.VpcDao;
import com.cloud.network.vpc.dao.VpcGatewayDao;
import com.cloud.projects.Project.ListProjectResourcesCriteria;
import com.cloud.server.ResourceTag.ResourceObjectType;
@@ -606,7 +605,7 @@ public class NetworkACLServiceImpl extends ManagerBase implements NetworkACLServ
@Override
public NetworkACLItem updateNetworkACLItem(Long id, String protocol, List<String> sourceCidrList, NetworkACLItem.TrafficType trafficType, String action,
- Integer number, Integer sourcePortStart, Integer sourcePortEnd, Integer icmpCode, Integer icmpType) throws ResourceUnavailableException {
+ Integer number, Integer sourcePortStart, Integer sourcePortEnd, Integer icmpCode, Integer icmpType, String newUUID) throws ResourceUnavailableException {
NetworkACLItemVO aclItem = _networkACLItemDao.findById(id);
if (aclItem == null) {
throw new InvalidParameterValueException("Unable to find ACL Item cannot be found");
@@ -635,7 +634,7 @@ public class NetworkACLServiceImpl extends ManagerBase implements NetworkACLServ
validateNetworkACLItem((sourcePortStart == null) ? aclItem.getSourcePortStart() : sourcePortStart, (sourcePortEnd == null) ? aclItem.getSourcePortEnd()
: sourcePortEnd, sourceCidrList, protocol, icmpCode, (icmpType == null) ? aclItem.getIcmpType() : icmpType, action, number);
- return _networkAclMgr.updateNetworkACLItem(id, protocol, sourceCidrList, trafficType, action, number, sourcePortStart, sourcePortEnd, icmpCode, icmpType);
+ return _networkAclMgr.updateNetworkACLItem(id, protocol, sourceCidrList, trafficType, action, number, sourcePortStart, sourcePortEnd, icmpCode, icmpType, newUUID);
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8065ee44/server/src/com/cloud/network/vpc/VpcManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
index 909e464..11d8c7a 100644
--- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java
+++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
@@ -32,8 +32,6 @@ import javax.ejb.Local;
import javax.inject.Inject;
import javax.naming.ConfigurationException;
-import org.apache.log4j.Logger;
-
import org.apache.cloudstack.acl.ControlledEntity.ACLType;
import org.apache.cloudstack.api.command.user.vpc.ListPrivateGatewaysCmd;
import org.apache.cloudstack.api.command.user.vpc.ListStaticRoutesCmd;
@@ -42,6 +40,7 @@ import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationSe
import org.apache.cloudstack.framework.config.ConfigDepot;
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
import org.apache.cloudstack.managed.context.ManagedContextRunnable;
+import org.apache.log4j.Logger;
import com.cloud.configuration.Config;
import com.cloud.configuration.ConfigurationManager;
@@ -770,7 +769,7 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis
@Override
@ActionEvent(eventType = EventTypes.EVENT_VPC_UPDATE, eventDescription = "updating vpc")
- public Vpc updateVpc(long vpcId, String vpcName, String displayText) {
+ public Vpc updateVpc(long vpcId, String vpcName, String displayText, String customId) {
CallContext.current().setEventDetails(" Id: " + vpcId);
Account caller = CallContext.current().getCallingAccount();
@@ -792,6 +791,10 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis
vpc.setDisplayText(displayText);
}
+ if (customId != null) {
+ vpc.setUuid(customId);
+ }
+
if (_vpcDao.update(vpcId, vpc)) {
s_logger.debug("Updated VPC id=" + vpcId);
return _vpcDao.findById(vpcId);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8065ee44/server/test/com/cloud/vpc/NetworkACLManagerTest.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vpc/NetworkACLManagerTest.java b/server/test/com/cloud/vpc/NetworkACLManagerTest.java
index 629afa3..edf183e 100644
--- a/server/test/com/cloud/vpc/NetworkACLManagerTest.java
+++ b/server/test/com/cloud/vpc/NetworkACLManagerTest.java
@@ -24,6 +24,9 @@ import javax.inject.Inject;
import junit.framework.TestCase;
+import org.apache.cloudstack.context.CallContext;
+import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
+import org.apache.cloudstack.test.utils.SpringUtils;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -41,10 +44,6 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;
-import org.apache.cloudstack.context.CallContext;
-import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
-import org.apache.cloudstack.test.utils.SpringUtils;
-
import com.cloud.configuration.ConfigurationManager;
import com.cloud.network.Network;
import com.cloud.network.NetworkModel;
@@ -228,7 +227,7 @@ public class NetworkACLManagerTest extends TestCase {
public void testUpdateACLItem() throws Exception {
Mockito.when(_networkACLItemDao.findById(Matchers.anyLong())).thenReturn(aclItem);
Mockito.when(_networkACLItemDao.update(Matchers.anyLong(), Matchers.any(NetworkACLItemVO.class))).thenReturn(true);
- assertNotNull(_aclMgr.updateNetworkACLItem(1L, "UDP", null, NetworkACLItem.TrafficType.Ingress, "Deny", 10, 22, 32, null, null));
+ assertNotNull(_aclMgr.updateNetworkACLItem(1L, "UDP", null, NetworkACLItem.TrafficType.Ingress, "Deny", 10, 22, 32, null, null, null));
}
@Test(expected = CloudRuntimeException.class)
[3/5] git commit: updated refs/heads/master to 7cb4b57
Posted by al...@apache.org.
1) Added External UUID control support for network.
2) Moved UUIDManager interface to cloud-util package
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/6af6ce7e
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/6af6ce7e
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/6af6ce7e
Branch: refs/heads/master
Commit: 6af6ce7e9e9f573f2afb89819b4d74944cabf403
Parents: 9290995
Author: Alena Prokharchyk <al...@citrix.com>
Authored: Tue Feb 4 10:53:23 2014 -0800
Committer: Alena Prokharchyk <al...@citrix.com>
Committed: Tue Feb 4 15:47:12 2014 -0800
----------------------------------------------------------------------
api/src/com/cloud/network/NetworkService.java | 2 +-
.../cloudstack/api/BaseAsyncCustomIdCmd.java | 4 +++
api/src/org/apache/cloudstack/api/BaseCmd.java | 6 ++--
.../apache/cloudstack/api/BaseCustomIdCmd.java | 3 ++
.../command/user/network/UpdateNetworkCmd.java | 15 +++++---
.../api/command/user/vm/UpdateVMCmd.java | 11 ++++--
.../command/user/volume/UpdateVolumeCmd.java | 11 ++++--
.../com/cloud/network/NetworkServiceImpl.java | 6 +++-
.../com/cloud/storage/VolumeApiServiceImpl.java | 6 ++--
.../src/com/cloud/uuididentity/UUIDManager.java | 37 --------------------
.../com/cloud/uuididentity/UUIDManagerImpl.java | 1 +
server/src/com/cloud/vm/UserVmManagerImpl.java | 9 ++---
.../com/cloud/vpc/MockNetworkManagerImpl.java | 3 +-
utils/src/com/cloud/utils/db/UUIDManager.java | 37 ++++++++++++++++++++
14 files changed, 90 insertions(+), 61 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6af6ce7e/api/src/com/cloud/network/NetworkService.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/network/NetworkService.java b/api/src/com/cloud/network/NetworkService.java
index 1731b11..d7d8546 100755
--- a/api/src/com/cloud/network/NetworkService.java
+++ b/api/src/com/cloud/network/NetworkService.java
@@ -77,7 +77,7 @@ public interface NetworkService {
IpAddress getIp(long id);
Network updateGuestNetwork(long networkId, String name, String displayText, Account callerAccount, User callerUser, String domainSuffix, Long networkOfferingId,
- Boolean changeCidr, String guestVmCidr, Boolean displayNetwork);
+ Boolean changeCidr, String guestVmCidr, Boolean displayNetwork, String newUUID);
PhysicalNetwork createPhysicalNetwork(Long zoneId, String vnetRange, String networkSpeed, List<String> isolationMethods, String broadcastDomainRange, Long domainId,
List<String> tags, String name);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6af6ce7e/api/src/org/apache/cloudstack/api/BaseAsyncCustomIdCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/BaseAsyncCustomIdCmd.java b/api/src/org/apache/cloudstack/api/BaseAsyncCustomIdCmd.java
index 18264da..3e14f80 100644
--- a/api/src/org/apache/cloudstack/api/BaseAsyncCustomIdCmd.java
+++ b/api/src/org/apache/cloudstack/api/BaseAsyncCustomIdCmd.java
@@ -16,6 +16,7 @@
// under the License.
package org.apache.cloudstack.api;
+
public abstract class BaseAsyncCustomIdCmd extends BaseAsyncCmd {
@Parameter(name = ApiConstants.CUSTOM_ID,
type = CommandType.STRING,
@@ -25,4 +26,7 @@ public abstract class BaseAsyncCustomIdCmd extends BaseAsyncCmd {
public String getCustomId() {
return customId;
}
+
+ public abstract void checkUuid(String id, Class<?> cls);
+
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6af6ce7e/api/src/org/apache/cloudstack/api/BaseCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/BaseCmd.java b/api/src/org/apache/cloudstack/api/BaseCmd.java
index aa0549a..5b50153 100644
--- a/api/src/org/apache/cloudstack/api/BaseCmd.java
+++ b/api/src/org/apache/cloudstack/api/BaseCmd.java
@@ -29,8 +29,6 @@ import java.util.regex.Pattern;
import javax.inject.Inject;
-import org.apache.log4j.Logger;
-
import org.apache.cloudstack.acl.RoleType;
import org.apache.cloudstack.affinity.AffinityGroupService;
import org.apache.cloudstack.alert.AlertService;
@@ -40,6 +38,7 @@ import org.apache.cloudstack.network.lb.ApplicationLoadBalancerService;
import org.apache.cloudstack.network.lb.InternalLoadBalancerVMService;
import org.apache.cloudstack.query.QueryService;
import org.apache.cloudstack.usage.UsageService;
+import org.apache.log4j.Logger;
import com.cloud.configuration.ConfigurationService;
import com.cloud.domain.Domain;
@@ -82,6 +81,7 @@ import com.cloud.user.DomainService;
import com.cloud.user.ResourceLimitService;
import com.cloud.utils.ReflectUtil;
import com.cloud.utils.db.EntityManager;
+import com.cloud.utils.db.UUIDManager;
import com.cloud.vm.UserVmService;
import com.cloud.vm.snapshot.VMSnapshotService;
@@ -200,6 +200,8 @@ public abstract class BaseCmd {
public NetworkModel _ntwkModel;
@Inject
public AlertService _alertSvc;
+ @Inject
+ public UUIDManager _uuidMgr;
public abstract void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException,
ResourceAllocationException, NetworkRuleConflictException;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6af6ce7e/api/src/org/apache/cloudstack/api/BaseCustomIdCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/BaseCustomIdCmd.java b/api/src/org/apache/cloudstack/api/BaseCustomIdCmd.java
index 8ae746f..c930db0 100644
--- a/api/src/org/apache/cloudstack/api/BaseCustomIdCmd.java
+++ b/api/src/org/apache/cloudstack/api/BaseCustomIdCmd.java
@@ -26,4 +26,7 @@ public abstract class BaseCustomIdCmd extends BaseCmd {
public String getCustomId() {
return customId;
}
+
+ public abstract void checkUuid(String id, Class<?> cls);
+
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6af6ce7e/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkCmd.java b/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkCmd.java
index 2091102..65da3c3 100644
--- a/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkCmd.java
@@ -16,17 +16,17 @@
// under the License.
package org.apache.cloudstack.api.command.user.network;
-import org.apache.log4j.Logger;
-
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.ApiErrorCode;
import org.apache.cloudstack.api.BaseAsyncCmd;
+import org.apache.cloudstack.api.BaseAsyncCustomIdCmd;
import org.apache.cloudstack.api.Parameter;
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.api.response.NetworkOfferingResponse;
import org.apache.cloudstack.api.response.NetworkResponse;
import org.apache.cloudstack.context.CallContext;
+import org.apache.log4j.Logger;
import com.cloud.event.EventTypes;
import com.cloud.exception.ConcurrentOperationException;
@@ -38,7 +38,7 @@ import com.cloud.user.Account;
import com.cloud.user.User;
@APICommand(name = "updateNetwork", description = "Updates a network", responseObject = NetworkResponse.class)
-public class UpdateNetworkCmd extends BaseAsyncCmd {
+public class UpdateNetworkCmd extends BaseAsyncCustomIdCmd {
public static final Logger s_logger = Logger.getLogger(UpdateNetworkCmd.class.getName());
private static final String s_name = "updatenetworkresponse";
@@ -141,7 +141,7 @@ public class UpdateNetworkCmd extends BaseAsyncCmd {
Network result =
_networkService.updateGuestNetwork(getId(), getNetworkName(), getDisplayText(), callerAccount, callerUser, getNetworkDomain(), getNetworkOfferingId(),
- getChangeCidr(), getGuestVmCidr(), getDisplayNetwork());
+ getChangeCidr(), getGuestVmCidr(), getDisplayNetwork(), this.getCustomId());
if (result != null) {
NetworkResponse response = _responseGenerator.createNetworkResponse(result);
@@ -188,4 +188,11 @@ public class UpdateNetworkCmd extends BaseAsyncCmd {
public Long getSyncObjId() {
return id;
}
+
+ @Override
+ public void checkUuid(String id, Class<?> cls) {
+ if (this.getCustomId() != null) {
+ _uuidMgr.checkUuid(this.getCustomId(), Network.class);
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6af6ce7e/api/src/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java b/api/src/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java
index e0ca787..630d4fc 100644
--- a/api/src/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java
@@ -16,8 +16,6 @@
// under the License.
package org.apache.cloudstack.api.command.user.vm;
-import org.apache.log4j.Logger;
-
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.ApiErrorCode;
@@ -27,6 +25,7 @@ import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.api.response.GuestOSResponse;
import org.apache.cloudstack.api.response.UserVmResponse;
import org.apache.cloudstack.context.CallContext;
+import org.apache.log4j.Logger;
import com.cloud.exception.InsufficientCapacityException;
import com.cloud.exception.ResourceUnavailableException;
@@ -147,4 +146,12 @@ public class UpdateVMCmd extends BaseCustomIdCmd {
throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to update vm");
}
}
+
+ @Override
+ public void checkUuid(String id, Class<?> cls) {
+ if (this.getCustomId() != null) {
+ _uuidMgr.checkUuid(this.getCustomId(), UserVm.class);
+
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6af6ce7e/api/src/org/apache/cloudstack/api/command/user/volume/UpdateVolumeCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/volume/UpdateVolumeCmd.java b/api/src/org/apache/cloudstack/api/command/user/volume/UpdateVolumeCmd.java
index b57f2b4..310acde 100644
--- a/api/src/org/apache/cloudstack/api/command/user/volume/UpdateVolumeCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/volume/UpdateVolumeCmd.java
@@ -16,8 +16,6 @@
// under the License.
package org.apache.cloudstack.api.command.user.volume;
-import org.apache.log4j.Logger;
-
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiCommandJobType;
import org.apache.cloudstack.api.ApiConstants;
@@ -28,6 +26,7 @@ import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.api.response.StoragePoolResponse;
import org.apache.cloudstack.api.response.VolumeResponse;
import org.apache.cloudstack.context.CallContext;
+import org.apache.log4j.Logger;
import com.cloud.event.EventTypes;
import com.cloud.exception.InvalidParameterValueException;
@@ -149,4 +148,12 @@ public class UpdateVolumeCmd extends BaseAsyncCustomIdCmd {
throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to update volume");
}
}
+
+ @Override
+ public void checkUuid(String id, Class<?> cls) {
+ if (this.getCustomId() != null) {
+ _uuidMgr.checkUuid(this.getCustomId(), Volume.class);
+ }
+ }
+
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6af6ce7e/server/src/com/cloud/network/NetworkServiceImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/NetworkServiceImpl.java b/server/src/com/cloud/network/NetworkServiceImpl.java
index 40c5b64..c786426 100755
--- a/server/src/com/cloud/network/NetworkServiceImpl.java
+++ b/server/src/com/cloud/network/NetworkServiceImpl.java
@@ -1939,7 +1939,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService {
@DB
@ActionEvent(eventType = EventTypes.EVENT_NETWORK_UPDATE, eventDescription = "updating network", async = true)
public Network updateGuestNetwork(final long networkId, String name, String displayText, Account callerAccount, User callerUser, String domainSuffix,
- final Long networkOfferingId, Boolean changeCidr, String guestVmCidr, Boolean displayNetwork) {
+ final Long networkOfferingId, Boolean changeCidr, String guestVmCidr, Boolean displayNetwork, String customId) {
boolean restartNetwork = false;
@@ -1984,6 +1984,10 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService {
network.setDisplayText(displayText);
}
+ if (customId != null) {
+ network.setUuid(customId);
+ }
+
// display flag is not null and has changed
if (displayNetwork != null && displayNetwork != network.getDisplayNetwork()) {
if (!_accountMgr.isRootAdmin(callerAccount.getType())) {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6af6ce7e/server/src/com/cloud/storage/VolumeApiServiceImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/storage/VolumeApiServiceImpl.java b/server/src/com/cloud/storage/VolumeApiServiceImpl.java
index 6955825..d4fa8c1 100644
--- a/server/src/com/cloud/storage/VolumeApiServiceImpl.java
+++ b/server/src/com/cloud/storage/VolumeApiServiceImpl.java
@@ -26,8 +26,6 @@ import java.util.concurrent.ExecutionException;
import javax.inject.Inject;
-import org.apache.log4j.Logger;
-
import org.apache.cloudstack.api.command.user.volume.AttachVolumeCmd;
import org.apache.cloudstack.api.command.user.volume.CreateVolumeCmd;
import org.apache.cloudstack.api.command.user.volume.DetachVolumeCmd;
@@ -75,6 +73,7 @@ import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreDao;
import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreVO;
import org.apache.cloudstack.storage.image.datastore.ImageStoreEntity;
import org.apache.cloudstack.utils.identity.ManagementServerNode;
+import org.apache.log4j.Logger;
import com.cloud.agent.AgentManager;
import com.cloud.agent.api.Answer;
@@ -152,10 +151,10 @@ import com.cloud.utils.db.EntityManager;
import com.cloud.utils.db.Transaction;
import com.cloud.utils.db.TransactionCallback;
import com.cloud.utils.db.TransactionStatus;
+import com.cloud.utils.db.UUIDManager;
import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.utils.fsm.NoTransitionException;
import com.cloud.utils.fsm.StateMachine2;
-import com.cloud.uuididentity.UUIDManager;
import com.cloud.vm.UserVmManager;
import com.cloud.vm.UserVmVO;
import com.cloud.vm.VMInstanceVO;
@@ -1348,7 +1347,6 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
}
if (customId != null) {
- _uuidMgr.checkUuid(customId, Volume.class);
volume.setUuid(customId);
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6af6ce7e/server/src/com/cloud/uuididentity/UUIDManager.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/uuididentity/UUIDManager.java b/server/src/com/cloud/uuididentity/UUIDManager.java
deleted file mode 100644
index ecf238c..0000000
--- a/server/src/com/cloud/uuididentity/UUIDManager.java
+++ /dev/null
@@ -1,37 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-package com.cloud.uuididentity;
-
-
-public interface UUIDManager {
-
- /**
- * Generates a new uuid or uses the customId
- * @param entityType the type of entity
- * @param customId optional custom uuid of the object.
- * @return newly created uuid.
- */
- public <T> String generateUuid(Class<T> entityType, String customId);
-
- /**
- * Checks the uuid for correct format, uniqueness and permissions.
- * @param uuid uuid to check
- * @param entityType the type of entity
- * .
- */
- <T> void checkUuid(String uuid, Class<T> entityType);
-}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6af6ce7e/server/src/com/cloud/uuididentity/UUIDManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/uuididentity/UUIDManagerImpl.java b/server/src/com/cloud/uuididentity/UUIDManagerImpl.java
index 09ba3d1..c514746 100644
--- a/server/src/com/cloud/uuididentity/UUIDManagerImpl.java
+++ b/server/src/com/cloud/uuididentity/UUIDManagerImpl.java
@@ -28,6 +28,7 @@ import com.cloud.exception.PermissionDeniedException;
import com.cloud.user.Account;
import com.cloud.user.AccountManager;
import com.cloud.utils.db.EntityManager;
+import com.cloud.utils.db.UUIDManager;
import com.cloud.utils.exception.CloudRuntimeException;
@Local(value = {UUIDManager.class})
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6af6ce7e/server/src/com/cloud/vm/UserVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java
index 82b9bfb..f6f20cc 100755
--- a/server/src/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/com/cloud/vm/UserVmManagerImpl.java
@@ -34,9 +34,6 @@ import javax.ejb.Local;
import javax.inject.Inject;
import javax.naming.ConfigurationException;
-import org.apache.commons.codec.binary.Base64;
-import org.apache.log4j.Logger;
-
import org.apache.cloudstack.acl.ControlledEntity.ACLType;
import org.apache.cloudstack.acl.SecurityChecker.AccessType;
import org.apache.cloudstack.affinity.AffinityGroupService;
@@ -83,6 +80,8 @@ import org.apache.cloudstack.managed.context.ManagedContextRunnable;
import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
import org.apache.cloudstack.storage.to.TemplateObjectTO;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.log4j.Logger;
import com.cloud.agent.AgentManager;
import com.cloud.agent.api.Answer;
@@ -254,11 +253,11 @@ import com.cloud.utils.db.TransactionCallbackNoReturn;
import com.cloud.utils.db.TransactionCallbackWithException;
import com.cloud.utils.db.TransactionCallbackWithExceptionNoReturn;
import com.cloud.utils.db.TransactionStatus;
+import com.cloud.utils.db.UUIDManager;
import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.utils.exception.ExecutionException;
import com.cloud.utils.fsm.NoTransitionException;
import com.cloud.utils.net.NetUtils;
-import com.cloud.uuididentity.UUIDManager;
import com.cloud.vm.VirtualMachine.State;
import com.cloud.vm.dao.InstanceGroupDao;
import com.cloud.vm.dao.InstanceGroupVMMapDao;
@@ -1917,8 +1916,6 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
isDynamicallyScalable = vm.isDynamicallyScalable();
}
- _uuidMgr.checkUuid(customId, UserVm.class);
-
_vmDao.updateVM(id, displayName, ha, osTypeId, userData, isDisplayVmEnabled, isDynamicallyScalable, customId);
if (updateUserdata) {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6af6ce7e/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vpc/MockNetworkManagerImpl.java b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
index 2267883..32beb0b 100644
--- a/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
+++ b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
@@ -27,7 +27,6 @@ import javax.naming.ConfigurationException;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
-
import org.apache.cloudstack.acl.ControlledEntity.ACLType;
import org.apache.cloudstack.api.command.admin.network.DedicateGuestVlanRangeCmd;
import org.apache.cloudstack.api.command.admin.network.ListDedicatedGuestVlanRangesCmd;
@@ -250,7 +249,7 @@ public class MockNetworkManagerImpl extends ManagerBase implements NetworkOrches
*/
@Override
public Network updateGuestNetwork(long networkId, String name, String displayText, Account callerAccount, User callerUser, String domainSuffix,
- Long networkOfferingId, Boolean changeCidr, String guestVmCidr, Boolean displayNetwork) {
+ Long networkOfferingId, Boolean changeCidr, String guestVmCidr, Boolean displayNetwork, String newUUID) {
// TODO Auto-generated method stub
return null;
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6af6ce7e/utils/src/com/cloud/utils/db/UUIDManager.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/db/UUIDManager.java b/utils/src/com/cloud/utils/db/UUIDManager.java
new file mode 100644
index 0000000..6bc3f5d
--- /dev/null
+++ b/utils/src/com/cloud/utils/db/UUIDManager.java
@@ -0,0 +1,37 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package com.cloud.utils.db;
+
+
+public interface UUIDManager {
+
+ /**
+ * Generates a new uuid or uses the customId
+ * @param entityType the type of entity
+ * @param customId optional custom uuid of the object.
+ * @return newly created uuid.
+ */
+ public <T> String generateUuid(Class<T> entityType, String customId);
+
+ /**
+ * Checks the uuid for correct format, uniqueness and permissions.
+ * @param uuid uuid to check
+ * @param entityType the type of entity
+ * .
+ */
+ <T> void checkUuid(String uuid, Class<T> entityType);
+}
[4/5] git commit: updated refs/heads/master to 7cb4b57
Posted by al...@apache.org.
CLOUDSTACK-2789: UpdateVPC shouldn't require name parameter
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/e5335cd6
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/e5335cd6
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/e5335cd6
Branch: refs/heads/master
Commit: e5335cd6e488f0c751c8f6c867f06606ad313e71
Parents: 8065ee4
Author: Alena Prokharchyk <al...@citrix.com>
Authored: Tue Feb 4 15:04:11 2014 -0800
Committer: Alena Prokharchyk <al...@citrix.com>
Committed: Tue Feb 4 15:47:13 2014 -0800
----------------------------------------------------------------------
api/src/org/apache/cloudstack/api/BaseAsyncCustomIdCmd.java | 2 +-
api/src/org/apache/cloudstack/api/BaseCustomIdCmd.java | 2 +-
.../org/apache/cloudstack/api/command/user/vpc/UpdateVPCCmd.java | 2 +-
server/src/com/cloud/network/vpc/VpcManagerImpl.java | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e5335cd6/api/src/org/apache/cloudstack/api/BaseAsyncCustomIdCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/BaseAsyncCustomIdCmd.java b/api/src/org/apache/cloudstack/api/BaseAsyncCustomIdCmd.java
index 3e14f80..e57e038 100644
--- a/api/src/org/apache/cloudstack/api/BaseAsyncCustomIdCmd.java
+++ b/api/src/org/apache/cloudstack/api/BaseAsyncCustomIdCmd.java
@@ -20,7 +20,7 @@ package org.apache.cloudstack.api;
public abstract class BaseAsyncCustomIdCmd extends BaseAsyncCmd {
@Parameter(name = ApiConstants.CUSTOM_ID,
type = CommandType.STRING,
- description = "an optional field, in case you want to set a custom id to the resource. Allowed to Root Admins only")
+ description = "an optional field, in case you want to set a custom id to the resource. Allowed to Root Admins only", since = "4.4")
private String customId;
public String getCustomId() {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e5335cd6/api/src/org/apache/cloudstack/api/BaseCustomIdCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/BaseCustomIdCmd.java b/api/src/org/apache/cloudstack/api/BaseCustomIdCmd.java
index c930db0..c9c8e04 100644
--- a/api/src/org/apache/cloudstack/api/BaseCustomIdCmd.java
+++ b/api/src/org/apache/cloudstack/api/BaseCustomIdCmd.java
@@ -20,7 +20,7 @@ public abstract class BaseCustomIdCmd extends BaseCmd {
@Parameter(name = ApiConstants.CUSTOM_ID,
type = CommandType.STRING,
- description = "an optional field, in case you want to set a custom id to the resource. Allowed to Root Admins only")
+ description = "an optional field, in case you want to set a custom id to the resource. Allowed to Root Admins only", since = "4.4")
private String customId;
public String getCustomId() {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e5335cd6/api/src/org/apache/cloudstack/api/command/user/vpc/UpdateVPCCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/vpc/UpdateVPCCmd.java b/api/src/org/apache/cloudstack/api/command/user/vpc/UpdateVPCCmd.java
index 60dae31..38ecf88 100644
--- a/api/src/org/apache/cloudstack/api/command/user/vpc/UpdateVPCCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/vpc/UpdateVPCCmd.java
@@ -42,7 +42,7 @@ public class UpdateVPCCmd extends BaseAsyncCustomIdCmd {
@Parameter(name = ApiConstants.ID, type = CommandType.UUID, entityType = VpcResponse.class, required = true, description = "the id of the VPC")
private Long id;
- @Parameter(name = ApiConstants.NAME, type = CommandType.STRING, description = "the name of the VPC", required = true)
+ @Parameter(name = ApiConstants.NAME, type = CommandType.STRING, description = "the name of the VPC")
private String vpcName;
@Parameter(name = ApiConstants.DISPLAY_TEXT, type = CommandType.STRING, description = "the display text of the VPC")
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e5335cd6/server/src/com/cloud/network/vpc/VpcManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
index 11d8c7a..e5d9ed2 100644
--- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java
+++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
@@ -776,7 +776,7 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis
// Verify input parameters
VpcVO vpcToUpdate = _vpcDao.findById(vpcId);
if (vpcToUpdate == null) {
- throw new InvalidParameterValueException("Unable to find vpc offering " + vpcId);
+ throw new InvalidParameterValueException("Unable to find vpc by id " + vpcId);
}
_accountMgr.checkAccess(caller, null, false, vpcToUpdate);
[2/5] git commit: updated refs/heads/master to 7cb4b57
Posted by al...@apache.org.
External UUID control support for AutoscaleVmProfile and AutoscaleVmGroup
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/7cd0ad33
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/7cd0ad33
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/7cd0ad33
Branch: refs/heads/master
Commit: 7cd0ad336b187b1f76b0dc053eb8ec6c13bda193
Parents: 6af6ce7
Author: Alena Prokharchyk <al...@citrix.com>
Authored: Tue Feb 4 11:10:44 2014 -0800
Committer: Alena Prokharchyk <al...@citrix.com>
Committed: Tue Feb 4 15:47:12 2014 -0800
----------------------------------------------------------------------
.../autoscale/UpdateAutoScaleVmGroupCmd.java | 14 ++++++++---
.../autoscale/UpdateAutoScaleVmProfileCmd.java | 14 ++++++++---
.../cloud/network/as/AutoScaleVmGroupVO.java | 4 +++
.../cloud/network/as/AutoScaleVmProfileVO.java | 4 +++
.../cloud/network/as/AutoScaleManagerImpl.java | 26 ++++++++++++++------
5 files changed, 46 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7cd0ad33/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmGroupCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmGroupCmd.java b/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmGroupCmd.java
index dbbd85f..221cc36 100644
--- a/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmGroupCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmGroupCmd.java
@@ -19,25 +19,24 @@ package org.apache.cloudstack.api.command.user.autoscale;
import java.util.List;
-import org.apache.log4j.Logger;
-
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiCommandJobType;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.ApiErrorCode;
-import org.apache.cloudstack.api.BaseAsyncCmd;
+import org.apache.cloudstack.api.BaseAsyncCustomIdCmd;
import org.apache.cloudstack.api.Parameter;
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.api.response.AutoScalePolicyResponse;
import org.apache.cloudstack.api.response.AutoScaleVmGroupResponse;
import org.apache.cloudstack.context.CallContext;
+import org.apache.log4j.Logger;
import com.cloud.event.EventTypes;
import com.cloud.network.as.AutoScaleVmGroup;
import com.cloud.user.Account;
@APICommand(name = "updateAutoScaleVmGroup", description = "Updates an existing autoscale vm group.", responseObject = AutoScaleVmGroupResponse.class)
-public class UpdateAutoScaleVmGroupCmd extends BaseAsyncCmd {
+public class UpdateAutoScaleVmGroupCmd extends BaseAsyncCustomIdCmd {
public static final Logger s_logger = Logger.getLogger(UpdateAutoScaleVmGroupCmd.class.getName());
private static final String s_name = "updateautoscalevmgroupresponse";
@@ -154,4 +153,11 @@ public class UpdateAutoScaleVmGroupCmd extends BaseAsyncCmd {
public ApiCommandJobType getInstanceType() {
return ApiCommandJobType.AutoScaleVmGroup;
}
+
+ @Override
+ public void checkUuid(String id, Class<?> cls) {
+ if (this.getCustomId() != null) {
+ _uuidMgr.checkUuid(this.getCustomId(), AutoScaleVmGroup.class);
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7cd0ad33/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmProfileCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmProfileCmd.java b/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmProfileCmd.java
index f3361d8..b9d53b2 100644
--- a/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmProfileCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmProfileCmd.java
@@ -19,26 +19,25 @@ package org.apache.cloudstack.api.command.user.autoscale;
import java.util.Map;
-import org.apache.log4j.Logger;
-
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiCommandJobType;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.ApiErrorCode;
-import org.apache.cloudstack.api.BaseAsyncCmd;
+import org.apache.cloudstack.api.BaseAsyncCustomIdCmd;
import org.apache.cloudstack.api.Parameter;
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.api.response.AutoScaleVmProfileResponse;
import org.apache.cloudstack.api.response.TemplateResponse;
import org.apache.cloudstack.api.response.UserResponse;
import org.apache.cloudstack.context.CallContext;
+import org.apache.log4j.Logger;
import com.cloud.event.EventTypes;
import com.cloud.network.as.AutoScaleVmProfile;
import com.cloud.user.Account;
@APICommand(name = "updateAutoScaleVmProfile", description = "Updates an existing autoscale vm profile.", responseObject = AutoScaleVmProfileResponse.class)
-public class UpdateAutoScaleVmProfileCmd extends BaseAsyncCmd {
+public class UpdateAutoScaleVmProfileCmd extends BaseAsyncCustomIdCmd {
public static final Logger s_logger = Logger.getLogger(UpdateAutoScaleVmProfileCmd.class.getName());
private static final String s_name = "updateautoscalevmprofileresponse";
@@ -146,4 +145,11 @@ public class UpdateAutoScaleVmProfileCmd extends BaseAsyncCmd {
public ApiCommandJobType getInstanceType() {
return ApiCommandJobType.AutoScaleVmProfile;
}
+
+ @Override
+ public void checkUuid(String id, Class<?> cls) {
+ if (this.getCustomId() != null) {
+ _uuidMgr.checkUuid(this.getCustomId(), AutoScaleVmProfile.class);
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7cd0ad33/engine/schema/src/com/cloud/network/as/AutoScaleVmGroupVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/network/as/AutoScaleVmGroupVO.java b/engine/schema/src/com/cloud/network/as/AutoScaleVmGroupVO.java
index d8612b0..9650249 100644
--- a/engine/schema/src/com/cloud/network/as/AutoScaleVmGroupVO.java
+++ b/engine/schema/src/com/cloud/network/as/AutoScaleVmGroupVO.java
@@ -208,4 +208,8 @@ public class AutoScaleVmGroupVO implements AutoScaleVmGroup, InternalIdentity {
public String getUuid() {
return uuid;
}
+
+ public void setUuid(String uuid) {
+ this.uuid = uuid;
+ }
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7cd0ad33/engine/schema/src/com/cloud/network/as/AutoScaleVmProfileVO.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/network/as/AutoScaleVmProfileVO.java b/engine/schema/src/com/cloud/network/as/AutoScaleVmProfileVO.java
index ec643b0..9a8fbd8 100644
--- a/engine/schema/src/com/cloud/network/as/AutoScaleVmProfileVO.java
+++ b/engine/schema/src/com/cloud/network/as/AutoScaleVmProfileVO.java
@@ -216,4 +216,8 @@ public class AutoScaleVmProfileVO implements AutoScaleVmProfile, Identity, Inter
public long getAutoScaleUserId() {
return autoscaleUserId;
}
+
+ public void setUuid(String uuid) {
+ this.uuid = uuid;
+ }
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7cd0ad33/server/src/com/cloud/network/as/AutoScaleManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/as/AutoScaleManagerImpl.java b/server/src/com/cloud/network/as/AutoScaleManagerImpl.java
index f1ca007..436737a 100644
--- a/server/src/com/cloud/network/as/AutoScaleManagerImpl.java
+++ b/server/src/com/cloud/network/as/AutoScaleManagerImpl.java
@@ -53,7 +53,6 @@ import org.apache.cloudstack.api.command.user.vm.DeployVMCmd;
import org.apache.cloudstack.config.ApiServiceConfiguration;
import org.apache.cloudstack.context.CallContext;
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
-
import org.apache.log4j.Logger;
import com.cloud.api.ApiDBUtils;
@@ -119,7 +118,6 @@ import com.cloud.utils.db.TransactionStatus;
import com.cloud.utils.net.NetUtils;
import com.cloud.vm.UserVmManager;
import com.cloud.vm.UserVmService;
-
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
@@ -394,6 +392,8 @@ public class AutoScaleManagerImpl<Type> extends ManagerBase implements AutoScale
AutoScaleVmProfileVO vmProfile = getEntityInDatabase(CallContext.current().getCallingAccount(), "Auto Scale Vm Profile", profileId, _autoScaleVmProfileDao);
+ boolean physicalParameterUpdate = (templateId != null || autoscaleUserId != null || counterParamList != null || destroyVmGraceperiod != null);
+
if (templateId != null) {
vmProfile.setTemplateId(templateId);
}
@@ -410,9 +410,13 @@ public class AutoScaleManagerImpl<Type> extends ManagerBase implements AutoScale
vmProfile.setDestroyVmGraceperiod(destroyVmGraceperiod);
}
- final List<AutoScaleVmGroupVO> vmGroupList = _autoScaleVmGroupDao.listByAll(null, profileId);
- for (final AutoScaleVmGroupVO vmGroupVO : vmGroupList) {
- if (!vmGroupVO.getState().equals(AutoScaleVmGroup.State_Disabled)) {
+ if (cmd.getCustomId() != null) {
+ vmProfile.setUuid(cmd.getCustomId());
+ }
+
+ List<AutoScaleVmGroupVO> vmGroupList = _autoScaleVmGroupDao.listByAll(null, profileId);
+ for (AutoScaleVmGroupVO vmGroupVO : vmGroupList) {
+ if (physicalParameterUpdate && !vmGroupVO.getState().equals(AutoScaleVmGroup.State_Disabled)) {
throw new InvalidParameterValueException("The AutoScale Vm Profile can be updated only if the Vm Group it is associated with is disabled in state");
}
}
@@ -976,8 +980,10 @@ public class AutoScaleManagerImpl<Type> extends ManagerBase implements AutoScale
AutoScaleVmGroupVO vmGroupVO = getEntityInDatabase(CallContext.current().getCallingAccount(), "AutoScale Vm Group", vmGroupId, _autoScaleVmGroupDao);
- if (!vmGroupVO.getState().equals(AutoScaleVmGroup.State_Disabled)) {
- throw new InvalidParameterValueException("An AutoScale Vm Group can be updated only when it is in disabled state");
+ boolean physicalParametersUpdate = (minMembers != null || maxMembers != null || interval != null);
+
+ if (physicalParametersUpdate && !vmGroupVO.getState().equals(AutoScaleVmGroup.State_Disabled)) {
+ throw new InvalidParameterValueException("An AutoScale Vm Group can be updated with minMembers/maxMembers/Interval only when it is in disabled state");
}
if (minMembers != null) {
@@ -988,10 +994,14 @@ public class AutoScaleManagerImpl<Type> extends ManagerBase implements AutoScale
vmGroupVO.setMaxMembers(maxMembers);
}
- if (interval != null) {
+ if (maxMembers != null) {
vmGroupVO.setInterval(interval);
}
+ if (cmd.getCustomId() != null) {
+ vmGroupVO.setUuid(cmd.getCustomId());
+ }
+
vmGroupVO = checkValidityAndPersist(vmGroupVO, scaleUpPolicyIds, scaleDownPolicyIds);
if (vmGroupVO != null) {
s_logger.debug("Updated Auto Scale VmGroup id:" + vmGroupId);
[5/5] git commit: updated refs/heads/master to 7cb4b57
Posted by al...@apache.org.
ExternalUUID control: enforce checking uuid validity by defining checkUUID method in the corresponding absract class, and performing the check during API command dispatching
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/7cb4b571
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/7cb4b571
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/7cb4b571
Branch: refs/heads/master
Commit: 7cb4b571c8ebb27e5dc6aaf4dcc985e7238c87ae
Parents: e5335cd
Author: Alena Prokharchyk <al...@citrix.com>
Authored: Tue Feb 4 15:21:09 2014 -0800
Committer: Alena Prokharchyk <al...@citrix.com>
Committed: Tue Feb 4 15:47:13 2014 -0800
----------------------------------------------------------------------
.../org/apache/cloudstack/api/BaseAsyncCustomIdCmd.java | 2 +-
api/src/org/apache/cloudstack/api/BaseCustomIdCmd.java | 2 +-
.../user/autoscale/UpdateAutoScaleVmGroupCmd.java | 2 +-
.../user/autoscale/UpdateAutoScaleVmProfileCmd.java | 2 +-
.../command/user/network/UpdateNetworkACLItemCmd.java | 2 +-
.../api/command/user/network/UpdateNetworkCmd.java | 2 +-
.../cloudstack/api/command/user/vm/UpdateVMCmd.java | 2 +-
.../api/command/user/volume/UpdateVolumeCmd.java | 2 +-
.../cloudstack/api/command/user/vpc/UpdateVPCCmd.java | 2 +-
server/src/com/cloud/api/ApiDispatcher.java | 11 ++++++++++-
10 files changed, 19 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7cb4b571/api/src/org/apache/cloudstack/api/BaseAsyncCustomIdCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/BaseAsyncCustomIdCmd.java b/api/src/org/apache/cloudstack/api/BaseAsyncCustomIdCmd.java
index e57e038..dfb9439 100644
--- a/api/src/org/apache/cloudstack/api/BaseAsyncCustomIdCmd.java
+++ b/api/src/org/apache/cloudstack/api/BaseAsyncCustomIdCmd.java
@@ -27,6 +27,6 @@ public abstract class BaseAsyncCustomIdCmd extends BaseAsyncCmd {
return customId;
}
- public abstract void checkUuid(String id, Class<?> cls);
+ public abstract void checkUuid();
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7cb4b571/api/src/org/apache/cloudstack/api/BaseCustomIdCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/BaseCustomIdCmd.java b/api/src/org/apache/cloudstack/api/BaseCustomIdCmd.java
index c9c8e04..942f29f 100644
--- a/api/src/org/apache/cloudstack/api/BaseCustomIdCmd.java
+++ b/api/src/org/apache/cloudstack/api/BaseCustomIdCmd.java
@@ -27,6 +27,6 @@ public abstract class BaseCustomIdCmd extends BaseCmd {
return customId;
}
- public abstract void checkUuid(String id, Class<?> cls);
+ public abstract void checkUuid();
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7cb4b571/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmGroupCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmGroupCmd.java b/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmGroupCmd.java
index 221cc36..628bb8a 100644
--- a/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmGroupCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmGroupCmd.java
@@ -155,7 +155,7 @@ public class UpdateAutoScaleVmGroupCmd extends BaseAsyncCustomIdCmd {
}
@Override
- public void checkUuid(String id, Class<?> cls) {
+ public void checkUuid() {
if (this.getCustomId() != null) {
_uuidMgr.checkUuid(this.getCustomId(), AutoScaleVmGroup.class);
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7cb4b571/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmProfileCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmProfileCmd.java b/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmProfileCmd.java
index b9d53b2..d6405c1 100644
--- a/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmProfileCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmProfileCmd.java
@@ -147,7 +147,7 @@ public class UpdateAutoScaleVmProfileCmd extends BaseAsyncCustomIdCmd {
}
@Override
- public void checkUuid(String id, Class<?> cls) {
+ public void checkUuid() {
if (this.getCustomId() != null) {
_uuidMgr.checkUuid(this.getCustomId(), AutoScaleVmProfile.class);
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7cb4b571/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkACLItemCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkACLItemCmd.java b/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkACLItemCmd.java
index accad84..e684dcf 100644
--- a/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkACLItemCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkACLItemCmd.java
@@ -174,7 +174,7 @@ public class UpdateNetworkACLItemCmd extends BaseAsyncCustomIdCmd {
}
@Override
- public void checkUuid(String id, Class<?> cls) {
+ public void checkUuid() {
if (this.getCustomId() != null) {
_uuidMgr.checkUuid(this.getCustomId(), NetworkACLItem.class);
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7cb4b571/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkCmd.java b/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkCmd.java
index 65da3c3..85bea5f 100644
--- a/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/network/UpdateNetworkCmd.java
@@ -190,7 +190,7 @@ public class UpdateNetworkCmd extends BaseAsyncCustomIdCmd {
}
@Override
- public void checkUuid(String id, Class<?> cls) {
+ public void checkUuid() {
if (this.getCustomId() != null) {
_uuidMgr.checkUuid(this.getCustomId(), Network.class);
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7cb4b571/api/src/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java b/api/src/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java
index 630d4fc..0639477 100644
--- a/api/src/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java
@@ -148,7 +148,7 @@ public class UpdateVMCmd extends BaseCustomIdCmd {
}
@Override
- public void checkUuid(String id, Class<?> cls) {
+ public void checkUuid() {
if (this.getCustomId() != null) {
_uuidMgr.checkUuid(this.getCustomId(), UserVm.class);
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7cb4b571/api/src/org/apache/cloudstack/api/command/user/volume/UpdateVolumeCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/volume/UpdateVolumeCmd.java b/api/src/org/apache/cloudstack/api/command/user/volume/UpdateVolumeCmd.java
index 310acde..65d2849 100644
--- a/api/src/org/apache/cloudstack/api/command/user/volume/UpdateVolumeCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/volume/UpdateVolumeCmd.java
@@ -150,7 +150,7 @@ public class UpdateVolumeCmd extends BaseAsyncCustomIdCmd {
}
@Override
- public void checkUuid(String id, Class<?> cls) {
+ public void checkUuid() {
if (this.getCustomId() != null) {
_uuidMgr.checkUuid(this.getCustomId(), Volume.class);
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7cb4b571/api/src/org/apache/cloudstack/api/command/user/vpc/UpdateVPCCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/vpc/UpdateVPCCmd.java b/api/src/org/apache/cloudstack/api/command/user/vpc/UpdateVPCCmd.java
index 38ecf88..3f24a2f 100644
--- a/api/src/org/apache/cloudstack/api/command/user/vpc/UpdateVPCCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/vpc/UpdateVPCCmd.java
@@ -115,7 +115,7 @@ public class UpdateVPCCmd extends BaseAsyncCustomIdCmd {
}
@Override
- public void checkUuid(String id, Class<?> cls) {
+ public void checkUuid() {
if (this.getCustomId() != null) {
_uuidMgr.checkUuid(this.getCustomId(), Vpc.class);
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7cb4b571/server/src/com/cloud/api/ApiDispatcher.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/ApiDispatcher.java b/server/src/com/cloud/api/ApiDispatcher.java
index 19406c2..7d9b7d7 100755
--- a/server/src/com/cloud/api/ApiDispatcher.java
+++ b/server/src/com/cloud/api/ApiDispatcher.java
@@ -21,14 +21,16 @@ import java.util.Map;
import javax.annotation.PostConstruct;
import javax.inject.Inject;
-import org.apache.log4j.Logger;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.BaseAsyncCmd;
import org.apache.cloudstack.api.BaseAsyncCreateCmd;
+import org.apache.cloudstack.api.BaseAsyncCustomIdCmd;
import org.apache.cloudstack.api.BaseCmd;
+import org.apache.cloudstack.api.BaseCustomIdCmd;
import org.apache.cloudstack.context.CallContext;
import org.apache.cloudstack.framework.jobs.AsyncJob;
import org.apache.cloudstack.framework.jobs.AsyncJobManager;
+import org.apache.log4j.Logger;
import com.cloud.api.dispatch.DispatchChain;
import com.cloud.api.dispatch.DispatchChainFactory;
@@ -97,6 +99,13 @@ public class ApiDispatcher {
}
}
}
+
+ if (cmd instanceof BaseAsyncCustomIdCmd) {
+ ((BaseAsyncCustomIdCmd)cmd).checkUuid();
+ } else if (cmd instanceof BaseCustomIdCmd) {
+ ((BaseCustomIdCmd)cmd).checkUuid();
+ }
+
cmd.execute();
}