From e50842557ce2f51a3dbccea24876f9a41623edf5 Mon Sep 17 00:00:00 2001 From: will Date: Fri, 3 Dec 2010 17:26:21 -0800 Subject: [PATCH] Finalized changed to enable Virtual Networking in new network model. --- client/tomcatconf/commands.properties.in | 4 +- ui/scripts/cloud.core.instance.js | 116 +++++++++++------------ 2 files changed, 56 insertions(+), 64 deletions(-) diff --git a/client/tomcatconf/commands.properties.in b/client/tomcatconf/commands.properties.in index 709d78b795b..9ba071ca1ef 100755 --- a/client/tomcatconf/commands.properties.in +++ b/client/tomcatconf/commands.properties.in @@ -237,6 +237,6 @@ deleteNetworkOffering=com.cloud.api.commands.DeleteNetworkOfferingCmd;1 listNetworkOfferings=com.cloud.api.commands.ListNetworkOfferingsCmd;15 #### network commands -createNetwork=com.cloud.api.commands.CreateNetworkCmd;1 -deleteNetwork=com.cloud.api.commands.DeleteNetworkCmd;1 +createNetwork=com.cloud.api.commands.CreateNetworkCmd;15 +deleteNetwork=com.cloud.api.commands.DeleteNetworkCmd;15 listNetworks=com.cloud.api.commands.ListNetworksCmd;15 \ No newline at end of file diff --git a/ui/scripts/cloud.core.instance.js b/ui/scripts/cloud.core.instance.js index 311fbae4f9b..60e07b3c3aa 100644 --- a/ui/scripts/cloud.core.instance.js +++ b/ui/scripts/cloud.core.instance.js @@ -481,49 +481,7 @@ function initVMWizard() { $rootDiskOfferingContainer.html(html_all); //***** root disk offering: "custom", existing disk offerings in database (end) ********************************************************************* } - }); - - // Setup networks - $.ajax({ - data: createURL("command=listNetworks"), - dataType: "json", - async: false, - success: function(json) { - var networks = json.listnetworksresponse.network; - var virtualNetwork = null; - if (networks != null && networks.length > 0) { - for (var i = 0; i < networks.length; i++) { - if (networks[i].type == 'Virtualized') { - virtualNetwork = network[i]; - } - } - } - var $virtualNetworkElement = $("#vm_popup #network_virtual_container"); - - if (virtualNetwork == null) { - $virtualNetworkElement.data("isNetwork", false); - $.ajax({ - data: createURL("command=listNetworkOfferings"), - dataType: "json", - async: false, - success: function(json) { - var networkOfferings = json.listnetworkofferingsresponse.networkoffering; - if (networkOfferings != null && networkOfferings.length > 0) { - for (var i = 0; i < networkOfferings.length; i++) { - if (networkOfferings[i].type == "Virtualized" && networkOfferings[i].isdefault) { - $virtualNetworkElement.data("id", networkOfferings[i].id); - } - } - } - } - }); - } else { - $virtualNetworkElement.data("isNetwork", true).data("id", virtualNetwork.id); - //$virtualNetworkElement.find("#network_virtual_name").text(virtualNetwork.name); - //$virtualNetworkElement.find("#network_virtual_desc").text(virtualNetwork.displaytext); - } - } - }); + }); $vmPopup.find("#wizard_service_offering").click(); return false; @@ -875,26 +833,60 @@ function initVMWizard() { } if (currentStepInVmPopup == 4) { //network - var $virtualNetworkElement = $("#vm_popup #network_virtual_container"); - var isVirtualNetwork = $virtualNetworkElement.data("isNetwork"); + // Setup networks + // hardcoded text for now + var networkName = "Virtual Network"; + var networkDesc = "A dedicated virtualized network for your account. The broadcast domain is contrained within a VLAN and all public network access is routed out by a virtual router."; - if (!isVirtualNetwork) { - // hardcoded text for now - var networkName = "Virtual Network"; - var networkDesc = "A dedicated virtualized network for your account. The broadcast domain is contrained within a VLAN and all public network access is routed out by a virtual router."; - var id = $virtualNetworkElement.data("id"); - // Create a network from this. - $.ajax({ - data: createURL("command=createNetwork&networkOfferingId="+id+"&name="+todb(networkName)+"&displayText="+todb(networkDesc)+"&zoneId="+$thisPopup.find("#wizard_zone").val()), - dataType: "json", - async: false, - success: function(json) { - var network = json.createnetworkresponse.network; - $virtualNetworkElement.data("id", network.id); - $thisPopup.find("#wizard_review_network").text(networkName); + $.ajax({ + data: createURL("command=listNetworks&domainid="+g_domainid+"&account="+g_account+"&zoneId="+$thisPopup.find("#wizard_zone").val()), + dataType: "json", + async: false, + success: function(json) { + var networks = json.listnetworksresponse.network; + var virtualNetwork = null; + if (networks != null && networks.length > 0) { + for (var i = 0; i < networks.length; i++) { + if (networks[i].type == 'Virtualized') { + virtualNetwork = networks[i]; + } + } } - }); - } + var $virtualNetworkElement = $("#vm_popup #network_virtual_container"); + + if (virtualNetwork == null) { + $.ajax({ + data: createURL("command=listNetworkOfferings"), + dataType: "json", + async: false, + success: function(json) { + var networkOfferings = json.listnetworkofferingsresponse.networkoffering; + if (networkOfferings != null && networkOfferings.length > 0) { + for (var i = 0; i < networkOfferings.length; i++) { + if (networkOfferings[i].type == "Virtualized" && networkOfferings[i].isdefault) { + // Create a network from this. + $.ajax({ + data: createURL("command=createNetwork&networkOfferingId="+networkOfferings[i].id+"&name="+todb(networkName)+"&displayText="+todb(networkDesc)+"&zoneId="+$thisPopup.find("#wizard_zone").val()), + dataType: "json", + async: false, + success: function(json) { + var network = json.createnetworkresponse.network; + $virtualNetworkElement.data("id", network.id); + } + }); + } + } + } + } + }); + } else { + $virtualNetworkElement.data("id", virtualNetwork.id); + //$virtualNetworkElement.find("#network_virtual_name").text(virtualNetwork.name); + //$virtualNetworkElement.find("#network_virtual_desc").text(virtualNetwork.displaytext); + } + } + }); + $thisPopup.find("#wizard_review_network").text(networkName); } if (currentStepInVmPopup == 5) { //last step @@ -912,7 +904,7 @@ function initVMWizard() { moreCriteria.push("&hypervisor="+$selectedVmWizardTemplate.data("hypervisor")); moreCriteria.push("&templateId="+$selectedVmWizardTemplate.data("templateId")); moreCriteria.push("&serviceOfferingId="+$thisPopup.find("input:radio[name=service_offering_radio]:checked").val()); - moreCriteria.push("$network="+$thisPopup.find("#network_virtual_container").data("id")); + moreCriteria.push("&networkIds="+$thisPopup.find("#network_virtual_container").data("id")); var diskOfferingId, $diskOfferingElement; if ($thisPopup.find("#wiz_blank").hasClass("rev_wizmid_selectedtempbut")) { //ISO