mirror of https://github.com/apache/cloudstack.git
bug 12490
-Fix item refresh when adding new provider devices -Fix missing add actions for all provider devices status 12490: resolved fixed
This commit is contained in:
parent
4ca85a9f6c
commit
d550b6bb66
|
|
@ -1960,8 +1960,8 @@
|
|||
else {
|
||||
$("body").stopTime(timerKey);
|
||||
if (result.jobstatus == 1) {
|
||||
nspMap["netscaler"] = result.jobresult.networkserviceprovider;
|
||||
addExternalLoadBalancer(args, selectedPhysicalNetworkObj, "addNetscalerLoadBalancer", "addnetscalerloadbalancerresponse");
|
||||
nspMap["netscaler"] = result.jobresult.networkserviceprovider;
|
||||
addExternalLoadBalancer(args, selectedPhysicalNetworkObj, "addNetscalerLoadBalancer", "addnetscalerloadbalancerresponse", "netscalerloadbalancer");
|
||||
}
|
||||
else if (result.jobstatus == 2) {
|
||||
alert("addNetworkServiceProvider&name=Netscaler failed. Error: " + fromdb(result.jobresult.errortext));
|
||||
|
|
@ -1978,7 +1978,7 @@
|
|||
});
|
||||
}
|
||||
else {
|
||||
addExternalLoadBalancer(args, selectedPhysicalNetworkObj, "addNetscalerLoadBalancer", "addnetscalerloadbalancerresponse");
|
||||
addExternalLoadBalancer(args, selectedPhysicalNetworkObj, "addNetscalerLoadBalancer", "addnetscalerloadbalancerresponse", "netscalerloadbalancer");
|
||||
}
|
||||
},
|
||||
messages: {
|
||||
|
|
@ -2413,7 +2413,7 @@
|
|||
$("body").stopTime(timerKey);
|
||||
if (result.jobstatus == 1) {
|
||||
nspMap["srx"] = json.queryasyncjobresultresponse.jobresult.networkserviceprovider;
|
||||
addExternalFirewall(args, selectedPhysicalNetworkObj, "addSrxFirewall", "addsrxfirewallresponse");
|
||||
addExternalFirewall(args, selectedPhysicalNetworkObj, "addSrxFirewall", "addsrxfirewallresponse", "srxfirewall");
|
||||
}
|
||||
else if (result.jobstatus == 2) {
|
||||
alert("addNetworkServiceProvider&name=JuniperSRX failed. Error: " + fromdb(result.jobresult.errortext));
|
||||
|
|
@ -2430,7 +2430,7 @@
|
|||
});
|
||||
}
|
||||
else {
|
||||
addExternalFirewall(args, selectedPhysicalNetworkObj, "addSrxFirewall", "addsrxfirewallresponse");
|
||||
addExternalFirewall(args, selectedPhysicalNetworkObj, "addSrxFirewall", "addsrxfirewallresponse", "srxfirewall");
|
||||
}
|
||||
},
|
||||
messages: {
|
||||
|
|
@ -3294,6 +3294,114 @@
|
|||
}
|
||||
});
|
||||
},
|
||||
actions: {
|
||||
add: {
|
||||
label: 'Add new NetScaler',
|
||||
createForm: {
|
||||
title: 'Add new NetScaler',
|
||||
fields: {
|
||||
ip: {
|
||||
label: 'IP address'
|
||||
},
|
||||
username: {
|
||||
label: 'Username'
|
||||
},
|
||||
password: {
|
||||
label: 'Password',
|
||||
isPassword: true
|
||||
},
|
||||
networkdevicetype: {
|
||||
label: '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});
|
||||
}
|
||||
},
|
||||
publicinterface: {
|
||||
label: 'Public interface'
|
||||
},
|
||||
privateinterface: {
|
||||
label: 'Private interface'
|
||||
},
|
||||
numretries: {
|
||||
label: 'Number of retries',
|
||||
defaultValue: '2'
|
||||
},
|
||||
inline: {
|
||||
label: 'Mode',
|
||||
select: function(args) {
|
||||
var items = [];
|
||||
items.push({id: "false", description: "side by side"});
|
||||
items.push({id: "true", description: "inline"});
|
||||
args.response.success({data: items});
|
||||
}
|
||||
},
|
||||
capacity: {
|
||||
label: 'Capacity',
|
||||
validation: { required: false, number: true }
|
||||
},
|
||||
dedicated: {
|
||||
label: 'Dedicated',
|
||||
isBoolean: true,
|
||||
isChecked: false
|
||||
}
|
||||
}
|
||||
},
|
||||
action: function(args) {
|
||||
if(nspMap["netscaler"] == null) {
|
||||
$.ajax({
|
||||
url: createURL("addNetworkServiceProvider&name=Netscaler&physicalnetworkid=" + selectedPhysicalNetworkObj.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) {
|
||||
nspMap["netscaler"] = result.jobresult.networkserviceprovider;
|
||||
addExternalLoadBalancer(args, selectedPhysicalNetworkObj, "addNetscalerLoadBalancer", "addnetscalerloadbalancerresponse", "netscalerloadbalancer");
|
||||
}
|
||||
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 {
|
||||
addExternalLoadBalancer(args, selectedPhysicalNetworkObj, "addNetscalerLoadBalancer", "addnetscalerloadbalancerresponse", "netscalerloadbalancer");
|
||||
}
|
||||
},
|
||||
messages: {
|
||||
notification: function(args) {
|
||||
return 'Added new NetScaler';
|
||||
}
|
||||
},
|
||||
notification: {
|
||||
poll: pollAsyncJobResult
|
||||
}
|
||||
}
|
||||
},
|
||||
detailView: {
|
||||
name: 'NetScaler details',
|
||||
actions: {
|
||||
|
|
@ -3376,6 +3484,112 @@
|
|||
ipaddress: { label: 'IP Address' },
|
||||
lbdevicestate: { label: 'Status' }
|
||||
},
|
||||
actions: {
|
||||
add: {
|
||||
label: 'Add new F5',
|
||||
createForm: {
|
||||
title: 'Add F5',
|
||||
fields: {
|
||||
ip: {
|
||||
label: 'IP address'
|
||||
},
|
||||
username: {
|
||||
label: 'Username'
|
||||
},
|
||||
password: {
|
||||
label: 'Password',
|
||||
isPassword: true
|
||||
},
|
||||
networkdevicetype: {
|
||||
label: 'Type',
|
||||
select: function(args) {
|
||||
var items = [];
|
||||
items.push({id: "F5BigIpLoadBalancer", description: "F5 Big Ip Load Balancer"});
|
||||
args.response.success({data: items});
|
||||
}
|
||||
},
|
||||
publicinterface: {
|
||||
label: 'Public interface'
|
||||
},
|
||||
privateinterface: {
|
||||
label: 'Private interface'
|
||||
},
|
||||
numretries: {
|
||||
label: 'Number of retries',
|
||||
defaultValue: '2'
|
||||
},
|
||||
inline: {
|
||||
label: 'Mode',
|
||||
select: function(args) {
|
||||
var items = [];
|
||||
items.push({id: "false", description: "side by side"});
|
||||
items.push({id: "true", description: "inline"});
|
||||
args.response.success({data: items});
|
||||
}
|
||||
},
|
||||
capacity: {
|
||||
label: 'Capacity',
|
||||
validation: { required: false, number: true }
|
||||
},
|
||||
dedicated: {
|
||||
label: 'Dedicated',
|
||||
isBoolean: true,
|
||||
isChecked: false
|
||||
}
|
||||
}
|
||||
},
|
||||
action: function(args) {
|
||||
if(nspMap["f5"] == null) {
|
||||
$.ajax({
|
||||
url: createURL("addNetworkServiceProvider&name=F5BigIp&physicalnetworkid=" + selectedPhysicalNetworkObj.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) {
|
||||
nspMap["f5"] = json.queryasyncjobresultresponse.jobresult.networkserviceprovider;
|
||||
addExternalLoadBalancer(args, selectedPhysicalNetworkObj, "addF5LoadBalancer", "addf5bigiploadbalancerresponse", "f5loadbalancer");
|
||||
}
|
||||
else if (result.jobstatus == 2) {
|
||||
alert("addNetworkServiceProvider&name=F5BigIp failed. Error: " + fromdb(result.jobresult.errortext));
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function(XMLHttpResponse) {
|
||||
var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
|
||||
alert("addNetworkServiceProvider&name=F5BigIpfailed. Error: " + errorMsg);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
addExternalLoadBalancer(args, selectedPhysicalNetworkObj, "addF5LoadBalancer", "addf5bigiploadbalancerresponse", "f5loadbalancer");
|
||||
}
|
||||
},
|
||||
messages: {
|
||||
notification: function(args) {
|
||||
return 'Added new F5';
|
||||
}
|
||||
},
|
||||
notification: {
|
||||
poll: pollAsyncJobResult
|
||||
}
|
||||
}
|
||||
},
|
||||
dataProvider: function(args) {
|
||||
$.ajax({
|
||||
url: createURL("listF5LoadBalancers&physicalnetworkid=" + selectedPhysicalNetworkObj.id),
|
||||
|
|
@ -3469,6 +3683,127 @@
|
|||
ipaddress: { label: 'IP Address' },
|
||||
lbdevicestate: { label: 'Status' }
|
||||
},
|
||||
actions: {
|
||||
add: {
|
||||
label: 'Add new SRX',
|
||||
createForm: {
|
||||
title: 'Add new SRX',
|
||||
fields: {
|
||||
ip: {
|
||||
label: 'IP address'
|
||||
},
|
||||
username: {
|
||||
label: 'Username'
|
||||
},
|
||||
password: {
|
||||
label: 'Password',
|
||||
isPassword: true
|
||||
},
|
||||
networkdevicetype: {
|
||||
label: 'Type',
|
||||
select: function(args) {
|
||||
var items = [];
|
||||
items.push({id: "JuniperSRXFirewall", description: "Juniper SRX Firewall"});
|
||||
args.response.success({data: items});
|
||||
}
|
||||
},
|
||||
publicinterface: {
|
||||
label: 'Public interface'
|
||||
},
|
||||
privateinterface: {
|
||||
label: 'Private interface'
|
||||
},
|
||||
usageinterface: {
|
||||
label: 'Usage interface'
|
||||
},
|
||||
numretries: {
|
||||
label: 'Number of retries',
|
||||
defaultValue: '2'
|
||||
},
|
||||
timeout: {
|
||||
label: 'Timeout',
|
||||
defaultValue: '300'
|
||||
},
|
||||
inline: {
|
||||
label: 'Mode',
|
||||
select: function(args) {
|
||||
var items = [];
|
||||
items.push({id: "false", description: "side by side"});
|
||||
items.push({id: "true", description: "inline"});
|
||||
args.response.success({data: items});
|
||||
}
|
||||
},
|
||||
publicnetwork: {
|
||||
label: 'Public network',
|
||||
defaultValue: 'untrusted'
|
||||
},
|
||||
privatenetwork: {
|
||||
label: 'Private network',
|
||||
defaultValue: 'trusted'
|
||||
},
|
||||
capacity: {
|
||||
label: 'Capacity',
|
||||
validation: { required: false, number: true }
|
||||
},
|
||||
dedicated: {
|
||||
label: 'Dedicated',
|
||||
isBoolean: true,
|
||||
isChecked: false
|
||||
}
|
||||
}
|
||||
},
|
||||
action: function(args) {
|
||||
if(nspMap["srx"] == null) {
|
||||
$.ajax({
|
||||
url: createURL("addNetworkServiceProvider&name=JuniperSRX&physicalnetworkid=" + selectedPhysicalNetworkObj.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) {
|
||||
nspMap["srx"] = json.queryasyncjobresultresponse.jobresult.networkserviceprovider;
|
||||
addExternalFirewall(args, selectedPhysicalNetworkObj, "addSrxFirewall", "addsrxfirewallresponse", "srxfirewall");
|
||||
}
|
||||
else if (result.jobstatus == 2) {
|
||||
alert("addNetworkServiceProvider&name=JuniperSRX failed. Error: " + fromdb(result.jobresult.errortext));
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function(XMLHttpResponse) {
|
||||
var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
|
||||
alert("addNetworkServiceProvider&name=JuniperSRX failed. Error: " + errorMsg);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
addExternalFirewall(args, selectedPhysicalNetworkObj, "addSrxFirewall", "addsrxfirewallresponse", "srxfirewall");
|
||||
}
|
||||
},
|
||||
messages: {
|
||||
notification: function(args) {
|
||||
return 'Added new SRX';
|
||||
}
|
||||
},
|
||||
notification: {
|
||||
poll: pollAsyncJobResult
|
||||
}
|
||||
}
|
||||
},
|
||||
dataProvider: function(args) {
|
||||
$.ajax({
|
||||
url: createURL("listSrxFirewalls&physicalnetworkid=" + selectedPhysicalNetworkObj.id),
|
||||
|
|
@ -7808,7 +8143,7 @@
|
|||
return url;
|
||||
}
|
||||
|
||||
function addExternalLoadBalancer(args, physicalNetworkObj, apiCmd, apiCmdRes) {
|
||||
function addExternalLoadBalancer(args, physicalNetworkObj, apiCmd, apiCmdRes, apiCmdObj) {
|
||||
var array1 = [];
|
||||
array1.push("&physicalnetworkid=" + physicalNetworkObj.id);
|
||||
array1.push("&username=" + todb(args.data.username));
|
||||
|
|
@ -7906,8 +8241,9 @@
|
|||
{_custom:
|
||||
{jobId: jid,
|
||||
getUpdatedItem: function(json) {
|
||||
var item = json.queryasyncjobresultresponse.jobresult.loadbalancer;
|
||||
return {data: item};
|
||||
var item = json.queryasyncjobresultresponse.jobresult[apiCmdObj];
|
||||
|
||||
return item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7916,7 +8252,7 @@
|
|||
});
|
||||
}
|
||||
|
||||
function addExternalFirewall(args, physicalNetworkObj, apiCmd, apiCmdRes){
|
||||
function addExternalFirewall(args, physicalNetworkObj, apiCmd, apiCmdRes, apiCmdObj){
|
||||
var array1 = [];
|
||||
array1.push("&physicalnetworkid=" + physicalNetworkObj.id);
|
||||
array1.push("&username=" + todb(args.data.username));
|
||||
|
|
@ -8061,8 +8397,9 @@
|
|||
{_custom:
|
||||
{jobId: jid,
|
||||
getUpdatedItem: function(json) {
|
||||
var item = json.queryasyncjobresultresponse.jobresult.firewall;
|
||||
return {data: item};
|
||||
var item = json.queryasyncjobresultresponse.jobresult[apiCmdObj];
|
||||
|
||||
return item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue