Pavel Loginov 2022-05-23 22:55:08 +03:00
parent 5b4c513ee2
commit 281008f0d2
5 changed files with 69 additions and 102 deletions

View File

@ -45,19 +45,11 @@ if (
white_lists = funct.get_files(dir=white_dir, format="lst")
black_lists = funct.get_files(dir=black_dir, format="lst")
template = template.render(title="Add: ",
role=role,
user=user,
selects=servers,
add=form.getvalue('add'),
conf_add=form.getvalue('conf'),
group=user_group,
options=sql.select_options(),
saved_servers=sql.select_saved_servers(),
white_lists=white_lists,
black_lists=black_lists,
user_services=user_services,
token=token)
template = template.render(
title="Add: ", role=role, user=user, selects=servers, add=form.getvalue('add'), conf_add=form.getvalue('conf'),
group=user_group, options=sql.select_options(), saved_servers=sql.select_saved_servers(), white_lists=white_lists,
black_lists=black_lists, user_services=user_services, token=token
)
print(template)
elif form.getvalue('mode') is not None:
@ -298,19 +290,13 @@ elif form.getvalue('mode') is not None:
except Exception:
port_check_val = port
servers_split += " server {0} {0}:{1}{2} port {6} maxconn {5} {3} {4} \n".format(server,
server_port[i],
check,
send_proxy_param,
backup_param,
maxconn_val,
port_check_val)
servers_split += " server {0} {0}:{1}{2} port {6} maxconn {5} {3} {4} \n".format(
server, server_port[i], check, send_proxy_param, backup_param, maxconn_val, port_check_val
)
else:
servers_split += " server-template {0} {1} {2}:{3} {4} \n".format(form.getvalue('prefix'),
form.getvalue('template-number'),
server,
server_port[i],
check)
servers_split += " server-template {0} {1} {2}:{3} {4} \n".format(
form.getvalue('prefix'), form.getvalue('template-number'), server, server_port[i], check
)
i += 1
compression = form.getvalue("compression")

View File

@ -15,7 +15,7 @@ service = form.getvalue('service')
is_serv_protected = False
try:
config_file_name = form.getvalue('config_file_name').replace('92', '/')
except:
except Exception:
config_file_name = ''
config_read = ""
cfg = ""
@ -141,21 +141,9 @@ if serv is not None and form.getvalue('config') is not None:
print('Config is ok <br /> Config has been updated')
sys.exit()
template = template.render(h2=1, title=title,
role=role,
action=action,
user=user,
select_id="serv",
serv=serv,
aftersave=aftersave,
config=config_read,
cfg=cfg,
selects=servers,
stderr=stderr,
error=error,
service=service,
user_services=user_services,
config_file_name=config_file_name,
is_serv_protected=is_serv_protected,
token=token)
template = template.render(
h2=1, title=title, role=role, action=action, user=user, select_id="serv", serv=serv, aftersave=aftersave,
config=config_read, cfg=cfg, selects=servers, stderr=stderr, error=error, service=service,
user_services=user_services, config_file_name=config_file_name, is_serv_protected=is_serv_protected, token=token
)
print(template)

View File

@ -17,16 +17,18 @@ def default_values():
{'param': 'token_ttl', 'value': '5', 'section': 'main', 'desc': 'TTL for a user token (in days)',
'group': '1'},
{'param': 'tmp_config_path', 'value': '/tmp/', 'section': 'main',
'desc': 'Path to the temporary directory. A valid path should be specified as the value of this parameter. The directory must be owned by the user specified in SSH settings',
'desc': 'Path to the temporary directory. A valid path should be specified as the value of this parameter. '
'The directory must be owned by the user specified in SSH settings',
'group': '1'},
{'param': 'cert_path', 'value': '/etc/ssl/certs/', 'section': 'main',
'desc': 'Path to SSL dir. Folder owner must be a user which set in the SSH settings. Path must exist',
'group': '1'},
{'param': 'ssl_local_path', 'value': 'certs', 'section': 'main',
'desc': 'Path to the directory with the saved local SSL certificates. The value of this parameter is specified as a relative path beginning with $HOME_ROXY_WI/app/',
'desc': 'Path to the directory with the saved local SSL certificates. The value of this parameter is '
'specified as a relative path beginning with $HOME_ROXY_WI/app/',
'group': '1'},
{'param': 'lists_path', 'value': 'lists', 'section': 'main',
'desc': 'Path to the black and the wild list. The value of this paramer should be specified as a relative path beginning with $HOME_ROXY-WI',
'desc': 'Path to the black and the wild list. The value of this parameter should be specified as a relative path beginning with $HOME_ROXY-WI',
'group': '1'},
{'param': 'haproxy_path_logs', 'value': '/var/log/haproxy/', 'section': 'haproxy',
'desc': 'The path for HAProxy logs', 'group': '1'},
@ -448,8 +450,9 @@ def update_db_v_3_4_5_22():
# Needs for updating user_group. Do not delete
def update_db_v_4_3_0(**kwargs):
try:
UserGroups.insert_from(User.select(User.user_id, User.groups),
fields=[UserGroups.user_id, UserGroups.user_group_id]).on_conflict_ignore().execute()
UserGroups.insert_from(
User.select(User.user_id, User.groups), fields=[UserGroups.user_id, UserGroups.user_group_id]
).on_conflict_ignore().execute()
except Exception as e:
if kwargs.get('silent') != 1:
if e.args[0] == 'duplicate column name: haproxy' or str(e) == '(1060, "Duplicate column name \'haproxy\'")':
@ -533,7 +536,7 @@ def update_db_v_5_2_5_3(**kwargs):
for i in sql:
try:
cursor.execute(i)
except:
except Exception:
pass
else:
if kwargs.get('silent') != 1:
@ -566,11 +569,9 @@ def update_db_v_5_3_0(**kwargs):
try:
data_source = [
{'param': 'nginx_container_name', 'value': 'nginx', 'section': 'nginx',
'desc': 'Docker container name for NGINX service',
'group': g.group_id},
'desc': 'Docker container name for NGINX service', 'group': g.group_id},
{'param': 'haproxy_container_name', 'value': 'haproxy', 'section': 'haproxy',
'desc': 'Docker container name for HAProxy service',
'group': g.group_id},
'desc': 'Docker container name for HAProxy service', 'group': g.group_id},
{'param': 'apache_path_logs', 'value': '/var/log/httpd/', 'section': 'apache',
'desc': 'The path for Apache logs', 'group': g.group_id},
{'param': 'apache_stats_user', 'value': 'admin', 'section': 'apache',
@ -600,9 +601,9 @@ def update_db_v_5_3_0(**kwargs):
except Exception as e:
if kwargs.get('silent') != 1:
if (
str(e) == 'columns param, group are not unique' or
str(e) == '(1062, "Duplicate entry \'nginx_container_name\' for key \'param\'")' or
str(e) == 'UNIQUE constraint failed: settings.param, settings.group'
str(e) == 'columns param, group are not unique'
or str(e) == '(1062, "Duplicate entry \'nginx_container_name\' for key \'param\'")'
or str(e) == 'UNIQUE constraint failed: settings.param, settings.group'
):
pass
else:
@ -690,7 +691,7 @@ def update_db_v_6_0(**kwargs):
for i in sql:
try:
cursor.execute(i)
except Exception as e:
except Exception:
pass
else:
if kwargs.get('silent') != 1:
@ -712,7 +713,7 @@ def update_ver():
query = Version.update(version='6.0.2.0')
try:
query.execute()
except:
except Exception:
print('Cannot update version')

View File

@ -23,14 +23,8 @@ except Exception as e:
funct.logging('localhost', 'Cannot get a user plan: ' + str(e), haproxywi=1)
output_from_parsed_template = template.render(h2=1,
title="Create and configure HA cluster",
role=role,
user=user,
serv=serv,
selects=servers,
user_services=user_services,
user_status=user_status,
user_plan=user_plan,
token=token)
output_from_parsed_template = template.render(
h2=1, title="Create and configure HA cluster", role=role, user=user, serv=serv, selects=servers,
user_services=user_services, user_status=user_status, user_plan=user_plan, token=token
)
print(output_from_parsed_template)

View File

@ -102,12 +102,15 @@ for s in servers:
if service == 'nginx':
h = (['', ''],)
cmd = [
"/usr/sbin/nginx -v 2>&1|awk '{print $3}' && systemctl status nginx |grep -e 'Active' |awk '{print $2, $9$10$11$12$13}' && ps ax |grep nginx:|grep -v grep |wc -l"]
"/usr/sbin/nginx -v 2>&1|awk '{print $3}' && systemctl status nginx |grep -e 'Active' |awk "
"'{print $2, $9$10$11$12$13}' && ps ax |grep nginx:|grep -v grep |wc -l"]
for service_set in service_settings:
if service_set.server_id == s[0] and service_set.setting == 'dockerized' and service_set.value == '1':
container_name = sql.get_setting('nginx_container_name')
cmd = [
"docker exec -it "+container_name+" /usr/sbin/nginx -v 2>&1|awk '{print $3}' && docker ps -a -f name="+container_name+" --format '{{.Status}}'|tail -1 && ps ax |grep nginx:|grep -v grep |wc -l"
"docker exec -it " + container_name + " /usr/sbin/nginx -v 2>&1|awk '{print $3}' && "
"docker ps -a -f name="+container_name+" --format '{{.Status}}'|tail -1 && ps ax |grep nginx:"
"|grep -v grep |wc -l"
]
try:
out = funct.ssh_command(s[2], cmd)
@ -119,14 +122,16 @@ for s in servers:
servers_with_status.append(h)
servers_with_status.append(h)
servers_with_status.append(s[17])
except:
except Exception:
servers_with_status.append(h)
servers_with_status.append(h)
servers_with_status.append(s[17])
elif service == 'keepalived':
h = (['', ''],)
cmd = [
"/usr/sbin/keepalived -v 2>&1|head -1|awk '{print $2}' && systemctl status keepalived |grep -e 'Active' |awk '{print $2, $9$10$11$12$13}' && ps ax |grep keepalived|grep -v grep |wc -l"]
"/usr/sbin/keepalived -v 2>&1|head -1|awk '{print $2}' && systemctl status keepalived |"
"grep -e 'Active' |awk '{print $2, $9$10$11$12$13}' && ps ax |grep keepalived|grep -v grep |wc -l"
]
try:
out = funct.ssh_command(s[2], cmd)
out1 = []
@ -136,7 +141,7 @@ for s in servers:
servers_with_status.append(h)
servers_with_status.append(h)
servers_with_status.append(s[22])
except:
except Exception:
servers_with_status.append(h)
servers_with_status.append(h)
servers_with_status.append(s[22])
@ -146,14 +151,16 @@ for s in servers:
apache_stats_password = sql.get_setting('apache_stats_password')
apache_stats_port = sql.get_setting('apache_stats_port')
apache_stats_page = sql.get_setting('apache_stats_page')
cmd = "curl -s -u %s:%s http://%s:%s/%s?auto |grep 'ServerVersion\|Processes\|ServerUptime:'" % (apache_stats_user, apache_stats_password, s[2], apache_stats_port, apache_stats_page)
cmd = "curl -s -u %s:%s http://%s:%s/%s?auto |grep 'ServerVersion\|Processes\|ServerUptime:'" % (
apache_stats_user, apache_stats_password, s[2], apache_stats_port, apache_stats_page
)
try:
out = funct.subprocess_execute(cmd)
if out != '':
for k in out:
servers_with_status.append(k)
servers_with_status.append(s[22])
except:
except Exception:
servers_with_status.append(h)
servers_with_status.append(h)
servers_with_status.append(s[22])
@ -176,7 +183,8 @@ for s in servers:
if is_keepalived:
try:
cmd = ['sudo kill -USR1 `cat /var/run/keepalived.pid` && sudo grep State /tmp/keepalived.data -m 1 |awk -F"=" \'{print $2}\'|tr -d \'[:space:]\' && sudo rm -f /tmp/keepalived.data']
cmd = ['sudo kill -USR1 `cat /var/run/keepalived.pid` && sudo grep State /tmp/keepalived.data -m 1 |'
'awk -F"=" \'{print $2}\'|tr -d \'[:space:]\' && sudo rm -f /tmp/keepalived.data']
out = funct.ssh_command(s[2], cmd)
out1 = ('1', out)
servers_with_status.append(out1)
@ -193,19 +201,9 @@ except Exception as e:
user_status, user_plan = 0, 0
funct.logging('localhost', 'Cannot get a user plan: ' + str(e), haproxywi=1)
template = template.render(h2=1,
autorefresh=autorefresh,
title=title,
role=role,
user=user,
servers=servers_with_status1,
keep_alive=''.join(keep_alive),
serv=serv,
service=service,
services=services,
user_services=user_services,
service_settings=service_settings,
user_status=user_status,
user_plan=user_plan,
token=token)
template = template.render(
h2=1, autorefresh=autorefresh, title=title, role=role, user=user, servers=servers_with_status1,
keep_alive=''.join(keep_alive), serv=serv, service=service, services=services, user_services=user_services,
service_settings=service_settings, user_status=user_status, user_plan=user_plan, token=token
)
print(template)