mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-02 11:52:28 +01:00
bug 7458: zone - network - implement Add Load Balancer.
This commit is contained in:
parent
b853cad913
commit
d5568a35f7
12
ui/index.jsp
12
ui/index.jsp
@ -274,13 +274,23 @@
|
||||
<div class="actionpanel_button_wrapper" id="midmenu_add_external_firewall_button" style="display: none;">
|
||||
<div class="actionpanel_button">
|
||||
<div class="actionpanel_button_icons">
|
||||
<img src="images/addvm_actionicon.png" alt="Add Direct IP Range" /></div>
|
||||
<img src="images/addvm_actionicon.png" alt="Add Firewall" /></div>
|
||||
<div class="actionpanel_button_links" id="Div10">
|
||||
Add Firewall
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="actionpanel_button_wrapper" id="midmenu_add_load_balancer_button" style="display: none;">
|
||||
<div class="actionpanel_button">
|
||||
<div class="actionpanel_button_icons">
|
||||
<img src="images/addvm_actionicon.png" alt="Add Load Balancer" /></div>
|
||||
<div class="actionpanel_button_links" id="Div10">
|
||||
Add Load Balancer
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="actionpanel_button_wrapper" id="midmenu_Update_SSL_Certificate_button" style="display: none;">
|
||||
<div class="actionpanel_button">
|
||||
<div class="actionpanel_button_icons">
|
||||
|
||||
@ -624,7 +624,7 @@
|
||||
<!-- Add IP Range for public netework dialog (end) -->
|
||||
|
||||
|
||||
<!-- Add External Firewall (begin) -->
|
||||
<!-- Add External Firewall dialog (begin) -->
|
||||
<div id="dialog_add_external_firewall" title="Add Firewall" style="display: none">
|
||||
<p>
|
||||
Add firewall for zone: <b><span id="zone_name"></span></b>
|
||||
@ -701,7 +701,74 @@
|
||||
(info)</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Add External Firewall (end) -->
|
||||
<!-- Add External Firewall dialog (end) -->
|
||||
|
||||
|
||||
<!-- Add Load Balancer dialog (begin) -->
|
||||
<div id="dialog_add_load_balancer" title="Add Load Balancer" style="display: none">
|
||||
<p>
|
||||
Add load balancer for zone: <b><span id="zone_name"></span></b>
|
||||
</p>
|
||||
<div class="dialog_formcontent">
|
||||
<form action="#" method="post" id="form_acquire">
|
||||
<ol>
|
||||
<li>
|
||||
<label>
|
||||
IP:</label>
|
||||
<input class="text" type="text" id="ip" />
|
||||
<div id="ip_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
User name:</label>
|
||||
<input class="text" type="text" id="username" />
|
||||
<div id="username_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
Password:</label>
|
||||
<input class="text" type="password" id="password" autocomplete="off" />
|
||||
<div id="password_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label>
|
||||
Public Interface:</label>
|
||||
<input class="text" type="text" id="public_interface" />
|
||||
<div id="public_interface_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<label>
|
||||
Private Interface:</label>
|
||||
<input class="text" type="text" id="private_interface" />
|
||||
<div id="private_interface_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
|
||||
</div>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
</form>
|
||||
</div>
|
||||
<!--Loading box-->
|
||||
<div id="spinning_wheel" class="ui_dialog_loaderbox" style="display: none;">
|
||||
<div class="ui_dialog_loader">
|
||||
</div>
|
||||
<p>
|
||||
Adding....</p>
|
||||
</div>
|
||||
<!--Confirmation msg box-->
|
||||
<!--Note: for error msg, just have to add error besides everything for eg. add error(class) next to ui_dialog_messagebox error, ui_dialog_msgicon error, ui_dialog_messagebox_text error. -->
|
||||
<div id="info_container" class="ui_dialog_messagebox error" style="display: none;">
|
||||
<div id="icon" class="ui_dialog_msgicon error">
|
||||
</div>
|
||||
<div id="info" class="ui_dialog_messagebox_text error">
|
||||
(info)</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Add Load Balancer dialog (end) -->
|
||||
|
||||
|
||||
<!-- Add IP Range for direct netework dialog (begin) -->
|
||||
|
||||
@ -573,6 +573,7 @@ function clearAddButtonsOnTop() {
|
||||
$("#midmenu_add_network_button").unbind("click").hide();
|
||||
$("#midmenu_add_iprange_button").unbind("click").hide();
|
||||
$("#midmenu_add_external_firewall_button").unbind("click").hide();
|
||||
$("#midmenu_add_load_balancer_button").unbind("click").hide();
|
||||
$("#midmenu_Update_SSL_Certificate_button").unbind("click").hide();
|
||||
|
||||
$("#midmenu_startvm_link").unbind("click").hide();
|
||||
|
||||
@ -109,6 +109,7 @@ function publicNetworkToRightPanel($midmenuItem1) {
|
||||
$("#public_network_page").show();
|
||||
initAddIpRangeToPublicNetworkButton($("#midmenu_add_iprange_button"), $midmenuItem1);
|
||||
initAddExternalFirewallButton($("#midmenu_add_external_firewall_button"), $midmenuItem1);
|
||||
initAddLoadBalancerButton($("#midmenu_add_load_balancer_button"), $midmenuItem1);
|
||||
|
||||
$("#direct_network_page").hide();
|
||||
|
||||
@ -637,6 +638,117 @@ var publicNetworkIpRangeActionMap = {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function initAddLoadBalancerButton($button, $midmenuItem1) {
|
||||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
|
||||
initDialog("dialog_add_load_balancer");
|
||||
|
||||
var $dialogAddLoadBalancer = $("#dialog_add_load_balancer");
|
||||
|
||||
$button.show();
|
||||
$button.unbind("click").bind("click", function(event) {
|
||||
if($("#public_network_page").find("#tab_content_loadbalancer").css("display") == "none")
|
||||
$("#public_network_page").find("#tab_loadbalancer").click();
|
||||
|
||||
$dialogAddLoadBalancer.find("#info_container").hide();
|
||||
$dialogAddLoadBalancer.find("#zone_name").text(fromdb(zoneObj.name));
|
||||
|
||||
$dialogAddLoadBalancer
|
||||
.dialog('option', 'buttons', {
|
||||
"Add": function() {
|
||||
var $thisDialog = $(this);
|
||||
|
||||
// validate values
|
||||
var isValid = true;
|
||||
isValid &= validateString("IP", $thisDialog.find("#ip"), $thisDialog.find("#ip_errormsg"), false); //required
|
||||
isValid &= validateString("User Name", $thisDialog.find("#username"), $thisDialog.find("#username_errormsg"), false); //required
|
||||
isValid &= validateString("Password", $thisDialog.find("#password"), $thisDialog.find("#password_errormsg"), false); //required
|
||||
isValid &= validateString("Public Interface", $thisDialog.find("#public_interface"), $thisDialog.find("#public_interface_errormsg"), true); //optinal
|
||||
isValid &= validateString("Private Interface", $thisDialog.find("#private_interface"), $thisDialog.find("#private_interface_errormsg"), true); //optinal
|
||||
if (!isValid)
|
||||
return;
|
||||
|
||||
$thisDialog.find("#spinning_wheel").show()
|
||||
|
||||
var array1 = [];
|
||||
|
||||
array1.push("&zoneid=" + zoneObj.id);
|
||||
|
||||
var username = $thisDialog.find("#username").val();
|
||||
array1.push("&username="+username);
|
||||
|
||||
var password = $thisDialog.find("#password").val();
|
||||
array1.push("&password="+password);
|
||||
|
||||
//*** construct URL (begin) ***
|
||||
var url = [];
|
||||
|
||||
var ip = $thisDialog.find("#ip").val();
|
||||
if(ip.indexOf("http://")==-1)
|
||||
url.push(todb("http://"+ip));
|
||||
else
|
||||
url.push(todb(ip));
|
||||
|
||||
var isQuestionMarkAdded = false;
|
||||
|
||||
var publicInterface = $thisDialog.find("#public_interface").val();
|
||||
if(publicInterface != null && publicInterface.length > 0) {
|
||||
if(isQuestionMarkAdded == false) {
|
||||
url.push("?");
|
||||
isQuestionMarkAdded = true;
|
||||
}
|
||||
else {
|
||||
url.push("&");
|
||||
}
|
||||
url.push("publicInterface="+todb(publicInterface));
|
||||
}
|
||||
|
||||
var privateInterface = $thisDialog.find("#private_interface").val();
|
||||
if(privateInterface != null && privateInterface.length > 0) {
|
||||
if(isQuestionMarkAdded == false) {
|
||||
url.push("?");
|
||||
isQuestionMarkAdded = true;
|
||||
}
|
||||
else {
|
||||
url.push("&");
|
||||
}
|
||||
url.push("privateInterface="+todb(privateInterface));
|
||||
}
|
||||
|
||||
array1.push("&url="+url.join(""));
|
||||
//*** construct URL (end) ***
|
||||
|
||||
$.ajax({
|
||||
data: createURL("command=addExternalLoadBalancer"+array1.join("")),
|
||||
dataType: "json",
|
||||
success: function(json) {
|
||||
$thisDialog.find("#spinning_wheel").hide();
|
||||
$thisDialog.dialog("close");
|
||||
|
||||
/*
|
||||
var item = json.createvlaniprangeresponse.vlan;
|
||||
var $newTemplate = $("#iprange_template").clone();
|
||||
publicNetworkIprangeJsonToTemplate(item, $newTemplate);
|
||||
$("#public_network_page").find("#tab_content_ipallocation").find("#tab_container").prepend($newTemplate.show());
|
||||
*/
|
||||
},
|
||||
error: function(XMLHttpResponse) {
|
||||
handleError(XMLHttpResponse, function() {
|
||||
handleErrorInDialog(XMLHttpResponse, $thisDialog);
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
"Cancel": function() {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}).dialog("open");
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
//***** Public Network (end) ******************************************************************************************************
|
||||
|
||||
|
||||
@ -665,6 +777,7 @@ function directNetworkToRightPanel($midmenuItem1) {
|
||||
$("#direct_network_page").show();
|
||||
initAddIpRangeToDirectNetworkButton($("#midmenu_add_iprange_button"), $midmenuItem1);
|
||||
$("#midmenu_add_external_firewall_button").unbind("click").hide();
|
||||
$("#midmenu_add_load_balancer_button").unbind("click").hide();
|
||||
|
||||
$("#public_network_page").hide();
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user