cloudStack - Elastic Load Balancer - (1) After a zone is created, call listCapabilities API to refresh g_supportELB. (2) Add "forloadbalancing" parameter when calling listPublicIpAddresses API.

This commit is contained in:
Jessica Wang 2011-07-28 17:28:19 -07:00
parent 5e38a47127
commit 68286170a2
3 changed files with 24 additions and 3 deletions

View File

@ -210,9 +210,9 @@ $(document).ready(function() {
bindAndListMidMenuItems($("#leftmenu_snapshot"), "listSnapshots", snapshotGetSearchParams, "listsnapshotsresponse", "snapshot", "jsp/snapshot.jsp", afterLoadSnapshotJSP, snapshotToMidmenu, snapshotToRightPanel, getMidmenuId, false);
if(g_supportELB == "guest") //ips are allocated on guest network
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses&forvirtualnetwork=false", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses&forvirtualnetwork=false&forloadbalancing=true", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false);
else if(g_supportELB == "public") //ips are allocated on public network
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses&forvirtualnetwork=true", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses&forvirtualnetwork=true&forloadbalancing=true", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false);
else
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false); //remove "&forvirtualnetwork=true" for advanced zone whose security group is enabled

View File

@ -1301,7 +1301,7 @@ function listMidMenuItems(commandString, getSearchParamsFn, jsonResponse1, jsonR
}
function bindAndListMidMenuItems($leftmenu, commandString, getSearchParamsFn, jsonResponse1, jsonResponse2, rightPanelJSP, afterLoadRightPanelJSPFn, toMidmenuFn, toRightPanelFn, getMidmenuIdFn, isMultipleSelectionInMidMenu) {
$leftmenu.bind("click", function(event) {
$leftmenu.unbind().bind("click", function(event) {
selectLeftSubMenu($(this));
listMidMenuItems(commandString, getSearchParamsFn, jsonResponse1, jsonResponse2, rightPanelJSP, afterLoadRightPanelJSPFn, toMidmenuFn, toRightPanelFn, getMidmenuIdFn, isMultipleSelectionInMidMenu, $(this).attr("id"), null);
return false;

View File

@ -1441,6 +1441,27 @@ function addZoneWizardSubmit($thisWizard) {
listZonesUpdate();
g_directAttachSecurityGroupsEnabled = true;
$("#leftmenu_security_group_container").show();
$.ajax({
data: createURL("command=listCapabilities"),
dataType: "json",
async: false,
success: function(json) {
/* g_supportELB: guest ips are allocated on guest network (so use 'forvirtualnetwork' = false)
* g_supportELB: public - ips are allocated on public network (so use 'forvirtualnetwork' = true)
* g_supportELB: false no ELB support
*/
g_supportELB = json.listcapabilitiesresponse.capability.supportELB;
$.cookie('supportELB', g_supportELB, { expires: 1});
if(g_supportELB == "guest") //ips are allocated on guest network
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses&forvirtualnetwork=false&forloadbalancing=true", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false);
else if(g_supportELB == "public") //ips are allocated on public network
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses&forvirtualnetwork=true&forloadbalancing=true", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false);
else
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false); //remove "&forvirtualnetwork=true" for advanced zone whose security group is enabled
}
});
},
error: function(XMLHttpResponse) {
handleError(XMLHttpResponse, function() {