From 4d3f81e6fb39e683fa6e86cea3dbc7c42b904a79 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Mon, 19 Mar 2012 14:44:01 -0700 Subject: [PATCH] bug 14325: cloudstack 3.0 UI - add zone wizard - basic zone - cover the case that selected network offering has Netscaler provider, but no security group service. --- ui/scripts/zoneWizard.js | 86 ++++++++++++++++++++++++++++++---------- 1 file changed, 65 insertions(+), 21 deletions(-) diff --git a/ui/scripts/zoneWizard.js b/ui/scripts/zoneWizard.js index b5fd1bc0a2f..f2ab71e65e9 100644 --- a/ui/scripts/zoneWizard.js +++ b/ui/scripts/zoneWizard.js @@ -1474,7 +1474,7 @@ else { $("body").stopTime(updateNetworkServiceProviderTimer); if (result.jobstatus == 1) { //Security group provider has been enabled successfully - //debugger; + //netscaler if(selectedNetworkOfferingHavingNetscaler == true) { //inside "selectedNetworkOfferingHavingSG == true" section //add netscaler provider (start) @@ -1553,26 +1553,70 @@ } }); } - else { //selectedNetworkOfferingHavingSG == false - //create a guest network for basic zone - var array2 = []; - array2.push("&zoneid=" + args.data.returnedZone.id); - array2.push("&name=guestNetworkForBasicZone"); - array2.push("&displaytext=guestNetworkForBasicZone"); - array2.push("&networkofferingid=" + args.data.zone.networkOfferingId); - $.ajax({ - url: createURL("createNetwork" + array2.join("")), - dataType: "json", - async: false, - success: function(json) { - //basic zone has only one physical network => addPod() will be called only once => so don't need to double-check before calling addPod() - stepFns.addPod({ - data: $.extend(args.data, { - returnedGuestNetwork: json.createnetworkresponse.network - }) - }); - } - }); + else { //selectedNetworkOfferingHavingSG == false + //netscaler + if(selectedNetworkOfferingHavingNetscaler == true) { //inside "selectedNetworkOfferingHavingSG == true" section + //add netscaler provider (start) + $.ajax({ + url: createURL("addNetworkServiceProvider&name=Netscaler&physicalnetworkid=" + args.data.returnedBasicPhysicalNetwork.id), + dataType: "json", + async: false, + success: function(json) { + var addNetworkServiceProviderTimer = "asyncJob_" + json.addnetworkserviceproviderresponse.jobid; + $("body").everyTime(2000, addNetworkServiceProviderTimer, function() { + $.ajax({ + url: createURL("queryAsyncJobResult&jobId=" + json.addnetworkserviceproviderresponse.jobid), + dataType: "json", + success: function(json) { + var result = json.queryasyncjobresultresponse; + if (result.jobstatus == 0) { + return; //Job has not completed + } + else { + $("body").stopTime(addNetworkServiceProviderTimer); + if (result.jobstatus == 1) { + args.data.returnedNetscalerProvider = result.jobresult.networkserviceprovider; + + stepFns.addNetscalerDevice({ + data: args.data + }); + } + else if (result.jobstatus == 2) { + alert("addNetworkServiceProvider&name=Netscaler failed. Error: " + _s(result.jobresult.errortext)); + } + } + }, + error: function(XMLHttpResponse) { + var errorMsg = parseXMLHttpResponse(XMLHttpResponse); + alert("addNetworkServiceProvider&name=Netscaler failed. Error: " + errorMsg); + } + }); + }); + } + }); + //add netscaler provider (end) + } + else { //selectedNetworkOfferingHavingNetscaler == false + //create a guest network for basic zone + var array2 = []; + array2.push("&zoneid=" + args.data.returnedZone.id); + array2.push("&name=guestNetworkForBasicZone"); + array2.push("&displaytext=guestNetworkForBasicZone"); + array2.push("&networkofferingid=" + args.data.zone.networkOfferingId); + $.ajax({ + url: createURL("createNetwork" + array2.join("")), + dataType: "json", + async: false, + success: function(json) { + //basic zone has only one physical network => addPod() will be called only once => so don't need to double-check before calling addPod() + stepFns.addPod({ + data: $.extend(args.data, { + returnedGuestNetwork: json.createnetworkresponse.network + }) + }); + } + }); + } } } else if (result.jobstatus == 2) {