(1) CS-15057: Remove jquery.timer.js from source code. Replace it with native JavaScript functions.

(2) CS-14604: cloudstack 3.0 UI - Add Zone Wizard - skip Guest Traffic step if OVS tunnel manager is enabled.
(3) CS-15311: cloudstack 3.0 UI - Add Zone Wizard - add physical network step - no isolation method dropdown if network type is Basic.
(4) CS-14769:  Don't pass subdomainaccess param when scope=project.
(5) CS-15157: cloudstack 3.0 UI - infrastructure page - physical network - network service providers - reset nspMap before populating listNetworkServiceProviders response to nspMap.
This commit is contained in:
Jessica Wang 2012-06-21 12:13:41 -07:00
parent e7995d09dc
commit a00c21686f
5 changed files with 229 additions and 345 deletions

View File

@ -1584,7 +1584,6 @@
<script src="lib/jquery-ui/js/jquery-ui.js" type="text/javascript"></script>
<script src="lib/date.js" type="text/javascript"></script>
<script src="lib/jquery.cookies.js" type="text/javascript"></script>
<script src="lib/jquery.timers.js" type="text/javascript"></script>
<script src="lib/jquery.md5.js" type="text/javascript" ></script>
<script src="lib/excanvas.js"></script>

View File

@ -1,138 +0,0 @@
/**
* jQuery.timers - Timer abstractions for jQuery
* Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com)
* Licensed under the WTFPL (http://sam.zoy.org/wtfpl/).
* Date: 2009/10/16
*
* @author Blair Mitchelmore
* @version 1.2
*
**/
jQuery.fn.extend({
everyTime: function(interval, label, fn, times) {
return this.each(function() {
jQuery.timer.add(this, interval, label, fn, times);
});
},
oneTime: function(interval, label, fn) {
return this.each(function() {
jQuery.timer.add(this, interval, label, fn, 1);
});
},
stopTime: function(label, fn) {
return this.each(function() {
jQuery.timer.remove(this, label, fn);
});
}
});
jQuery.extend({
timer: {
global: [],
guid: 1,
dataKey: "jQuery.timer",
regex: /^([0-9]+(?:\.[0-9]*)?)\s*(.*s)?$/,
powers: {
// Yeah this is major overkill...
'ms': 1,
'cs': 10,
'ds': 100,
's': 1000,
'das': 10000,
'hs': 100000,
'ks': 1000000
},
timeParse: function(value) {
if (value == undefined || value == null)
return null;
var result = this.regex.exec(jQuery.trim(value.toString()));
if (result[2]) {
var num = parseFloat(result[1]);
var mult = this.powers[result[2]] || 1;
return num * mult;
} else {
return value;
}
},
add: function(element, interval, label, fn, times) {
var counter = 0;
if (jQuery.isFunction(label)) {
if (!times)
times = fn;
fn = label;
label = interval;
}
interval = jQuery.timer.timeParse(interval);
if (typeof interval != 'number' || isNaN(interval) || interval < 0)
return;
if (typeof times != 'number' || isNaN(times) || times < 0)
times = 0;
times = times || 0;
var timers = jQuery.data(element, this.dataKey) || jQuery.data(element, this.dataKey, {});
if (!timers[label])
timers[label] = {};
fn.timerID = fn.timerID || this.guid++;
var handler = function() {
if ((++counter > times && times !== 0) || fn.call(element, counter) === false)
jQuery.timer.remove(element, label, fn);
};
handler.timerID = fn.timerID;
if (!timers[label][fn.timerID])
timers[label][fn.timerID] = window.setInterval(handler,interval);
this.global.push( element );
},
remove: function(element, label, fn) {
var timers = jQuery.data(element, this.dataKey), ret;
if ( timers ) {
if (!label) {
for ( label in timers )
this.remove(element, label, fn);
} else if ( timers[label] ) {
if ( fn ) {
if ( fn.timerID ) {
window.clearInterval(timers[label][fn.timerID]);
delete timers[label][fn.timerID];
}
} else {
for ( var fn in timers[label] ) {
window.clearInterval(timers[label][fn]);
delete timers[label][fn];
}
}
for ( ret in timers[label] ) break;
if ( !ret ) {
ret = null;
delete timers[label];
}
}
for ( ret in timers ) break;
if ( !ret )
jQuery.removeData(element, this.dataKey);
}
}
}
});
jQuery(window).bind("unload", function() {
jQuery.each(jQuery.timer.global, function(index, item) {
jQuery.timer.remove(item);
});
});

View File

@ -2485,8 +2485,7 @@
async: true,
success: function(json) {
var jobId = json.addnetworkserviceproviderresponse.jobid;
var timerKey = "addNetworkServiceProviderJob_"+jobId;
$("body").everyTime(2000, timerKey, function() {
var addNetscalerProviderIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId="+jobId),
dataType: "json",
@ -2496,7 +2495,7 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(addNetscalerProviderIntervalID);
if (result.jobstatus == 1) {
nspMap["netscaler"] = result.jobresult.networkserviceprovider;
addExternalLoadBalancer(args, selectedPhysicalNetworkObj, "addNetscalerLoadBalancer", "addnetscalerloadbalancerresponse", "netscalerloadbalancer");
@ -2511,7 +2510,7 @@
alert("addNetworkServiceProvider&name=Netscaler failed. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
}
@ -2714,8 +2713,7 @@
async: true,
success: function(json) {
var jobId = json.addnetworkserviceproviderresponse.jobid;
var timerKey = "addNetworkServiceProviderJob_"+jobId;
$("body").everyTime(2000, timerKey, function() {
var addF5ProviderIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId="+jobId),
dataType: "json",
@ -2725,7 +2723,7 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(addF5ProviderIntervalID);
if (result.jobstatus == 1) {
nspMap["f5"] = json.queryasyncjobresultresponse.jobresult.networkserviceprovider;
addExternalLoadBalancer(args, selectedPhysicalNetworkObj, "addF5LoadBalancer", "addf5bigiploadbalancerresponse");
@ -2740,7 +2738,7 @@
alert("addNetworkServiceProvider&name=F5BigIpfailed. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
}
@ -2962,8 +2960,7 @@
async: true,
success: function(json) {
var jobId = json.addnetworkserviceproviderresponse.jobid;
var timerKey = "addNetworkServiceProviderJob_"+jobId;
$("body").everyTime(2000, timerKey, function() {
var addJuniperSRXProviderIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId="+jobId),
dataType: "json",
@ -2973,7 +2970,7 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(addJuniperSRXProviderIntervalID);
if (result.jobstatus == 1) {
nspMap["srx"] = json.queryasyncjobresultresponse.jobresult.networkserviceprovider;
addExternalFirewall(args, selectedPhysicalNetworkObj, "addSrxFirewall", "addsrxfirewallresponse", "srxfirewall");
@ -2988,7 +2985,7 @@
alert("addNetworkServiceProvider&name=JuniperSRX failed. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
}
@ -5121,8 +5118,7 @@
async: true,
success: function(json) {
var jobId = json.addnetworkserviceproviderresponse.jobid;
var timerKey = "addNetworkServiceProviderJob_"+jobId;
$("body").everyTime(2000, timerKey, function() {
var addNetscalerProviderIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId="+jobId),
dataType: "json",
@ -5132,7 +5128,7 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(addNetscalerProviderIntervalID);
if (result.jobstatus == 1) {
nspMap["netscaler"] = result.jobresult.networkserviceprovider;
addExternalLoadBalancer(args, selectedPhysicalNetworkObj, "addNetscalerLoadBalancer", "addnetscalerloadbalancerresponse", "netscalerloadbalancer");
@ -5147,7 +5143,7 @@
alert("addNetworkServiceProvider&name=Netscaler failed. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
}
@ -5314,8 +5310,7 @@
async: true,
success: function(json) {
var jobId = json.addnetworkserviceproviderresponse.jobid;
var timerKey = "addNetworkServiceProviderJob_"+jobId;
$("body").everyTime(2000, timerKey, function() {
var addF5ProviderIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId="+jobId),
dataType: "json",
@ -5325,7 +5320,7 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(addF5ProviderIntervalID);
if (result.jobstatus == 1) {
nspMap["f5"] = json.queryasyncjobresultresponse.jobresult.networkserviceprovider;
addExternalLoadBalancer(args, selectedPhysicalNetworkObj, "addF5LoadBalancer", "addf5bigiploadbalancerresponse", "f5loadbalancer");
@ -5340,7 +5335,7 @@
alert("addNetworkServiceProvider&name=F5BigIpfailed. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
}
@ -5524,8 +5519,7 @@
async: true,
success: function(json) {
var jobId = json.addnetworkserviceproviderresponse.jobid;
var timerKey = "addNetworkServiceProviderJob_"+jobId;
$("body").everyTime(2000, timerKey, function() {
var addJuniperSRXProviderIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId="+jobId),
dataType: "json",
@ -5535,7 +5529,7 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(addJuniperSRXProviderIntervalID);
if (result.jobstatus == 1) {
nspMap["srx"] = json.queryasyncjobresultresponse.jobresult.networkserviceprovider;
addExternalFirewall(args, selectedPhysicalNetworkObj, "addSrxFirewall", "addsrxfirewallresponse", "srxfirewall");
@ -5550,7 +5544,7 @@
alert("addNetworkServiceProvider&name=JuniperSRX failed. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
}
@ -6227,9 +6221,11 @@
array1.push("&username=" + todb(args.data.vCenterUsername));
array1.push("&password=" + todb(args.data.vCenterPassword));
array1.push('&vsmipaddress=' + args.data.vsmipaddress);
array1.push('&vsmusername=' + args.data.vsmusername);
array1.push('&vsmpassword=' + args.data.vsmpassword);
if (args.data.vsmipaddress) {
array1.push('&vsmipaddress=' + args.data.vsmipaddress);
array1.push('&vsmusername=' + args.data.vsmusername);
array1.push('&vsmpassword=' + args.data.vsmpassword);
}
var hostname = args.data.vCenterHost;
var dcName = args.data.vCenterDatacenter;
@ -6491,7 +6487,7 @@
id: 'vSwitches',
fields: {
vsmdeviceid: { label: 'label.name' },
vsmdevicestate: { label: 'label.state' }
vsmdevicestate: { label: 'label.state',indicator:{ 'Enabled': 'on' } }
},
detailView: {
actions: {
@ -6517,6 +6513,8 @@
{jobId: jid}
}
);
//args.context.vSwitches[0].vsmdevicestate = item.allocationstate;
//addExtraPropertiesToClusterObject(item);
args.response.success({
actionFilter: nexusActionfilter,
data:item
@ -6553,6 +6551,8 @@
{jobId: jid}
}
);
//args.context.vSwitches[0].vsmdevicestate = item.allocationstate;
//addExtraPropertiesToClusterObject(item);
args.response.success({
actionFilter: nexusActionfilter,
data:item
@ -6602,7 +6602,7 @@
vsmctrlvlanid: { label: 'label.vsmctrlvlanid' },
vsmpktvlanid: { label: 'label.vsmpktvlanid' },
vsmstoragevlanid: { label: 'label.vsmstoragevlanid' },
vsmdevicestate: { label: 'label.state' }
vsmdevicestate: { label: 'label.state', indicator: { 'Enabled': 'on' } }
},
dataProvider: function(args) {
@ -6635,6 +6635,7 @@
args.response.success({
actionFilter: nexusActionfilter,
data: item
});
},
error: function(json) {
@ -8596,8 +8597,7 @@
dataType: "json",
success: function(json) {
var jobId = json.updatephysicalnetworkresponse.jobid;
var timerKey = "updatePhysicalNetworkJob_"+jobId;
$("body").everyTime(2000, timerKey, function() {
var enablePhysicalNetworkIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId="+jobId),
dataType: "json",
@ -8607,7 +8607,7 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(enablePhysicalNetworkIntervalID);
if (result.jobstatus == 1) {
//alert("updatePhysicalNetwork succeeded.");
@ -8652,8 +8652,7 @@
async: false,
success: function(json) {
var jobId = json.configurevirtualrouterelementresponse.jobid;
var timerKey = "configureVirtualRouterElementJob_"+jobId;
$("body").everyTime(2000, timerKey, function() {
var enableVirtualRouterElementIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId="+jobId),
dataType: "json",
@ -8663,7 +8662,7 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(enableVirtualRouterElementIntervalID);
if (result.jobstatus == 1) {
//alert("configureVirtualRouterElement succeeded.");
@ -8673,8 +8672,7 @@
async: false,
success: function(json) {
var jobId = json.updatenetworkserviceproviderresponse.jobid;
var timerKey = "updateNetworkServiceProviderJob_"+jobId;
$("body").everyTime(2000, timerKey, function() {
var enableVirtualRouterProviderIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId="+jobId),
dataType: "json",
@ -8684,7 +8682,7 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(enableVirtualRouterProviderIntervalID);
if (result.jobstatus == 1) {
//alert("Virtual Router Provider is enabled");
@ -8714,8 +8712,7 @@
async: false,
success: function(json) {
var jobId = json.updatenetworkserviceproviderresponse.jobid;
var timerKey = "updateNetworkServiceProviderJob_"+jobId;
$("body").everyTime(2000, timerKey, function() {
var enableSecurityGroupProviderIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId="+jobId),
dataType: "json",
@ -8725,7 +8722,7 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(enableSecurityGroupProviderIntervalID);
if (result.jobstatus == 1) {
//alert("Security group provider is enabled");
@ -8777,7 +8774,7 @@
alert("updateNetworkServiceProvider failed. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
}
@ -8858,7 +8855,7 @@
alert("updateNetworkServiceProvider failed. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
}
@ -8872,7 +8869,7 @@
alert("configureVirtualRouterElement failed. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
}
@ -8886,7 +8883,7 @@
alert("updatePhysicalNetwork failed. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
};
@ -9163,6 +9160,8 @@
dataType: "json",
async: false,
success: function(json) {
nspMap = {}; //reset
var items = json.listnetworkserviceprovidersresponse.networkserviceprovider;
if(items != null) {
for(var i = 0; i < items.length; i++) {

View File

@ -82,8 +82,7 @@
dataType: 'json',
success: function(json) {
var jid = json.uploadcustomcertificateresponse.jobid;
var timerKey = "uploadcustomcertificatejob_" + jid;
$("body").everyTime(2000, timerKey, function() {
var uploadCustomCertificateIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId=" + jid),
dataType: "json",
@ -93,7 +92,7 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(uploadCustomCertificateIntervalID);
if (result.jobstatus == 1) {
cloudStack.dialog.notice({ message: 'Update SSL Certiciate succeeded' });
}
@ -108,7 +107,7 @@
$loading.remove();
}
});
});
}, 3000);
},
error: function(XMLHttpResponse) {
cloudStack.dialog.notice({ message: 'Failed to update SSL Certificate. ' + parseXMLHttpResponse(XMLHttpResponse) });

View File

@ -17,6 +17,7 @@
var selectedNetworkOfferingHavingNetscaler = false;
var returnedPublicVlanIpRanges = []; //public VlanIpRanges returned by API
var configurationUseLocalStorage = false;
var skipGuestTrafficStep = false;
// Makes URL string for traffic label
var trafficLabelParam = function(trafficTypeID, data, physicalNetworkID) {
@ -241,15 +242,35 @@
if (args.data['network-model'] == 'Basic') {
$('.setup-guest-traffic').addClass('basic');
$('.setup-guest-traffic').removeClass('advanced');
} else {
skipGuestTrafficStep = false; //set value
}
else {
$('.setup-guest-traffic').removeClass('basic');
$('.setup-guest-traffic').addClass('advanced');
}
return args.data['network-model'] == 'Basic' ||
$.grep(args.groupedData.physicalNetworks, function(network) {
return $.inArray('guest', network.trafficTypes) > -1;
}).length;
//skip the step if OVS tunnel manager is enabled
skipGuestTrafficStep = false; //reset it before ajax call
$.ajax({
url: createURL('listConfigurations'),
data: {
name: 'sdn.ovs.controller'
},
dataType: "json",
async: false,
success: function(json) {
var items = json.listconfigurationsresponse.configuration; //2 entries returned: 'sdn.ovs.controller', 'sdn.ovs.controller.default.label'
$(items).each(function(){
if(this.name == 'sdn.ovs.controller') {
if(this.value == 'true' || this.value == true) {
skipGuestTrafficStep = true;
}
return false; //break each loop
}
});
}
});
}
return !skipGuestTrafficStep;
},
configureStorageTraffic: function(args) {
@ -340,16 +361,18 @@
async: false,
data: { listAll: true },
success: function(json) {
var items = json.listhypervisorsresponse.hypervisor;
var array1 = [];
if(items != null) {
for(var i = 0; i < items.length; i++) {
if(items[i].name == "XenServer")
array1.unshift({id: items[i].name, description: items[i].name});
else
array1.push({id: items[i].name, description: items[i].name});
}
}
args.response.success({
data: $.map(
json.listhypervisorsresponse.hypervisor,
function(hypervisor) {
return {
id: hypervisor.name,
description: hypervisor.name
};
}
)
data: array1
});
}
});
@ -1269,7 +1292,7 @@
var returnedPhysicalNetworks = [];
if(args.data.zone.networkType == "Basic") {
if(args.data.zone.networkType == "Basic") { //Basic zone ***
var requestedTrafficTypeCount = 2; //request guest traffic type, management traffic type
if(selectedNetworkOfferingHavingSG == true && selectedNetworkOfferingHavingEIP == true && selectedNetworkOfferingHavingELB == true)
requestedTrafficTypeCount++; //request public traffic type
@ -1278,8 +1301,6 @@
var array1 = [];
if("physicalNetworks" in args.data) { //from add-zone-wizard
array1.push("&name=" + todb(args.data.physicalNetworks[0].name));
if(args.data.physicalNetworks[0].isolationMethod != null && args.data.physicalNetworks[0].isolationMethod.length > 0)
array1.push("&isolationmethods=" + todb(args.data.physicalNetworks[0].isolationMethod));
}
else { //from quick-install-wizard
array1.push("&name=PhysicalNetworkInBasicZone");
@ -1290,8 +1311,7 @@
dataType: "json",
success: function(json) {
var jobId = json.createphysicalnetworkresponse.jobid;
var timerKey = "createPhysicalNetworkJob_" + jobId;
$("body").everyTime(2000, timerKey, function(){
var createPhysicalNetworkIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobid=" + jobId),
dataType: "json",
@ -1301,7 +1321,8 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(createPhysicalNetworkIntervalID);
if (result.jobstatus == 1) {
var returnedBasicPhysicalNetwork = result.jobresult.physicalnetwork;
var label = returnedBasicPhysicalNetwork.id + trafficLabelParam('guest', data);
@ -1312,8 +1333,7 @@
dataType: "json",
success: function(json) {
var jobId = json.addtraffictyperesponse.jobid;
var timerKey = "addTrafficTypeJob_" + jobId;
$("body").everyTime(2000, timerKey, function() {
var addGuestTrafficTypeIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobid=" + jobId),
dataType: "json",
@ -1323,7 +1343,8 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(addGuestTrafficTypeIntervalID);
if (result.jobstatus == 1) {
returnedTrafficTypes.push(result.jobresult.traffictype);
@ -1347,7 +1368,7 @@
alert("Failed to add Guest traffic type to basic zone. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
@ -1358,8 +1379,7 @@
dataType: "json",
success: function(json) {
var jobId = json.addtraffictyperesponse.jobid;
var timerKey = "addTrafficTypeJob_" + jobId;
$("body").everyTime(2000, timerKey, function() {
var addManagementTrafficTypeIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobid=" + jobId),
dataType: "json",
@ -1369,7 +1389,8 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(addManagementTrafficTypeIntervalID);
if (result.jobstatus == 1) {
returnedTrafficTypes.push(result.jobresult.traffictype);
@ -1393,7 +1414,7 @@
alert("Failed to add Management traffic type to basic zone. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
@ -1406,8 +1427,7 @@
dataType: "json",
success: function(json) {
var jobId = json.addtraffictyperesponse.jobid;
var timerKey = "addTrafficTypeJob_" + jobId;
$("body").everyTime(2000, timerKey, function() {
var addStorageTrafficTypeIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobid=" + jobId),
dataType: "json",
@ -1417,7 +1437,8 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(addStorageTrafficTypeIntervalID);
if (result.jobstatus == 1) {
returnedTrafficTypes.push(result.jobresult.traffictype);
@ -1441,7 +1462,7 @@
alert("Failed to add Management traffic type to basic zone. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
}
@ -1453,8 +1474,7 @@
dataType: "json",
success: function(json) {
var jobId = json.addtraffictyperesponse.jobid;
var timerKey = "addTrafficTypeJob_" + jobId;
$("body").everyTime(2000, timerKey, function() {
var addPublicTrafficTypeIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobid=" + jobId),
dataType: "json",
@ -1464,7 +1484,8 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(addPublicTrafficTypeIntervalID);
if (result.jobstatus == 1) {
returnedTrafficTypes.push(result.jobresult.traffictype);
@ -1488,7 +1509,7 @@
alert("Failed to add Public traffic type to basic zone. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
}
@ -1503,7 +1524,8 @@
alert("createPhysicalNetwork failed. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
}
@ -1519,8 +1541,7 @@
dataType: "json",
success: function(json) {
var jobId = json.createphysicalnetworkresponse.jobid;
var timerKey = "createPhysicalNetworkJob_" + jobId;
$("body").everyTime(2000, timerKey, function(){
var createPhysicalNetworkIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobid=" + jobId),
dataType: "json",
@ -1530,7 +1551,8 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(createPhysicalNetworkIntervalID);
if (result.jobstatus == 1) {
var returnedPhysicalNetwork = result.jobresult.physicalnetwork;
returnedPhysicalNetwork.originalId = thisPhysicalNetwork.id;
@ -1562,8 +1584,7 @@
dataType: "json",
success: function(json) {
var jobId = json.addtraffictyperesponse.jobid;
var timerKey = "addTrafficTypeJob_" + jobId;
$("body").everyTime(2000, timerKey, function() {
var addTrafficTypeIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobid=" + jobId),
dataType: "json",
@ -1573,7 +1594,8 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(addTrafficTypeIntervalID);
if (result.jobstatus == 1) {
returnedTrafficTypes.push(result.jobresult.traffictype);
@ -1600,7 +1622,7 @@
alert(apiCmd + " failed. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
});
@ -1615,7 +1637,7 @@
alert("createPhysicalNetwork failed. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
});
@ -1631,9 +1653,7 @@
url: createURL("updatePhysicalNetwork&state=Enabled&id=" + args.data.returnedBasicPhysicalNetwork.id),
dataType: "json",
success: function(json) {
//var jobId = json.updatephysicalnetworkresponse.jobid;
var updatePhysicalNetworkTimer = "updatePhysicalNetworkJob_" + json.updatephysicalnetworkresponse.jobid;
$("body").everyTime(2000, updatePhysicalNetworkTimer, function() {
var enablePhysicalNetworkIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId=" + json.updatephysicalnetworkresponse.jobid),
dataType: "json",
@ -1643,7 +1663,8 @@
return; //Job has not completed
}
else {
$("body").stopTime(updatePhysicalNetworkTimer);
clearInterval(enablePhysicalNetworkIntervalID);
if (result.jobstatus == 1) {
//alert("updatePhysicalNetwork succeeded.");
@ -1687,9 +1708,7 @@
dataType: "json",
async: false,
success: function(json) {
//var jobId = json.configurevirtualrouterelementresponse.jobid;
var configureVirtualRouterElementTimer = "configureVirtualRouterElementJob_" + json.configurevirtualrouterelementresponse.jobid;
$("body").everyTime(2000, configureVirtualRouterElementTimer, function() {
var enableVirtualRouterElementIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId=" + json.configurevirtualrouterelementresponse.jobid),
dataType: "json",
@ -1699,7 +1718,8 @@
return; //Job has not completed
}
else {
$("body").stopTime(configureVirtualRouterElementTimer);
clearInterval(enableVirtualRouterElementIntervalID);
if (result.jobstatus == 1) {
//alert("configureVirtualRouterElement succeeded.");
@ -1708,9 +1728,7 @@
dataType: "json",
async: false,
success: function(json) {
//var jobId = json.updatenetworkserviceproviderresponse.jobid;
var updateNetworkServiceProviderTimer = "updateNetworkServiceProviderJob_" + json.updatenetworkserviceproviderresponse.jobid;
$("body").everyTime(2000, updateNetworkServiceProviderTimer, function() {
var enableVirtualRouterProviderIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId=" + json.updatenetworkserviceproviderresponse.jobid),
dataType: "json",
@ -1720,7 +1738,8 @@
return; //Job has not completed
}
else {
$("body").stopTime(updateNetworkServiceProviderTimer);
clearInterval(enableVirtualRouterProviderIntervalID);
if (result.jobstatus == 1) {
//alert("Virtual Router Provider is enabled");
@ -1753,8 +1772,7 @@
dataType: "json",
async: false,
success: function(json) {
var updateNetworkServiceProviderTimer = "asyncJob_" + json.updatenetworkserviceproviderresponse.jobid;
$("body").everyTime(2000, updateNetworkServiceProviderTimer, function() {
var enableSecurityGroupProviderIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId=" + json.updatenetworkserviceproviderresponse.jobid),
dataType: "json",
@ -1764,7 +1782,8 @@
return; //Job has not completed
}
else {
$("body").stopTime(updateNetworkServiceProviderTimer);
clearInterval(enableSecurityGroupProviderIntervalID);
if (result.jobstatus == 1) { //Security group provider has been enabled successfully
stepFns.addNetscalerProvider({
data: args.data
@ -1780,7 +1799,7 @@
alert("failed to enable security group provider. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
}
@ -1800,7 +1819,7 @@
alert("failed to enable Virtual Router Provider. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
}
@ -1814,7 +1833,7 @@
alert("configureVirtualRouterElement failed. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
}
@ -1828,7 +1847,7 @@
alert("updatePhysicalNetwork failed. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
}
@ -1840,8 +1859,7 @@
dataType: "json",
success: function(json) {
var jobId = json.updatephysicalnetworkresponse.jobid;
var timerKey = "updatePhysicalNetworkJob_"+jobId;
$("body").everyTime(2000, timerKey, function() {
var enablePhysicalNetworkIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId="+jobId),
dataType: "json",
@ -1851,7 +1869,8 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(enablePhysicalNetworkIntervalID);
if (result.jobstatus == 1) {
//alert("updatePhysicalNetwork succeeded.");
@ -1896,8 +1915,7 @@
async: false,
success: function(json) {
var jobId = json.configurevirtualrouterelementresponse.jobid;
var timerKey = "configureVirtualRouterElementJob_"+jobId;
$("body").everyTime(2000, timerKey, function() {
var enableVirtualRouterElementIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId="+jobId),
dataType: "json",
@ -1907,7 +1925,8 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(enableVirtualRouterElementIntervalID);
if (result.jobstatus == 1) { //configureVirtualRouterElement succeeded
$.ajax({
url: createURL("updateNetworkServiceProvider&state=Enabled&id=" + virtualRouterProviderId),
@ -1915,8 +1934,7 @@
async: false,
success: function(json) {
var jobId = json.updatenetworkserviceproviderresponse.jobid;
var timerKey = "updateNetworkServiceProviderJob_"+jobId;
$("body").everyTime(2000, timerKey, function() {
var enableVirtualRouterProviderIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId="+jobId),
dataType: "json",
@ -1926,7 +1944,8 @@
return; //Job has not completed
}
else {
$("body").stopTime(timerKey);
clearInterval(enableVirtualRouterProviderIntervalID);
if (result.jobstatus == 1) { //Virtual Router Provider has been enabled successfully
advZoneConfiguredPhysicalNetworkCount++;
if(advZoneConfiguredPhysicalNetworkCount == args.data.returnedPhysicalNetworks.length) { //not call addPod() until all physical networks get configured
@ -1945,7 +1964,7 @@
alert("updateNetworkServiceProvider failed. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
}
@ -1959,7 +1978,7 @@
alert("configureVirtualRouterElement failed. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
}
@ -1973,7 +1992,7 @@
alert("updatePhysicalNetwork failed. Error: " + errorMsg);
}
});
});
}, 3000);
}
});
});
@ -1989,8 +2008,7 @@
dataType: "json",
async: false,
success: function(json) {
var addNetworkServiceProviderTimer = "asyncJob_" + json.addnetworkserviceproviderresponse.jobid;
$("body").everyTime(2000, addNetworkServiceProviderTimer, function() {
var addNetscalerProviderIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobId=" + json.addnetworkserviceproviderresponse.jobid),
dataType: "json",
@ -2000,7 +2018,8 @@
return; //Job has not completed
}
else {
$("body").stopTime(addNetworkServiceProviderTimer);
clearInterval(addNetscalerProviderIntervalID);
if (result.jobstatus == 1) {
args.data.returnedNetscalerProvider = result.jobresult.networkserviceprovider;
stepFns.addNetscalerDevice({
@ -2019,7 +2038,7 @@
});
});
}
});
}, 3000);
//add netscaler provider (end)
}
else { //selectedNetworkOfferingHavingNetscaler == false
@ -2126,8 +2145,7 @@
url: createURL("addNetscalerLoadBalancer" + array1.join("")),
dataType: "json",
success: function(json) {
var addNetscalerLoadBalancerTimer = "asyncJob_" + json.addnetscalerloadbalancerresponse.jobid;
$("body").everyTime(2000, addNetscalerLoadBalancerTimer, function() {
var addNetscalerLoadBalancerIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobid=" + json.addnetscalerloadbalancerresponse.jobid),
dataType: "json",
@ -2137,7 +2155,8 @@
return;
}
else {
$("body").stopTime(addNetscalerLoadBalancerTimer);
clearInterval(addNetscalerLoadBalancerIntervalID);
if(result.jobstatus == 1) {
args.data.returnedNetscalerProvider.returnedNetscalerloadbalancer = result.jobresult.netscalerloadbalancer;
@ -2145,9 +2164,7 @@
url: createURL("updateNetworkServiceProvider&state=Enabled&id=" + args.data.returnedNetscalerProvider.id),
dataType: "json",
success: function(json) {
var updateNetworkServiceProviderTimer = "asyncJob_" + json.updatenetworkserviceproviderresponse.jobid;
$("body").everyTime(2000, updateNetworkServiceProviderTimer, function() {
var enableNetscalerProviderIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobid=" + json.updatenetworkserviceproviderresponse.jobid),
dataType: "json",
@ -2157,7 +2174,8 @@
return;
}
else {
$("body").stopTime(updateNetworkServiceProviderTimer);
clearInterval(enableNetscalerProviderIntervalID);
if(result.jobstatus == 1) {
stepFns.addGuestNetwork({
data: args.data
@ -2169,7 +2187,7 @@
}
}
});
});
}, 3000);
},
error: function(XMLHttpResponse) {
var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
@ -2183,7 +2201,7 @@
}
}
});
});
}, 3000);
},
error: function(XMLHttpResponse) {
var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
@ -2425,6 +2443,13 @@
},
configureGuestTraffic: function(args) {
if(skipGuestTrafficStep == true) {
stepFns.addCluster({
data: args.data
});
return;
}
message(dictionary['message.configuring.guest.traffic']);
if(args.data.returnedZone.networktype == "Basic") { //create an VlanIpRange for guest network in basic zone
@ -2489,8 +2514,7 @@
dataType: "json",
success: function(json) {
var jobId = json.updatephysicalnetworkresponse.jobid;
var timerKey = "asyncJob_" + jobId;
$("body").everyTime(2000, timerKey, function(){
var updatePhysicalNetworkVlanIntervalID = setInterval(function() {
$.ajax({
url: createURL("queryAsyncJobResult&jobid=" + jobId),
dataType: "json",
@ -2500,7 +2524,8 @@
return;
}
else {
$("body").stopTime(timerKey);
clearInterval(updatePhysicalNetworkVlanIntervalID);
if(result.jobstatus == 1) {
updatedCount++;
if(updatedCount == physicalNetworksHavingGuestIncludingVlan.length) {
@ -2519,7 +2544,7 @@
error('configureGuestTraffic', errorMsg, { fn: 'configureGuestTraffic', args: args });
}
});
});
}, 3000);
}
});
});