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 2013/06/26 11:30:23 UTC

[13/25] git commit: updated refs/heads/advancedsg-leaseweb to c5383c8

add shared network in network.js


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

Branch: refs/heads/advancedsg-leaseweb
Commit: a1ae8d95e78289450e579f26ddadff35855c49f7
Parents: d856282
Author: Wei Zhou <w....@leaseweb.com>
Authored: Tue Jun 11 16:12:05 2013 +0200
Committer: Wei Zhou <w....@leaseweb.com>
Committed: Tue Jun 11 16:12:05 2013 +0200

----------------------------------------------------------------------
 ui/scripts/network.js | 60 ++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 58 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a1ae8d95/ui/scripts/network.js
----------------------------------------------------------------------
diff --git a/ui/scripts/network.js b/ui/scripts/network.js
index d1efe8a..bd5f3ba 100755
--- a/ui/scripts/network.js
+++ b/ui/scripts/network.js
@@ -315,7 +315,8 @@
 									async: false,
 									success: function(json) {									 
 										advSgDisabledZones = $.grep(json.listzonesresponse.zone, function(zone) {
-											return (zone.networktype == 'Advanced' && zone.securitygroupsenabled	!= true); //Isolated networks can only be created in Advanced SG-disabled zone (but not in Basic zone nor Advanced SG-enabled zone)
+                                                                                        //Guest networks can only be created in Advanced zone with/without Security groups (but not in Basic zone)
+                                                                                        return (zone.networktype == 'Advanced');
 										});										
 									}
 								});								
@@ -338,7 +339,7 @@
                         url: createURL('listZones'),
                         success: function(json) {
                           var zones = $.grep(json.listzonesresponse.zone, function(zone) {
-                            return (zone.networktype == 'Advanced' && zone.securitygroupsenabled	!= true); //Isolated networks can only be created in Advanced SG-disabled zone (but not in Basic zone nor Advanced SG-enabled zone)
+                            return (zone.networktype == 'Advanced'); //Guest networks can only be created in Advanced zone with/without Security groups (but not in Basic zone)
                           });
 
                           args.response.success({
@@ -372,6 +373,42 @@
                             listUrl = baseUrl;
                           else
                             listUrl = baseUrl + '&forVpc=false';
+                                var isAdvancedSGZone = false;
+                                $.ajax({
+                                  url: createURL("listZones&id=" + args.zoneId),
+                                                dataType: "json",
+                                                async: false,
+                                                success: function(json){
+                                                  isAdvancedSGZone = json.listzonesresponse.zone[0].securitygroupsenabled;
+                                                }
+                                });
+                        if (isAdvancedSGZone) {
+                          var $form = args.$select.closest('form');
+                          $form.find('.form-item[rel=guestVlan]').show();
+                          $.ajax({
+                            url: createURL(listUrl),
+                            data: {
+                              guestiptype: 'Shared',
+                              supportedServices: 'SecurityGroup',
+                              specifyvlan: true,
+                              state: 'Enabled'
+                            },
+                            success: function(json) {
+                              networkOfferingObjs = json.listnetworkofferingsresponse.networkoffering;
+                              args.response.success({
+                                data: $.map(networkOfferingObjs, function(zone) {
+                                  return {
+                                    id: zone.id,
+                                    description: zone.name
+                                  };
+                                })
+                              });
+                            }
+                          });
+                        }
+                        else {
+                          var $form = args.$select.closest('form');
+                          $form.find('.form-item[rel=guestVlan]').hide();
                           $.ajax({
                             url: createURL(listUrl),
                             data: {
@@ -393,6 +430,7 @@
                             }
                           });                            
                         }
+                        }
                       });
                     }
                   },
@@ -443,6 +481,9 @@
 
                   guestGateway: { label: 'label.guest.gateway', docID: 'helpGuestNetworkGateway' },
                   guestNetmask: { label: 'label.guest.netmask', docID: 'helpGuestNetworkNetmask' },
+                  guestStartIp: { label: 'label.start.IP' },
+                  guestEndIp: { label: 'label.end.IP' },
+                  guestVlan: { label: 'label.specify.vlan' },
                   networkDomain: { label: 'label.network.domain' }
                 }
               },
@@ -464,6 +505,21 @@
                     netmask: args.data.guestNetmask
                   });									
                 }								
+                if(args.data.guestStartIp != null && args.data.guestStartIp.length > 0) {
+                  $.extend(dataObj, {
+                    startIp: args.data.guestStartIp
+                  });
+                }
+                if(args.data.guestEndIp != null && args.data.guestEndIp.length > 0) {
+                  $.extend(dataObj, {
+                    endIp: args.data.guestEndIp
+                  });
+                }
+                if(args.data.guestVlan != null && args.data.guestVlan.length > 0) {
+                  $.extend(dataObj, {
+                    vlan: args.data.guestVlan
+                  });
+                }
                 if(args.$form.find('.form-item[rel=vpcid]').css("display") != "none") {                 
                   $.extend(dataObj, {
                     vpcid: args.data.vpcid