mirror of https://github.com/Aidaho12/haproxy-wi
parent
322dd978bb
commit
763626332b
27
app/funct.py
27
app/funct.py
|
@ -1206,3 +1206,30 @@ def check_is_server_in_group(serv):
|
|||
def check_service(serv, service_name):
|
||||
commands = ["systemctl status "+service_name+" |grep Active |awk '{print $1}'"]
|
||||
return ssh_command(serv, commands)
|
||||
|
||||
|
||||
def get_services_status():
|
||||
services = []
|
||||
services_name = {'checker_haproxy': 'Checker backends master service',
|
||||
'keep_alive': 'Auto start service',
|
||||
'metrics_haproxy': 'Metrics master service',
|
||||
'prometheus': 'Prometheus service',
|
||||
'grafana-server': 'Grafana service',
|
||||
'smon': 'Simple monitoring network ports',
|
||||
'fail2ban': 'Fail2ban service'}
|
||||
for s, v in services_name.items():
|
||||
cmd = "systemctl status %s |grep Act |awk '{print $2}'" % s
|
||||
status, stderr = subprocess_execute(cmd)
|
||||
if s != 'keep_alive':
|
||||
service_name = s.split('_')[0]
|
||||
else:
|
||||
service_name = s
|
||||
cmd = "rpm --query haproxy-wi-" + service_name + "-* |awk -F\"" + service_name + "\" '{print $2}' |awk -F\".noa\" '{print $1}' |sed 's/-//1' |sed 's/-/./'"
|
||||
service_ver, stderr = subprocess_execute(cmd)
|
||||
|
||||
try:
|
||||
services.append([s, status, v, service_ver[0]])
|
||||
except Exception:
|
||||
services.append([s, status, v, ''])
|
||||
|
||||
return services
|
||||
|
|
|
@ -2351,7 +2351,7 @@ if form.getvalue('providerdel'):
|
|||
|
||||
if form.getvalue('awsinit') or form.getvalue('doinit'):
|
||||
funct.check_user_group()
|
||||
cmd = 'cd scripts/terraform/ && sudo terraform init -upgrade'
|
||||
cmd = 'cd scripts/terraform/ && sudo terraform init -upgrade -no-color'
|
||||
output, stderr = funct.subprocess_execute(cmd)
|
||||
if stderr != '':
|
||||
print('error: '+stderr)
|
||||
|
@ -2773,70 +2773,53 @@ if form.getvalue('edit_aws_provider'):
|
|||
print('ok')
|
||||
funct.logging('localhost', 'Provider has been renamed. New name is ' + new_name, provisioning=1)
|
||||
|
||||
if form.getvalue('loadservices') or form.getvalue('loadupdatehapwi') or form.getvalue('loadchecker'):
|
||||
if form.getvalue('loadservices'):
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
env = Environment(loader=FileSystemLoader('templates'))
|
||||
versions = ''
|
||||
checker_ver = ''
|
||||
smon_ver = ''
|
||||
metrics_ver = ''
|
||||
keep_ver = ''
|
||||
telegrams = ''
|
||||
groups = ''
|
||||
page = ''
|
||||
template = env.get_template('ajax/load_services.html')
|
||||
services = funct.get_services_status()
|
||||
|
||||
if form.getvalue('loadservices'):
|
||||
template = env.get_template('ajax/load_services.html')
|
||||
elif form.getvalue('loadupdatehapwi'):
|
||||
versions = funct.versions()
|
||||
checker_ver = funct.check_new_version(service='checker')
|
||||
smon_ver = funct.check_new_version(service='smon')
|
||||
metrics_ver = funct.check_new_version(service='metrics')
|
||||
keep_ver = funct.check_new_version(service='keep')
|
||||
template = env.get_template('ajax/load_updatehapwi.html')
|
||||
elif form.getvalue('loadchecker'):
|
||||
groups = sql.select_groups()
|
||||
page = form.getvalue('page')
|
||||
if page == 'servers.py':
|
||||
user_group = funct.get_user_group(id=1)
|
||||
telegrams = sql.get_user_telegram_by_group(user_group)
|
||||
else:
|
||||
telegrams = sql.select_telegram()
|
||||
template = template.render(services=services)
|
||||
print(template)
|
||||
|
||||
template = env.get_template('ajax/load_telegram.html')
|
||||
if form.getvalue('loadchecker'):
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
env = Environment(loader=FileSystemLoader('templates'))
|
||||
template = env.get_template('ajax/load_telegram.html')
|
||||
services = funct.get_services_status()
|
||||
groups = sql.select_groups()
|
||||
page = form.getvalue('page')
|
||||
if page == 'servers.py':
|
||||
user_group = funct.get_user_group(id=1)
|
||||
telegrams = sql.get_user_telegram_by_group(user_group)
|
||||
else:
|
||||
telegrams = sql.select_telegram()
|
||||
|
||||
services = []
|
||||
services_name = {'checker_haproxy': 'Checker backends master service',
|
||||
'keep_alive': 'Auto start service',
|
||||
'metrics_haproxy': 'Metrics master service',
|
||||
'prometheus': 'Prometheus service',
|
||||
'grafana-server': 'Grafana service',
|
||||
'smon': 'Simple monitoring network ports',
|
||||
'fail2ban': 'Fail2ban service'}
|
||||
for s, v in services_name.items():
|
||||
cmd = "systemctl status %s |grep Act |awk '{print $2}'" % s
|
||||
status, stderr = funct.subprocess_execute(cmd)
|
||||
if s != 'keep_alive':
|
||||
service_name = s.split('_')[0]
|
||||
else:
|
||||
service_name = s
|
||||
cmd = "rpm --query haproxy-wi-" + service_name + "-* |awk -F\"" + service_name + "\" '{print $2}' |awk -F\".noa\" '{print $1}' |sed 's/-//1' |sed 's/-/./'"
|
||||
service_ver, stderr = funct.subprocess_execute(cmd)
|
||||
template = template.render(services=services,
|
||||
telegrams=telegrams,
|
||||
groups=groups,
|
||||
page=page)
|
||||
print(template)
|
||||
|
||||
try:
|
||||
services.append([s, status, v, service_ver[0]])
|
||||
except Exception:
|
||||
services.append([s, status, v, ''])
|
||||
if form.getvalue('loadupdatehapwi'):
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
env = Environment(loader=FileSystemLoader('templates'))
|
||||
template = env.get_template('ajax/load_updatehapwi.html')
|
||||
|
||||
versions = funct.versions()
|
||||
checker_ver = funct.check_new_version(service='checker')
|
||||
smon_ver = funct.check_new_version(service='smon')
|
||||
metrics_ver = funct.check_new_version(service='metrics')
|
||||
keep_ver = funct.check_new_version(service='keep')
|
||||
|
||||
services = funct.get_services_status()
|
||||
|
||||
template = template.render(services=services,
|
||||
versions=versions,
|
||||
checker_ver=checker_ver,
|
||||
smon_ver=smon_ver,
|
||||
metrics_ver=metrics_ver,
|
||||
keep_ver=keep_ver,
|
||||
telegrams=telegrams,
|
||||
groups=groups,
|
||||
page=page)
|
||||
keep_ver=keep_ver)
|
||||
print(template)
|
||||
|
||||
if form.getvalue('loadopenvpn'):
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
terraform {
|
||||
required_providers {
|
||||
aws = {
|
||||
source = "hashicorp/aws"
|
||||
version = "3.28.0"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -315,7 +315,9 @@
|
|||
<div id="wait-mess"></div>
|
||||
<div id="created-mess" class="alert alert-success" style="display:none;"></div>
|
||||
<div id="creating-error" class="alert alert-danger" style="display:none;"></div>
|
||||
<progress id="creating-progress" value="0" max="100"></progress>
|
||||
<div class="progress-bar-striped">
|
||||
<div id="creating-progress" style="width: 0%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="server_editing" style="display: none;">
|
||||
<ul style="padding: 20px 20px 0px 20px;font-size: 15px;">
|
||||
|
@ -328,5 +330,7 @@
|
|||
<div id="editing-wait-mess"></div>
|
||||
<div id="edited-mess" class="alert alert-success" style="display:none;"></div>
|
||||
<div id="editing-error" class="alert alert-danger" style="display:none;"></div>
|
||||
<progress id="editing-progress" value="0" max="100"></progress>
|
||||
<div class="progress-bar-striped">
|
||||
<div id="editing-progress" style="width: 0%;"></div>
|
||||
</div>
|
||||
</div>
|
|
@ -26,20 +26,45 @@
|
|||
width: 100%;
|
||||
height: 10px;
|
||||
}
|
||||
progress {
|
||||
border-radius: 5px;
|
||||
.progress-bar-striped {
|
||||
overflow: hidden;
|
||||
height: 10px;
|
||||
background-color: #f5f5f5;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
progress::-webkit-progress-bar {
|
||||
background-color: #ddd;
|
||||
border-radius: 5px;
|
||||
}
|
||||
progress::-webkit-progress-value {
|
||||
.progress-bar-striped > div {
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-size: 40px 40px;
|
||||
float: left;
|
||||
width: 0%;
|
||||
height: 100%;
|
||||
font-size: 12px;
|
||||
line-height: 20px;
|
||||
color: #ffffff;
|
||||
text-align: center;
|
||||
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
-moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
-webkit-transition: width 3s ease;
|
||||
-moz-transition: width 3s ease;
|
||||
-o-transition: width 3s ease;
|
||||
transition: width 3s ease;
|
||||
animation: progress-bar-stripes 2s linear infinite;
|
||||
background-color: #5d9ceb;
|
||||
border-radius: 5px;
|
||||
}
|
||||
progress::-moz-progress-bar {
|
||||
background-color: #5d9ceb;
|
||||
border-radius: 5px;
|
||||
.progress-bar-striped p{
|
||||
margin: 0;
|
||||
}
|
||||
@keyframes progress-bar-stripes {
|
||||
0% {
|
||||
background-position: 40px 0;
|
||||
}
|
||||
100% {
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
.alert-danger {
|
||||
margin-bottom: 10px;
|
||||
|
|
|
@ -773,7 +773,7 @@ function showProvisioningError(data, step_id, prev_step_id, wait_mess, error_id,
|
|||
$(error_id).show();
|
||||
$(prev_step_id).removeClass('proccessing');
|
||||
$(step_id).addClass('processing_error');
|
||||
$(progress_id).val('0');
|
||||
$(progress_id).css('width', '0%');
|
||||
if(cloud == 'aws') {
|
||||
add_button_after_server_created();
|
||||
} else if (cloud == 'do') {
|
||||
|
@ -793,7 +793,7 @@ function showProvisioningProccess(prev_step_id, step_id, next_step_id, progress_
|
|||
$(step_id).addClass('proccessing_done');
|
||||
$(step_id).removeClass('proccessing');
|
||||
$(next_step_id).addClass('proccessing');
|
||||
$(progress_id).val(progress_value);
|
||||
$(progress_id).css('width', progress_value+'%');
|
||||
$.getScript("/inc/fontawesome.min.js");
|
||||
}
|
||||
function cleanProvisioningProccess(div_id, success_div) {
|
||||
|
|
Loading…
Reference in New Issue