You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by we...@apache.org on 2014/07/03 11:21:54 UTC

[2/5] git commit: updated refs/heads/4.3 to ec823db

[UI] show all secondary ips in VM NIC page


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

Branch: refs/heads/4.3
Commit: 9b7ac9dfaca0b439f1ca31da6db04f068c5ca02b
Parents: c3cbb79
Author: Wei Zhou <w....@leaseweb.com>
Authored: Thu Jul 3 11:05:07 2014 +0200
Committer: Wei Zhou <w....@leaseweb.com>
Committed: Thu Jul 3 11:20:22 2014 +0200

----------------------------------------------------------------------
 .../cloud/api/query/dao/UserVmJoinDaoImpl.java  | 14 +++++++++++++-
 ui/scripts/instances.js                         | 20 ++++++++++++++++++--
 2 files changed, 31 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9b7ac9df/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java
index 5fac449..80de6a5 100644
--- a/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java
@@ -31,6 +31,7 @@ import javax.inject.Inject;
 import org.apache.cloudstack.affinity.AffinityGroupResponse;
 import org.apache.cloudstack.api.ApiConstants.VMDetails;
 import org.apache.cloudstack.api.response.NicResponse;
+import org.apache.cloudstack.api.response.NicSecondaryIpResponse;
 import org.apache.cloudstack.api.response.SecurityGroupResponse;
 import org.apache.cloudstack.api.response.UserVmResponse;
 import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
@@ -52,7 +53,7 @@ import com.cloud.vm.VirtualMachine.State;
 import com.cloud.vm.VmDetailConstants;
 import com.cloud.vm.VmStats;
 import com.cloud.vm.dao.UserVmDetailsDao;
-
+import com.cloud.vm.dao.NicSecondaryIpVO;
 
 @Component
 @Local(value={UserVmJoinDao.class})
@@ -241,6 +242,17 @@ public class UserVmJoinDaoImpl extends GenericDaoBase<UserVmJoinVO, Long> implem
                     nicResponse.setType(userVm.getGuestType().toString());
                 }
                 nicResponse.setIsDefault(userVm.isDefaultNic());
+                List<NicSecondaryIpVO> secondaryIps = ApiDBUtils.findNicSecondaryIps(userVm.getNicId());
+                if (secondaryIps != null) {
+                    List<NicSecondaryIpResponse> ipList = new ArrayList<NicSecondaryIpResponse>();
+                    for (NicSecondaryIpVO ip : secondaryIps) {
+                        NicSecondaryIpResponse ipRes = new NicSecondaryIpResponse();
+                        ipRes.setId(ip.getUuid());
+                        ipRes.setIpAddr(ip.getIp4Address());
+                        ipList.add(ipRes);
+                    }
+                    nicResponse.setSecondaryIps(ipList);
+                }
                 nicResponse.setObjectName("nic");
                 userVmResponse.addNic(nicResponse);
             }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9b7ac9df/ui/scripts/instances.js
----------------------------------------------------------------------
diff --git a/ui/scripts/instances.js b/ui/scripts/instances.js
index dd33672..8920473 100644
--- a/ui/scripts/instances.js
+++ b/ui/scripts/instances.js
@@ -2056,6 +2056,9 @@
                             ipaddress: {
                                 label: 'label.ip.address'
                             },
+                            secondaryips: {
+                                label: 'Secondary IPs'
+                            },
                             gateway: {
                                 label: 'label.gateway'
                             },
@@ -2082,8 +2085,8 @@
                         }],
                         viewAll: {
                             path: 'network.secondaryNicIps',
-                            attachTo: 'ipaddress',
-                            label: 'label.view.secondary.ips',
+                            attachTo: 'secondaryips',
+                            label: 'Edit secondary IPs',
                             title: function(args) {
                                 var title = _l('label.menu.ipaddresses') + ' - ' + args.context.nics[0].name;
 
@@ -2106,6 +2109,19 @@
                                             }
                                         },
                                         data: $.map(json.listvirtualmachinesresponse.virtualmachine[0].nic, function(nic, index) {
+                                            if (nic.secondaryip != null) {
+                                                var secondaryips = "";
+                                                for (var i = 0; i < nic.secondaryip.length; i++) {
+                                                    if (i == 0)
+                                                        secondaryips = nic.secondaryip[i].ipaddress;
+                                                    else
+                                                        secondaryips = secondaryips + " , " + nic.secondaryip[i].ipaddress;
+                                                }
+                                                $.extend(nic, {
+                                                    secondaryips: secondaryips
+                                                })
+                                            }
+                                                
                                             var name = 'NIC ' + (index + 1);
                                             if (nic.isdefault) {
                                                 name += ' (' + _l('label.default') + ')';