mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
cloudStack 3.0 new UI - NaaS
This commit is contained in:
parent
e62ce165f5
commit
d7edcd6957
@ -839,7 +839,7 @@
|
||||
},
|
||||
dataProvider: function(args) {
|
||||
$.ajax({
|
||||
url: createURL("listNetworkOfferings&guestiptype=Virtual&page=" + args.page + "&pagesize=" + pageSize),
|
||||
url: createURL("listNetworkOfferings&guestiptype=Isolated&supportedServices=sourceNat&page=" + args.page + "&pagesize=" + pageSize),
|
||||
dataType: "json",
|
||||
async: true,
|
||||
success: function(json) {
|
||||
|
||||
@ -266,15 +266,19 @@
|
||||
if(selectedZoneObj.securitygroupsenabled == false) {
|
||||
if (networks != null && networks.length > 0) {
|
||||
for (var i = 0; i < networks.length; i++) {
|
||||
if (networks[i].type == 'Virtual') {
|
||||
virtualNetwork = networks[i];
|
||||
break;
|
||||
if (networks[i].type == 'Isolated') {
|
||||
//loop through
|
||||
var sourceNatObj = ipFindNetworkServiceByName("SourceNat", networkObj);
|
||||
if(sourceNatObj != null) {
|
||||
virtualNetwork = networks[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (virtualNetwork == null) { //if there is no virtualNetwork
|
||||
if (virtualNetwork == null) { //if there is no isolatedNetwork
|
||||
$.ajax({
|
||||
url: createURL("listNetworkOfferings&guestiptype=Virtual"), //check DefaultVirtualizedNetworkOffering
|
||||
url: createURL("listNetworkOfferings&guestiptype=Isolated&supportedServices=sourceNat&state=Enabled"), //check networkOffering for isolatedNetwork
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
@ -284,9 +288,9 @@
|
||||
if (networkOfferings[i].isdefault == true
|
||||
&& (networkOfferings[i].availability == "Required" || networkOfferings[i].availability == "Optional")
|
||||
) {
|
||||
// Create a virtual network
|
||||
var networkName = "Virtual Network";
|
||||
var networkDesc = "A dedicated virtualized network for your account. The broadcast domain is contained within a VLAN and all public network access is routed out by a virtual router.";
|
||||
// Create a isolated network
|
||||
var networkName = "Isolated Network";
|
||||
var networkDesc = "A dedicated isolated network for your account. The broadcast domain is contained within a VLAN and all public network access is routed out by a virtual router.";
|
||||
$.ajax({
|
||||
url: createURL("createNetwork&networkOfferingId="+networkOfferings[i].id+"&name="+todb(networkName)+"&displayText="+todb(networkDesc)+"&zoneId="+args.currentData.zoneid),
|
||||
dataType: "json",
|
||||
|
||||
@ -283,6 +283,34 @@ cloudStack.converters = {
|
||||
}
|
||||
}
|
||||
|
||||
//find service object in network object
|
||||
function ipFindNetworkServiceByName(pName, networkObj) {
|
||||
if(networkObj == null)
|
||||
return null;
|
||||
if(networkObj.service != null) {
|
||||
for(var i=0; i<networkObj.service.length; i++) {
|
||||
var networkServiceObj = networkObj.service[i];
|
||||
if(networkServiceObj.name == pName)
|
||||
return networkServiceObj;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
//find capability object in service object in network object
|
||||
function ipFindCapabilityByName(pName, networkServiceObj) {
|
||||
if(networkServiceObj == null)
|
||||
return null;
|
||||
if(networkServiceObj.capability != null) {
|
||||
for(var i=0; i<networkServiceObj.capability.length; i++) {
|
||||
var capabilityObj = networkServiceObj.capability[i];
|
||||
if(capabilityObj.name == pName)
|
||||
return capabilityObj;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
//VM Instance
|
||||
function getVmName(p_vmName, p_vmDisplayname) {
|
||||
if(p_vmDisplayname == null)
|
||||
|
||||
@ -12,45 +12,117 @@
|
||||
'public': {
|
||||
detailView: {
|
||||
actions: {
|
||||
/*
|
||||
edit: {
|
||||
label: 'Edit network details',
|
||||
action: function(args) {
|
||||
args.response.success();
|
||||
}
|
||||
}
|
||||
*/
|
||||
},
|
||||
tabs: {
|
||||
details: {
|
||||
title: 'Details',
|
||||
title: 'Details',
|
||||
fields: [
|
||||
{
|
||||
name: { label: 'name' },
|
||||
displaytext: { label: 'displaytext' }
|
||||
networkofferingdisplaytext: { label: "Network offering description" }
|
||||
},
|
||||
{
|
||||
broadcastdomaintype: { label: 'broadcastdomaintype' },
|
||||
traffictype: { label: 'traffictype' },
|
||||
gateway: { label: 'gateway' },
|
||||
netmask: { label: 'netmask' },
|
||||
startip: { isEditable: true, label: 'startip' },
|
||||
endip: { isEditable: true, label: 'endip' },
|
||||
zoneid: { label: 'zoneid' },
|
||||
networkofferingid: { label: 'networkofferingid' },
|
||||
networkofferingname: { label: 'networkofferingname' },
|
||||
networkofferingdisplaytext: { label: 'networkofferingdisplaytext' },
|
||||
networkofferingavailability: { label: 'networkofferingavailability' },
|
||||
isshared: { label: 'isshared' },
|
||||
issystem: { label: 'issystem' },
|
||||
state: { label: 'state' },
|
||||
related: { label: 'related' },
|
||||
broadcasturi: { label: 'broadcasturi' },
|
||||
dns1: { label: 'dns1' },
|
||||
type: { label: 'type' }
|
||||
id: { label: "ID" },
|
||||
broadcastdomaintype: { label: 'Broadcast domain type' },
|
||||
traffictype: { label: 'Traffic type' },
|
||||
gateway: { label: 'Gateway' },
|
||||
netmask: { label: 'Netmask' },
|
||||
startip: { label: 'Start IP' },
|
||||
endip: { label: 'End IP' },
|
||||
zoneid: { label: 'Zone ID' },
|
||||
networkofferingid: { label: 'Network offering ID' },
|
||||
networkofferingname: { label: 'Network offering name' },
|
||||
networkofferingavailability: { label: 'network offering availability' },
|
||||
isshared: {
|
||||
label: 'Shared',
|
||||
converter: cloudStack.converters.toBooleanText
|
||||
},
|
||||
issystem: {
|
||||
label: 'System',
|
||||
converter: cloudStack.converters.toBooleanText
|
||||
},
|
||||
isdefault: {
|
||||
label: 'Default',
|
||||
converter: cloudStack.converters.toBooleanText
|
||||
},
|
||||
securitygroupenabled: {
|
||||
label: 'Security group enabled',
|
||||
converter: cloudStack.converters.toBooleanText
|
||||
},
|
||||
state: { label: 'State' },
|
||||
related: { label: 'Related' },
|
||||
dns1: { label: 'DNS 1' },
|
||||
dns2: { label: 'DNS 2' },
|
||||
vlan: { label: 'VLAN' },
|
||||
domainid: { label: 'Domain ID' },
|
||||
account: { label: 'Account' }
|
||||
}
|
||||
],
|
||||
dataProvider: function(args) {
|
||||
args.response.success({ data: testData.data.networks[0] });
|
||||
}
|
||||
|
||||
//???
|
||||
dataProvider: function(args) {
|
||||
debugger;
|
||||
var showPublicNetwork = true;
|
||||
var zoneObj = args.context.zones[0];
|
||||
if(zoneObj.networktype == "Basic") {
|
||||
//$("#add_network_button").hide();
|
||||
$.ajax({
|
||||
url: createURL("listExternalFirewalls&zoneid=" + zoneObj.id),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var items = json.listexternalfirewallsresponse.externalfirewall;
|
||||
if(items != null && items.length > 0) {
|
||||
showPublicNetwork = true;
|
||||
//$("#add_iprange_button,#tab_ipallocation").show();
|
||||
}
|
||||
else {
|
||||
showPublicNetwork = false;
|
||||
//$("#add_iprange_button,#tab_ipallocation").hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
else { // Advanced zone
|
||||
showPublicNetwork = true;
|
||||
//$("#add_network_button,#add_iprange_button,#tab_ipallocation").show();
|
||||
//listMidMenuItems2(("listNetworks&type=Direct&zoneId="+zoneObj.id), networkGetSearchParams, "listnetworksresponse", "network", directNetworkToMidmenu, directNetworkToRightPanel, directNetworkGetMidmenuId, false, 1);
|
||||
}
|
||||
|
||||
if(showPublicNetwork == true && zoneObj.securitygroupsenabled == false) { //public network
|
||||
$.ajax({
|
||||
url: createURL("listNetworks&trafficType=Public&isSystem=true&zoneId="+zoneObj.id),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var items = json.listnetworksresponse.network;
|
||||
args.response.success({data: items});
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (showPublicNetwork == true && zoneObj.securitygroupsenabled == true){
|
||||
$.ajax({
|
||||
url: createURL("listNetworks&type=Direct&trafficType=Guest&isSystem=true&zoneId="+zoneObj.id),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var items = json.listnetworksresponse.network;
|
||||
args.response.success({data: items});
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
args.response.success({data: null});
|
||||
}
|
||||
}
|
||||
//???
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -74,16 +146,60 @@
|
||||
},
|
||||
'guest': {
|
||||
detailView: {
|
||||
actions: {
|
||||
edit: {
|
||||
label: 'Edit',
|
||||
action: function(args) {
|
||||
$.ajax({
|
||||
url: createURL("updatePhysicalNetwork&id=" + args.context.guest[0].id + "&state=Enabled&vlan=" + args.data.vlan),
|
||||
dataType: "json",
|
||||
success: function(json) {
|
||||
var item = json.updatephysicalnetworkresponse.physicalnetwork;
|
||||
args.response.success({data: item});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
tabs: {
|
||||
details: {
|
||||
title: 'Details',
|
||||
fields: [
|
||||
{
|
||||
name: { label: 'Name' }
|
||||
},
|
||||
{
|
||||
id: { label: 'ID' },
|
||||
state: { label: 'State' },
|
||||
vlan: {
|
||||
label: 'VLAN',
|
||||
isEditable: true
|
||||
},
|
||||
broadcastdomainrange: { label: 'Broadcast domain range' },
|
||||
zoneid: { label: 'Zone ID' },
|
||||
guestcidraddress: { label: 'CIDR' }
|
||||
}
|
||||
],
|
||||
dataProvider: function(args) {
|
||||
args.response.success({ data: testData.data.networks[0] });
|
||||
dataProvider: function(args) {
|
||||
//var zoneId = args.context.zones[0].id;
|
||||
var zoneId = 1; //hardcode it until Brian fixes the bug.
|
||||
|
||||
var physicalNetworkObj = [];
|
||||
$.ajax({
|
||||
url: createURL("listPhysicalNetworks&zoneId=" + zoneId),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var items = json.listphysicalnetworksresponse.physicalnetwork;
|
||||
physicalNetworkObj = items[0];
|
||||
}
|
||||
});
|
||||
|
||||
//physicalNetworkObj["guestcidraddress"] = args.context.zones[0].guestcidraddress;
|
||||
physicalNetworkObj["guestcidraddress"] = "10.1.1.0/24"; //hardcode it until Brian fixes the bug.
|
||||
|
||||
args.response.success({data: physicalNetworkObj});
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -368,6 +484,7 @@
|
||||
else { //args.data["isolation-mode"] == "vlan"
|
||||
array1.push("&securitygroupenabled=false");
|
||||
|
||||
/*
|
||||
var vlanStart = args.data["vlan-range-start"];
|
||||
if(vlanStart != null && vlanStart.length > 0) {
|
||||
var vlanEnd = args.data["vlan-range-end"];
|
||||
@ -376,7 +493,8 @@
|
||||
else
|
||||
array1.push("&vlan=" + todb(vlanStart));
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
var guestcidraddress = args.data["guest-cidr"];
|
||||
if(guestcidraddress != null && guestcidraddress.length > 0) {
|
||||
array1.push("&guestcidraddress="+todb(guestcidraddress));
|
||||
@ -397,7 +515,107 @@
|
||||
args.response.success({data:item});
|
||||
|
||||
zoneId = item.id;
|
||||
//$("#leftmenu_security_group_container").show();
|
||||
|
||||
//???
|
||||
var physicalNetworkId;
|
||||
$.ajax({
|
||||
url: createURL("listPhysicalNetworks&zoneId=" + zoneId),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var items = json.listphysicalnetworksresponse.physicalnetwork;
|
||||
if(items != null && items.length > 0)
|
||||
physicalNetworkId = items[0].id
|
||||
}
|
||||
});
|
||||
|
||||
if(physicalNetworkId != null) {
|
||||
/*
|
||||
var array1 = [];
|
||||
var vlanStart = args.data["vlan-range-start"];
|
||||
if(vlanStart != null && vlanStart.length > 0) {
|
||||
var vlanEnd = args.data["vlan-range-end"];
|
||||
if (vlanEnd != null && vlanEnd.length > 0)
|
||||
array1.push("&vlan=" + todb(vlanStart + "-" + vlanEnd));
|
||||
else
|
||||
array1.push("&vlan=" + todb(vlanStart));
|
||||
}
|
||||
$.ajax({
|
||||
url: createURL("updatePhysicalNetwork&id=" + physicalNetworkId + "&state=Enabled" + array1.join("")),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var jid = json.updatephysicalnetworkresponse.jobid;
|
||||
$.ajax({
|
||||
url: createURL("queryAsyncJobResult&jobId=" + jid),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var result = json.queryasyncjobresultresponse;
|
||||
if (result.jobstatus == 0) {
|
||||
return; //Job has not completed
|
||||
} else {
|
||||
if (result.jobstatus == 1) { // Succeeded
|
||||
args.complete();
|
||||
}
|
||||
else if (result.jobstatus == 2) { // Failed
|
||||
args.error({message:result.jobresult.errortext});
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function(XMLHttpResponse) {
|
||||
args.error();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
*/
|
||||
|
||||
var networkServiceProviderId;
|
||||
$.ajax({
|
||||
url: createURL("listNetworkServiceProviders&physicalNetworkId=" + physicalNetworkId),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var items = json.listnetworkserviceprovidersresponse.networkserviceprovider;
|
||||
if(items != null && items.length > 0)
|
||||
networkServiceProviderId = items[0].id
|
||||
}
|
||||
});
|
||||
|
||||
if(networkServiceProviderId != null) {
|
||||
$.ajax({
|
||||
url: createURL("updateNetworkServiceProvider&id=" + networkServiceProviderId + "&state=Enabled"),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var jid = json.updatephysicalnetworkresponse.jobid;
|
||||
$.ajax({
|
||||
url: createURL("queryAsyncJobResult&jobId=" + jid),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var result = json.queryasyncjobresultresponse;
|
||||
if (result.jobstatus == 0) {
|
||||
return; //Job has not completed
|
||||
} else {
|
||||
if (result.jobstatus == 1) { // Succeeded
|
||||
args.complete();
|
||||
}
|
||||
else if (result.jobstatus == 2) { // Failed
|
||||
args.error({message:result.jobresult.errortext});
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function(XMLHttpResponse) {
|
||||
args.error();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
//???
|
||||
|
||||
$.ajax({
|
||||
url: createURL("listCapabilities"),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user