mirror of https://github.com/apache/cloudstack.git
cloudStack 3.0 new UI - NaaS - implement Add NetScaler.
This commit is contained in:
parent
d0cdc451db
commit
2474448142
|
|
@ -860,35 +860,132 @@
|
|||
name: { label: 'Name' },
|
||||
ipaddress: { label: 'IP Address' },
|
||||
state: { label: 'Status' }
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
add: {
|
||||
label: 'Add new NetScaler',
|
||||
createForm: {
|
||||
title: 'Add NetScaler Device',
|
||||
desc: 'Please enter your NetScaler device\'s information to add it to your network.',
|
||||
title: 'Add new NetScaler',
|
||||
fields: {
|
||||
name: {
|
||||
label: 'Name',
|
||||
validation: { required: true }
|
||||
url: {
|
||||
label: 'URL'
|
||||
},
|
||||
ipaddress: {
|
||||
label: 'IP Address',
|
||||
validation: { required: true }
|
||||
username: {
|
||||
label: 'Username'
|
||||
},
|
||||
supportedServices: {
|
||||
label: 'Supported Services',
|
||||
isBoolean: true,
|
||||
multiArray: {
|
||||
serviceA: { label: 'Service A' },
|
||||
serviceB: { label: 'Service B' },
|
||||
serviceC: { label: 'Service C' }
|
||||
password: {
|
||||
label: 'Password',
|
||||
isPassword: true
|
||||
},
|
||||
networkdevicetype: {
|
||||
label: 'Network device type',
|
||||
select: function(args) {
|
||||
var items = [];
|
||||
items.push({id: "NetscalerMPXLoadBalancer", description: "NetScaler MPX LoadBalancer"});
|
||||
items.push({id: "NetscalerVPXLoadBalancer", description: "NetScaler VPX LoadBalancer"});
|
||||
items.push({id: "NetscalerSDXLoadBalancer", description: "NetScaler SDX LoadBalancer"});
|
||||
args.response.success({data: items});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
action: function(args) {
|
||||
args.response.success();
|
||||
action: function(args) {
|
||||
var zoneObj = args.context.zones[0];
|
||||
var physicalNetworkObj;
|
||||
$.ajax({
|
||||
url: createURL("listPhysicalNetworks&zoneId=" + zoneObj.id),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var items = json.listphysicalnetworksresponse.physicalnetwork;
|
||||
physicalNetworkObj = items[0];
|
||||
}
|
||||
});
|
||||
|
||||
if(naasStatusMap["netscaler"] == "disabled") {
|
||||
$.ajax({
|
||||
url: createURL("addNetworkServiceProvider&name=Netscaler&physicalnetworkid=" + physicalNetworkObj.id),
|
||||
dataType: "json",
|
||||
async: true,
|
||||
success: function(json) {
|
||||
var jobId = json.addnetworkserviceproviderresponse.jobid;
|
||||
var timerKey = "addNetworkServiceProviderJob_"+jobId;
|
||||
$("body").everyTime(2000, timerKey, function() {
|
||||
$.ajax({
|
||||
url: createURL("queryAsyncJobResult&jobId="+jobId),
|
||||
dataType: "json",
|
||||
success: function(json) {
|
||||
var result = json.queryasyncjobresultresponse;
|
||||
if (result.jobstatus == 0) {
|
||||
return; //Job has not completed
|
||||
}
|
||||
else {
|
||||
$("body").stopTime(timerKey);
|
||||
if (result.jobstatus == 1) {
|
||||
//alert("addNetworkServiceProvider&name=Netscaler succeeded.");
|
||||
var array1 = [];
|
||||
array1.push("&physicalnetworkid=" + physicalNetworkObj.id)
|
||||
array1.push("&url=" + todb(args.data.url));
|
||||
array1.push("&username=" + todb(args.data.username));
|
||||
array1.push("&password=" + todb(args.data.password));
|
||||
array1.push("&networkdevicetype=" + todb(args.data.networkdevicetype));
|
||||
$.ajax({
|
||||
url: createURL("addNetscalerLoadBalancer" + array1.join("")),
|
||||
dataType: "json",
|
||||
success: function(json) {
|
||||
var jid = json.addnetscalerloadbalancerresponse.jobid;
|
||||
args.response.success(
|
||||
{_custom:
|
||||
{jobId: jid,
|
||||
getUpdatedItem: function(json) {
|
||||
var item = json.queryasyncjobresultresponse.jobresult.loadbalancer;
|
||||
return {data: item};
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (result.jobstatus == 2) {
|
||||
alert("addNetworkServiceProvider&name=Netscaler failed. Error: " + fromdb(result.jobresult.errortext));
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function(XMLHttpResponse) {
|
||||
var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
|
||||
alert("addNetworkServiceProvider&name=Netscaler failed. Error: " + errorMsg);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
else { //naasStatusMap["netscaler"] == "enabled"
|
||||
var array1 = [];
|
||||
array1.push("&physicalnetworkid=" + physicalNetworkObj.id)
|
||||
array1.push("&url=" + todb(args.data.url));
|
||||
array1.push("&username=" + todb(args.data.username));
|
||||
array1.push("&password=" + todb(args.data.password));
|
||||
array1.push("&networkdevicetype=" + todb(args.data.networkdevicetype));
|
||||
$.ajax({
|
||||
url: createURL("addNetscalerLoadBalancer" + array1.join("")),
|
||||
dataType: "json",
|
||||
success: function(json) {
|
||||
var jid = json.addnetscalerloadbalancerresponse.jobid;
|
||||
args.response.success(
|
||||
{_custom:
|
||||
{jobId: jid,
|
||||
getUpdatedItem: function(json) {
|
||||
var item = json.queryasyncjobresultresponse.jobresult.loadbalancer;
|
||||
return {data: item};
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
messages: {
|
||||
notification: function(args) {
|
||||
|
|
@ -896,10 +993,10 @@
|
|||
}
|
||||
},
|
||||
notification: {
|
||||
poll: testData.notifications.testPoll
|
||||
poll: pollAsyncJobResult
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
dataProvider: function(args) {
|
||||
setTimeout(function() {
|
||||
args.response.success({
|
||||
|
|
|
|||
Loading…
Reference in New Issue