mirror of https://github.com/Aidaho12/haproxy-wi
v8.0: Fix several bugs and update API
Corrected JavaScript methods to properly store language settings and trigger events. Fixed error handling in multiple scripts, and improved handling of keepalived version checks. Updated the requirements to use a specific ansible-core version for better compatibility.pull/390/head
parent
e095a88b2e
commit
7559530ca2
|
@ -47,11 +47,11 @@ def create_cluster(cluster: HAClusterRequest, group_id: int) -> int:
|
||||||
raise Exception(f'error: Cannon add VIP: {e}')
|
raise Exception(f'error: Cannon add VIP: {e}')
|
||||||
|
|
||||||
|
|
||||||
for value in cluster.servers:
|
for value in servers:
|
||||||
if value['master']:
|
if value['master']:
|
||||||
master_ip = value['ip']
|
master_ip = value['ip']
|
||||||
|
|
||||||
for value in cluster.servers:
|
for value in servers:
|
||||||
if value['master']:
|
if value['master']:
|
||||||
continue
|
continue
|
||||||
try:
|
try:
|
||||||
|
@ -60,7 +60,7 @@ def create_cluster(cluster: HAClusterRequest, group_id: int) -> int:
|
||||||
raise Exception(f'error: Cannot update master on slave {value["ip"]: {e}}')
|
raise Exception(f'error: Cannot update master on slave {value["ip"]: {e}}')
|
||||||
|
|
||||||
for value in servers:
|
for value in servers:
|
||||||
slave_id = servers['ip']
|
slave_id = value['id']
|
||||||
if value['master']:
|
if value['master']:
|
||||||
slave_id = server_sql.select_server_id_by_ip(master_ip)
|
slave_id = server_sql.select_server_id_by_ip(master_ip)
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -21,7 +21,7 @@ from app.views.server.backup_vews import BackupView, S3BackupView
|
||||||
def register_api(view, endpoint, url, pk='listener_id', pk_type='int'):
|
def register_api(view, endpoint, url, pk='listener_id', pk_type='int'):
|
||||||
view_func = view.as_view(endpoint)
|
view_func = view.as_view(endpoint)
|
||||||
bp.add_url_rule(url, view_func=view_func, methods=['POST'])
|
bp.add_url_rule(url, view_func=view_func, methods=['POST'])
|
||||||
bp.add_url_rule(f'{url}/<{pk_type}:{pk}>', view_func=view_func, methods=['GET', 'PUT', 'DELETE'])
|
bp.add_url_rule(f'{url}/<{pk_type}:{pk}>', view_func=view_func, methods=['GET', 'PUT', 'PATCH', 'DELETE'])
|
||||||
|
|
||||||
|
|
||||||
register_api(ServerView, 'server', '', 'server_id')
|
register_api(ServerView, 'server', '', 'server_id')
|
||||||
|
|
|
@ -711,8 +711,7 @@ function get_keepalived_ver(div_id, server_ip) {
|
||||||
contentType: "application/json; charset=utf-8",
|
contentType: "application/json; charset=utf-8",
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
if (data.status === 'failed') {
|
if (data.status === 'failed') {
|
||||||
let p_err = show_pretty_ansible_error(data.error);
|
div_id.text('Keepalived has not installed');
|
||||||
toastr.error(p_err);
|
|
||||||
} else if (!data.Version) {
|
} else if (!data.Version) {
|
||||||
div_id.text('Keepalived has not installed');
|
div_id.text('Keepalived has not installed');
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -218,7 +218,7 @@ function installExporter(exporter) {
|
||||||
if (data.status === 'failed') {
|
if (data.status === 'failed') {
|
||||||
toastr.error(data.error);
|
toastr.error(data.error);
|
||||||
} else {
|
} else {
|
||||||
parseAnsibleJsonOutput(data, nice_names[service], select_id);
|
parseAnsibleJsonOutput(data, nice_names[service], exporter_id);
|
||||||
$(exporter_id).trigger("selectmenuchange");
|
$(exporter_id).trigger("selectmenuchange");
|
||||||
$("#ajax").empty();
|
$("#ajax").empty();
|
||||||
}
|
}
|
||||||
|
|
|
@ -815,6 +815,7 @@ function saveUserSettings(user_id){
|
||||||
localStorage.setItem('disabled_alert', '1');
|
localStorage.setItem('disabled_alert', '1');
|
||||||
}
|
}
|
||||||
changeCurrentGroupF(user_id);
|
changeCurrentGroupF(user_id);
|
||||||
|
Cookies.set('lang', $('#lang_select').val(), { expires: 365, path: '/', secure: 'true' });
|
||||||
}
|
}
|
||||||
function sleep(ms) {
|
function sleep(ms) {
|
||||||
return new Promise(resolve => setTimeout(resolve, ms));
|
return new Promise(resolve => setTimeout(resolve, ms));
|
||||||
|
|
|
@ -128,6 +128,8 @@ class ServiceView(MethodView):
|
||||||
elif service == 'keepalived':
|
elif service == 'keepalived':
|
||||||
cmd = "sudo /usr/sbin/keepalived -v 2>&1|head -1|awk '{print $2}'"
|
cmd = "sudo /usr/sbin/keepalived -v 2>&1|head -1|awk '{print $2}'"
|
||||||
version = server_mod.ssh_command(server.ip, cmd)
|
version = server_mod.ssh_command(server.ip, cmd)
|
||||||
|
if version == '/usr/sbin/keepalived:\r\n':
|
||||||
|
return ErrorResponse(error='Cannot get keepalived').model_dump(mode='json')
|
||||||
data = {'Version': version}
|
data = {'Version': version}
|
||||||
return jsonify(data)
|
return jsonify(data)
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ Flask-Caching==2.3.0
|
||||||
Flask-JWT-Extended==4.6.0
|
Flask-JWT-Extended==4.6.0
|
||||||
Flask-Pydantic==0.12.0
|
Flask-Pydantic==0.12.0
|
||||||
flask-swagger==0.2.14
|
flask-swagger==0.2.14
|
||||||
ansible-core>=2.11.12
|
ansible-core==2.16
|
||||||
ansible-runner==2.3.1
|
ansible-runner==2.3.1
|
||||||
python-whois>=0.8.0
|
python-whois>=0.8.0
|
||||||
netaddr>=0.10.1
|
netaddr>=0.10.1
|
||||||
|
|
Loading…
Reference in New Issue