v8.1.2: Enhance HA VIP deletion and cleanup waf.py

Add extra validation and logging for HA VIP deletion. Clean up waf.py by removing commented-out code and fixing server status assignment. Simplify maxconn command execution in runtime.py.
pull/401/head
Aidaho 2024-11-03 15:45:06 +03:00
parent c437274cfe
commit 2dccbd0220
3 changed files with 12 additions and 12 deletions

View File

@ -372,7 +372,7 @@ def change_maxconn_backend(serv, backend, backend_server, maxconn) -> str:
for master in masters:
if master[0] is not None:
cmd = f'echo "set maxconn server {backend}/{backend_server} {maxconn}" |nc {master[0]} {haproxy_sock_port}'
output, stderr = server_mod.subprocess_execute(cmd)
server_mod.subprocess_execute(cmd)
roxywi_common.logging(master[0], f'Maxconn has been changed. On: {backend}/{backend_server} to {maxconn}', login=1, keep_history=1, service='haproxy')
cmd = f'echo "set maxconn server {backend}/{backend_server} {maxconn}" |nc {serv} {haproxy_sock_port}'

View File

@ -11,18 +11,15 @@ import app.modules.roxywi.common as roxywi_common
def waf_overview(serv: str, waf_service: str, claims: dict) -> str:
# servers = server_sql.select_servers(server=serv)
server = server_sql.get_server_by_ip(serv)
role = user_sql.get_user_role_in_group(claims['user_id'], claims['group'])
returned_servers = []
waf = ''
waf_len = 0
metrics_en = 0
waf_process = ''
waf_mode = ''
is_waf_on_server = 0
# for server in servers:
if waf_service == 'haproxy':
is_waf_on_server = service_sql.select_haproxy(server.ip)
elif waf_service == 'nginx':
@ -56,14 +53,14 @@ def waf_overview(serv: str, waf_service: str, claims: dict) -> str:
metrics_en,
waf_len,
server.server_id)
else:
server_status = (server.hostname,
server.ip,
waf_process,
waf_mode,
metrics_en,
waf_len,
server.server_id)
else:
server_status = (server.hostname,
server.ip,
waf_process,
waf_mode,
metrics_en,
waf_len,
server.server_id)
returned_servers.append(server_status)
lang = roxywi_common.get_user_lang_for_flask()

View File

@ -667,6 +667,9 @@ class HAVIPView(MethodView):
if router.default == 1:
return roxywi_common.handler_exceptions_for_json_data(Exception(''), 'You cannot delete default VIP')
try:
if ha_sql.check_ha_virt(vip_id):
ha_sql.delete_ha_virt(vip_id)
roxywi_common.logging(cluster_id, f'Cluster virtual server for VIP: {vip.vip} has been deleted', keep_history=1, roxywi=1, service='HA cluster')
ha_sql.delete_ha_router(vip.router_id)
return BaseResponse().model_dump(mode='json'), 204
except Exception as e: