cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bfede...@apache.org
Subject [33/35] git commit: refs/heads/ui-multiple-nics - CLOUDSTACK-1595 removeIpFromNic using uuid and response changes
Date Wed, 13 Mar 2013 17:13:56 GMT
CLOUDSTACK-1595 removeIpFromNic using uuid and response changes

Signed-off-by: Abhinandan Prateek <aprateek@apache.org>


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

Branch: refs/heads/ui-multiple-nics
Commit: b4bab5a152726c01af0ecc977ac6af69c7bc0187
Parents: 0f8c4d0
Author: Jayapal Uradi <jayapalreddy.uradi@citrix.com>
Authored: Mon Mar 11 12:44:39 2013 +0530
Committer: Abhinandan Prateek <aprateek@apache.org>
Committed: Wed Mar 13 14:46:31 2013 +0530

----------------------------------------------------------------------
 .../api/command/user/vm/AddIpToVmNicCmd.java       |    2 +-
 .../api/command/user/vm/RemoveIpFromVmNicCmd.java  |   21 +++++---
 .../api/response/NicSecondaryIpResponse.java       |   38 +++++++++-----
 server/src/com/cloud/api/ApiResponseHelper.java    |    9 ++-
 .../src/com/cloud/network/NetworkServiceImpl.java  |    2 +-
 5 files changed, 45 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b4bab5a1/api/src/org/apache/cloudstack/api/command/user/vm/AddIpToVmNicCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/vm/AddIpToVmNicCmd.java b/api/src/org/apache/cloudstack/api/command/user/vm/AddIpToVmNicCmd.java
index cc34b7b..df6b399 100644
--- a/api/src/org/apache/cloudstack/api/command/user/vm/AddIpToVmNicCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/vm/AddIpToVmNicCmd.java
@@ -171,7 +171,7 @@ public class AddIpToVmNicCmd extends BaseAsyncCmd {
 
             s_logger.info("Associated ip address to NIC : " + secondaryIp);
             NicSecondaryIpResponse response = new NicSecondaryIpResponse();
-            response = _responseGenerator.createSecondaryIPToNicResponse(ip, getNicId(),
getNetworkId());
+            response = _responseGenerator.createSecondaryIPToNicResponse(secondaryIp, getNicId(),
getNetworkId());
             response.setResponseName(getCommandName());
             this.setResponseObject(response);
         } else {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b4bab5a1/api/src/org/apache/cloudstack/api/command/user/vm/RemoveIpFromVmNicCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/user/vm/RemoveIpFromVmNicCmd.java b/api/src/org/apache/cloudstack/api/command/user/vm/RemoveIpFromVmNicCmd.java
index d9ab7e0..21a9a0c 100644
--- a/api/src/org/apache/cloudstack/api/command/user/vm/RemoveIpFromVmNicCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/user/vm/RemoveIpFromVmNicCmd.java
@@ -30,6 +30,7 @@ import com.cloud.async.AsyncJob;
 import com.cloud.dc.DataCenter;
 import com.cloud.dc.DataCenter.NetworkType;
 import com.cloud.event.EventTypes;
+import com.cloud.exception.InsufficientAddressCapacityException;
 import com.cloud.exception.InvalidParameterValueException;
 import com.cloud.network.Network;
 import com.cloud.user.Account;
@@ -40,7 +41,7 @@ import com.cloud.vm.NicSecondaryIp;
 @APICommand(name = "removeIpFromNic", description="Assigns secondary IP to NIC.", responseObject=SuccessResponse.class)
 public class RemoveIpFromVmNicCmd extends BaseAsyncCmd {
     public static final Logger s_logger = Logger.getLogger(RemoveIpFromVmNicCmd.class.getName());
-    private static final String s_name = "unassignsecondaryipaddrtonicresponse";
+    private static final String s_name = "removeipfromnicresponse";
 
     /////////////////////////////////////////////////////
     //////////////// API parameters /////////////////////
@@ -129,7 +130,7 @@ public class RemoveIpFromVmNicCmd extends BaseAsyncCmd {
 
     @Override
     public void execute() throws InvalidParameterValueException {
-        UserContext.current().setEventDetails("Ip Id: " + getIpAddressId());
+        UserContext.current().setEventDetails("Ip Id: " + id);
         NicSecondaryIp nicSecIp = getIpEntry();
 
         if (nicSecIp == null) {
@@ -145,12 +146,16 @@ public class RemoveIpFromVmNicCmd extends BaseAsyncCmd {
             }
         }
 
-        boolean result = _networkService.releaseSecondaryIpFromNic(getIpAddressId());
-        if (result) {
-            SuccessResponse response = new SuccessResponse(getCommandName());
-            this.setResponseObject(response);
-        } else {
-            throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to remove secondary
 ip address for the nic");
+        try {
+            boolean result = _networkService.releaseSecondaryIpFromNic(id);
+            if (result) {
+                SuccessResponse response = new SuccessResponse(getCommandName());
+                this.setResponseObject(response);
+            } else {
+                throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to remove
secondary  ip address for the nic");
+            }
+        } catch (InvalidParameterValueException e) {
+            throw new InvalidParameterValueException("Removing guest ip from nic failed");
         }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b4bab5a1/api/src/org/apache/cloudstack/api/response/NicSecondaryIpResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/NicSecondaryIpResponse.java b/api/src/org/apache/cloudstack/api/response/NicSecondaryIpResponse.java
index 3464a63..695468f 100644
--- a/api/src/org/apache/cloudstack/api/response/NicSecondaryIpResponse.java
+++ b/api/src/org/apache/cloudstack/api/response/NicSecondaryIpResponse.java
@@ -20,28 +20,38 @@ import java.util.List;
 
 import org.apache.cloudstack.api.ApiConstants;
 import org.apache.cloudstack.api.BaseResponse;
+import org.apache.cloudstack.api.EntityReference;
 
+import com.cloud.network.rules.FirewallRule;
 import com.cloud.serializer.Param;
+import com.cloud.vm.NicSecondaryIp;
 import com.google.gson.annotations.SerializedName;
 
+@EntityReference(value=NicSecondaryIp.class)
 @SuppressWarnings("unused")
 public class NicSecondaryIpResponse extends BaseResponse {
+
     @SerializedName(ApiConstants.ID) @Param(description="the ID of the secondary private
IP addr")
-    private Long id;
+    private String id;
 
     @SerializedName(ApiConstants.IP_ADDRESS) @Param(description="Secondary IP address")
     private String ipAddr;
 
     @SerializedName(ApiConstants.NIC_ID) @Param(description="the ID of the nic")
-    private Long nicId;
+    private String nicId;
 
     @SerializedName(ApiConstants.NETWORK_ID) @Param(description="the ID of the network")
-    private  Long nwId;
+    private  String nwId;
 
     @SerializedName(ApiConstants.VIRTUAL_MACHINE_ID) @Param(description="the ID of the vm")
-    private Long vmId;
+    private String vmId;
+
+    @Override
+    public String getObjectId() {
+        return this.getId();
+    }
 
-    public Long getId() {
+    public String getId() {
         return id;
     }
 
@@ -53,32 +63,32 @@ public class NicSecondaryIpResponse extends BaseResponse {
         this.ipAddr = ipAddr;
     }
 
-    public Long getNicId() {
+    public String getNicId() {
         return nicId;
     }
 
-    public void setNicId(Long nicId) {
-        this.nicId = nicId;
+    public void setNicId(String string) {
+        this.nicId = string;
     }
 
-    public Long getNwId() {
+    public String getNwId() {
         return nwId;
     }
 
-    public void setNwId(Long nwId) {
+    public void setNwId(String nwId) {
         this.nwId = nwId;
     }
 
-    public Long getVmId() {
+    public String getVmId() {
         return vmId;
     }
 
-    public void setVmId(Long vmId) {
+    public void setVmId(String vmId) {
         this.vmId = vmId;
     }
 
-    public Long setId(Long id) {
-        return id;
+    public void setId(String id) {
+        this.id = id;
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b4bab5a1/server/src/com/cloud/api/ApiResponseHelper.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java
index fbfc955..2546f29 100755
--- a/server/src/com/cloud/api/ApiResponseHelper.java
+++ b/server/src/com/cloud/api/ApiResponseHelper.java
@@ -184,6 +184,7 @@ import com.cloud.vm.ConsoleProxyVO;
 import com.cloud.vm.InstanceGroup;
 import com.cloud.vm.Nic;
 import com.cloud.vm.NicProfile;
+import com.cloud.vm.NicVO;
 import com.cloud.vm.VMInstanceVO;
 import com.cloud.vm.NicSecondaryIp;
 import com.cloud.vm.VirtualMachine;
@@ -3447,9 +3448,11 @@ public class ApiResponseHelper implements ResponseGenerator {
 
     public NicSecondaryIpResponse createSecondaryIPToNicResponse(String ipAddr, Long nicId,
Long networkId) {
         NicSecondaryIpResponse response = new NicSecondaryIpResponse();
+        NicVO nic = _entityMgr.findById(NicVO.class, nicId);
+        NetworkVO network = _entityMgr.findById(NetworkVO.class, networkId);
         response.setIpAddr(ipAddr);
-        response.setNicId(nicId);
-        response.setNwId(networkId);
+        response.setNicId(nic.getUuid());
+        response.setNwId(network.getUuid());
         response.setObjectName("nicsecondaryip");
         return response;
     }
@@ -3465,7 +3468,7 @@ public class ApiResponseHelper implements ResponseGenerator {
                 List<NicSecondaryIpResponse> ipList = new ArrayList<NicSecondaryIpResponse>();
                 for (NicSecondaryIpVO ip: secondaryIps) {
                     NicSecondaryIpResponse ipRes = new NicSecondaryIpResponse();
-                    ipRes.setId(ip.getId());
+                    ipRes.setId(ip.getUuid());
                     ipRes.setIpAddr(ip.getIp4Address());
                     ipList.add(ipRes);
                 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b4bab5a1/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 ba55ff8..52e81e5 100755
--- a/server/src/com/cloud/network/NetworkServiceImpl.java
+++ b/server/src/com/cloud/network/NetworkServiceImpl.java
@@ -597,7 +597,7 @@ public class NetworkServiceImpl extends ManagerBase implements  NetworkService
{
         _accountMgr.checkAccess(caller, null, true, network);
 
         Long nicId = secIpVO.getNicId();
-        s_logger.debug("ip id and nic id " + ipAddressId + "..." + nicId);
+        s_logger.debug("ip id = " + ipAddressId + " nic id = " + nicId);
         //check is this the last secondary ip for NIC
         List<NicSecondaryIpVO> ipList = _nicSecondaryIpDao.listByNicId(nicId);
         boolean lastIp = false;


Mime
View raw message