You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by je...@apache.org on 2012/11/26 22:04:02 UTC

git commit: CLOUDSTACK-537: cloudstack UI - Advanced SG-Enabled zone - VM wizard - (1) step 5 - Show Security Groups instead of networks. (2) When Launch button is hit, Programmatically find a Shared network with Security Group in the selected zone, then

Updated Branches:
  refs/heads/master 7d89d928d -> af79da5d8


CLOUDSTACK-537: cloudstack UI - Advanced SG-Enabled zone - VM wizard - (1) step 5 - Show Security Groups instead of networks. (2) When Launch button is hit, Programmatically find a Shared network with Security Group in the selected zone, then pass it to deployVirtualMachine API.


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

Branch: refs/heads/master
Commit: af79da5d80ed9f6ce723860ba2b344a31743b3c5
Parents: 7d89d92
Author: Jessica Wang <je...@citrix.com>
Authored: Mon Nov 26 13:03:27 2012 -0800
Committer: Jessica Wang <je...@citrix.com>
Committed: Mon Nov 26 13:03:27 2012 -0800

----------------------------------------------------------------------
 ui/scripts/instanceWizard.js |   58 +++++++++++++++++++++++++++++++++----
 1 files changed, 52 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/af79da5d/ui/scripts/instanceWizard.js
----------------------------------------------------------------------
diff --git a/ui/scripts/instanceWizard.js b/ui/scripts/instanceWizard.js
index b29ceaa..021fa8a 100644
--- a/ui/scripts/instanceWizard.js
+++ b/ui/scripts/instanceWizard.js
@@ -277,11 +277,16 @@
 					$networkStep.find("#from_vpc_tier").show();					
 				}
 			  else { //from Instance page 
-          step5ContainerType = 'select-network';
-					$networkStep.find("#from_instance_page_1").show();		
-          $networkStep.find("#from_instance_page_2").show();
-					$networkStep.find("#from_vpc_tier").text("");			
-					$networkStep.find("#from_vpc_tier").hide();
+				  if(selectedZoneObj.securitygroupsenabled != true) { // Advanced SG-disabled zone
+						step5ContainerType = 'select-network';
+						$networkStep.find("#from_instance_page_1").show();		
+						$networkStep.find("#from_instance_page_2").show();
+						$networkStep.find("#from_vpc_tier").text("");			
+						$networkStep.find("#from_vpc_tier").hide();
+					}
+					else { // Advanced SG-enabled zone
+					  step5ContainerType = 'select-security-group';					
+					}
 				}
       }
       else { //Basic zone. Show securigy group list or nothing(when no SecurityGroup service in guest network)
@@ -320,7 +325,16 @@
         var networkData = {
           zoneId: args.currentData.zoneid
         };
-
+				
+				// step5ContainerType of Advanced SG-enabled zone is 'select-security-group', so won't come into this block
+				/*
+				if(selectedZoneObj.networktype == 'Advanced' && selectedZoneObj.securitygroupsenabled == true) {
+				  $.extend(networkData, {
+					  type: 'Shared'
+					});
+				}
+				*/
+				
         if (!(cloudStack.context.projects && cloudStack.context.projects[0])) {
           networkData.domainid = g_domainid;
           networkData.account = g_account;
@@ -532,6 +546,38 @@
 
         if(checkedSecurityGroupIdArray.length > 0)
           array1.push("&securitygroupids=" + checkedSecurityGroupIdArray.join(","));
+									
+				if(selectedZoneObj.networktype ==	"Advanced" && selectedZoneObj.securitygroupsenabled == true) { // Advanced SG-enabled zone 		
+					var networkData = {
+						zoneId: selectedZoneObj.id,
+						type: 'Shared',
+						supportedServices: 'SecurityGroup'
+					};										
+					if (!(cloudStack.context.projects && cloudStack.context.projects[0])) {
+						networkData.domainid = g_domainid;
+						networkData.account = g_account;
+					}						
+					
+					var selectedNetworkObj = null;					
+					$.ajax({
+						url: createURL('listNetworks'),
+						data: networkData,
+						async: false,
+						success: function(json) {		              			
+							var networks = json.listnetworksresponse.network;
+							if(networks != null && networks.length > 0) {
+							  selectedNetworkObj = networks[0]; //each Advanced SG-enabled zone has only one guest network that is Shared and has SecurityGroup service
+							}
+						}
+					});				 
+					if(selectedNetworkObj != null) {
+				    array1.push("&networkIds=" + selectedNetworkObj.id);	
+					}
+					else {
+					  alert('unable to find any Shared network with SecurityGroup service. Therefore, unable to deploy VM in this Advanced SecurityGroup-enabled zone.');
+						return; 
+					}
+				}
       }
       else if (step5ContainerType == 'nothing-to-select') {	  
 				if(args.context.networks != null) { //from VPC tier