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.

This commit is contained in:
Jessica Wang 2012-03-19 14:44:01 -07:00
parent a6bfd20200
commit 4d3f81e6fb
1 changed files with 65 additions and 21 deletions

View File

@ -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) {