mirror of https://github.com/Aidaho12/haproxy-wi
parent
4a2c235480
commit
64509d1fd4
|
@ -1,7 +1,7 @@
|
|||
import os
|
||||
import sys
|
||||
import json
|
||||
from bottle import route, run, hook, response, request, post
|
||||
from bottle import request
|
||||
sys.path.append(os.path.join(sys.path[0], '/var/www/haproxy-wi/app/'))
|
||||
|
||||
import sql
|
||||
|
@ -99,10 +99,10 @@ def check_permit_to_server(server_id, service='haproxy'):
|
|||
servers = sql.select_servers(id_hostname=server_id)
|
||||
token = request.headers.get('token')
|
||||
login, group_id = sql.get_username_groupid_from_api_token(token)
|
||||
|
||||
for s in servers:
|
||||
|
||||
for s in servers:
|
||||
server = sql.get_dick_permit(username=login, group_id=group_id, ip=s[2], token=token, service=service)
|
||||
|
||||
|
||||
return server
|
||||
|
||||
|
||||
|
@ -125,9 +125,9 @@ def get_server(server_id, service):
|
|||
if service != 'apache' and service != 'nginx' and service != 'haproxy' and service != 'keepalived':
|
||||
return dict(status='wrong service')
|
||||
data = {}
|
||||
try:
|
||||
try:
|
||||
servers = check_permit_to_server(server_id, service=service)
|
||||
|
||||
|
||||
for s in servers:
|
||||
data = {
|
||||
'server_id': s[0],
|
||||
|
@ -171,9 +171,7 @@ def get_status(server_id, service):
|
|||
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
|
||||
)
|
||||
(apache_stats_user, apache_stats_password, s[2], apache_stats_port, apache_stats_page)
|
||||
servers_with_status = list()
|
||||
try:
|
||||
out = funct.subprocess_execute(cmd)
|
||||
|
@ -191,7 +189,6 @@ def get_status(server_id, service):
|
|||
except Exception as e:
|
||||
data = {server_id: {"error": "Cannot get status: " + str(e)}}
|
||||
|
||||
|
||||
except Exception:
|
||||
data = {server_id: {"error": "Cannot find the server"}}
|
||||
return dict(error=data)
|
||||
|
@ -206,19 +203,19 @@ def get_all_statuses():
|
|||
token = request.headers.get('token')
|
||||
login, group_id = sql.get_username_groupid_from_api_token(token)
|
||||
sock_port = sql.get_setting('haproxy_sock_port')
|
||||
|
||||
for s in servers:
|
||||
|
||||
for s in servers:
|
||||
servers = sql.get_dick_permit(username=login, group_id=group_id, token=token)
|
||||
|
||||
|
||||
for s in servers:
|
||||
cmd = 'echo "show info" |nc %s %s -w 1|grep -e "Ver\|CurrConns\|Maxco\|MB\|Uptime:"' % (s[2], sock_port)
|
||||
data[s[2]] = {}
|
||||
data[s[2]] = {}
|
||||
out = funct.subprocess_execute(cmd)
|
||||
data[s[2]] = return_dict_from_out(s[1], out[0])
|
||||
except Exception:
|
||||
data = {"error": "Cannot find the server"}
|
||||
return dict(error=data)
|
||||
|
||||
|
||||
return dict(status=data)
|
||||
|
||||
|
||||
|
@ -231,7 +228,6 @@ def actions(server_id, action, service):
|
|||
try:
|
||||
servers = check_permit_to_server(server_id, service=service)
|
||||
|
||||
|
||||
for s in servers:
|
||||
if service == 'apache':
|
||||
service = funct.get_correct_apache_service_name(server_ip=s[2])
|
||||
|
@ -239,7 +235,7 @@ def actions(server_id, action, service):
|
|||
error = funct.ssh_command(s[2], cmd)
|
||||
done = error if error else 'done'
|
||||
|
||||
data = {'server_id':s[0],'ip':s[2],'action':action,'hostname':s[1],'status':done}
|
||||
data = {'server_id':s[0], 'ip':s[2], 'action':action, 'hostname':s[1], 'status':done}
|
||||
|
||||
return dict(status=data)
|
||||
except Exception as e:
|
||||
|
@ -282,7 +278,7 @@ def show_backends(server_id):
|
|||
data = {server_id: {"error": "Cannot find the server"}}
|
||||
return dict(error=data)
|
||||
|
||||
return dict(backends=data)
|
||||
return dict(backends=data)
|
||||
|
||||
|
||||
def get_config(server_id, **kwargs):
|
||||
|
@ -324,7 +320,7 @@ def get_section(server_id):
|
|||
out = funct.get_config(s[2], cfg)
|
||||
start_line, end_line, config_read = funct.get_section_from_config(cfg, section_name)
|
||||
|
||||
data = {server_id: {section_name:{'start_line':start_line, 'end_line':end_line, 'config_read':config_read}}}
|
||||
data = {server_id: {section_name:{'start_line': start_line, 'end_line': end_line, 'config_read': config_read}}}
|
||||
return dict(section=data)
|
||||
|
||||
|
||||
|
@ -363,8 +359,10 @@ def edit_section(server_id):
|
|||
os.system("/bin/cp %s %s" % (cfg, cfg_for_save))
|
||||
out = funct.master_slave_upload_and_restart(ip, cfg, save, login=login)
|
||||
funct.logging('localhost', " section " + section_name + " has been edited via API", login=login)
|
||||
funct.logging(ip, 'Section ' + section_name + ' has been edited via API', haproxywi=1, login=login,
|
||||
keep_history=1, service='haproxy')
|
||||
funct.logging(
|
||||
ip, 'Section ' + section_name + ' has been edited via API', haproxywi=1,
|
||||
login=login, keep_history=1, service='haproxy'
|
||||
)
|
||||
|
||||
if out:
|
||||
return_mess = out
|
||||
|
@ -432,8 +430,9 @@ def upload_config(server_id, **kwargs):
|
|||
out = funct.master_slave_upload_and_restart(ip, cfg, save, login=login)
|
||||
|
||||
funct.logging('localhost', " config has been uploaded via API", login=login)
|
||||
funct.logging(ip, 'Config has been uploaded via API', haproxywi=1, login=login,
|
||||
keep_history=1, service=service_name)
|
||||
funct.logging(
|
||||
ip, 'Config has been uploaded via API', haproxywi=1, login=login, keep_history=1, service=service_name
|
||||
)
|
||||
|
||||
if out:
|
||||
return_mess = out
|
||||
|
@ -488,7 +487,7 @@ def add_to_config(server_id):
|
|||
data[server_id] = {"error": "cannot find the server"}
|
||||
return dict(error=data)
|
||||
|
||||
return dict(config=data)
|
||||
return dict(config=data)
|
||||
|
||||
|
||||
def show_log(server_id):
|
||||
|
@ -570,7 +569,7 @@ def add_acl(server_id):
|
|||
except Exception as e:
|
||||
status = str(e)
|
||||
|
||||
data = {'acl':status}
|
||||
data = {'acl': status}
|
||||
return dict(data)
|
||||
|
||||
|
||||
|
|
12
app/funct.py
12
app/funct.py
|
@ -607,7 +607,7 @@ def get_backends_from_config(server_ip, backends=''):
|
|||
format_cfg = 'cfg'
|
||||
|
||||
try:
|
||||
cfg = configs_dir+get_files(dir=configs_dir, format=format_cfg)[0]
|
||||
cfg = configs_dir + get_files(dir=configs_dir, format=format_cfg)[0]
|
||||
except Exception as e:
|
||||
logging('localhost', str(e), haproxywi=1)
|
||||
try:
|
||||
|
@ -660,12 +660,12 @@ def show_installation_output(error, output, service):
|
|||
print('error: ' + error)
|
||||
return False
|
||||
else:
|
||||
for l in output:
|
||||
if "UNREACHABLE" in l:
|
||||
print(l + '<br />')
|
||||
if "Traceback" in l or "FAILED" in l or "error" in l or "ERROR" in l:
|
||||
for line in output:
|
||||
if "UNREACHABLE" in line:
|
||||
print(line + '<br />')
|
||||
if ("Traceback", "FAILED", "error", "ERROR") in line:
|
||||
try:
|
||||
print(l)
|
||||
print(line)
|
||||
break
|
||||
except Exception:
|
||||
print(output)
|
||||
|
|
118
app/options.py
118
app/options.py
|
@ -1,8 +1,8 @@
|
|||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import funct
|
||||
import sql
|
||||
|
||||
|
@ -10,14 +10,16 @@ form = funct.form
|
|||
serv = funct.is_ip_or_dns(form.getvalue('serv'))
|
||||
act = form.getvalue("act")
|
||||
|
||||
if (form.getvalue('new_metrics') or
|
||||
form.getvalue('new_http_metrics') or
|
||||
form.getvalue('new_waf_metrics') or
|
||||
form.getvalue('new_nginx_metrics') or
|
||||
form.getvalue('metrics_hapwi_ram') or
|
||||
form.getvalue('metrics_hapwi_cpu') or
|
||||
form.getvalue('getoption') or
|
||||
form.getvalue('getsavedserver')):
|
||||
if (
|
||||
form.getvalue('new_metrics')
|
||||
or form.getvalue('new_http_metrics')
|
||||
or form.getvalue('new_waf_metrics')
|
||||
or form.getvalue('new_nginx_metrics')
|
||||
or form.getvalue('metrics_hapwi_ram')
|
||||
or form.getvalue('metrics_hapwi_cpu')
|
||||
or form.getvalue('getoption')
|
||||
or form.getvalue('getsavedserver')
|
||||
):
|
||||
print('Content-type: application/json\n')
|
||||
else:
|
||||
print('Content-type: text/html\n')
|
||||
|
@ -670,8 +672,10 @@ if act == "overviewwaf":
|
|||
import http.cookies
|
||||
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
env = Environment(loader=FileSystemLoader('templates/ajax'), autoescape=True,
|
||||
extensions=['jinja2.ext.loopcontrols', 'jinja2.ext.do'])
|
||||
env = Environment(
|
||||
loader=FileSystemLoader('templates/ajax'), autoescape=True,
|
||||
extensions=['jinja2.ext.loopcontrols', 'jinja2.ext.do']
|
||||
)
|
||||
template = env.get_template('overivewWaf.html')
|
||||
|
||||
servers = sql.select_servers(server=serv)
|
||||
|
@ -1236,8 +1240,8 @@ if serv is not None and act == "configShow":
|
|||
if act == 'configShowFiles':
|
||||
service = form.getvalue('service')
|
||||
|
||||
config_dir = funct.get_config_var('configs', service+'_save_configs_dir')
|
||||
service_config_dir = sql.get_setting(service+'_dir')
|
||||
config_dir = funct.get_config_var('configs', service + '_save_configs_dir')
|
||||
service_config_dir = sql.get_setting(service + '_dir')
|
||||
try:
|
||||
config_file_name = form.getvalue('config_file_name').replace('92', '/')
|
||||
except Exception:
|
||||
|
@ -1246,7 +1250,7 @@ if act == 'configShowFiles':
|
|||
if 'error: ' in return_files:
|
||||
print(return_files)
|
||||
sys.exit()
|
||||
return_files += ' ' + sql.get_setting(service+'_config_path')
|
||||
return_files += ' ' + sql.get_setting(service + '_config_path')
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
|
||||
env = Environment(loader=FileSystemLoader('templates/'), autoescape=True)
|
||||
|
@ -1257,7 +1261,7 @@ if act == 'configShowFiles':
|
|||
|
||||
if act == 'showRemoteLogFiles':
|
||||
service = form.getvalue('service')
|
||||
log_path = sql.get_setting(service+'_path_logs')
|
||||
log_path = sql.get_setting(service + '_path_logs')
|
||||
return_files = funct.get_remote_files(serv, log_path, 'log')
|
||||
if 'error: ' in return_files:
|
||||
print(return_files)
|
||||
|
@ -1312,7 +1316,7 @@ if form.getvalue('master'):
|
|||
group_id = sql.get_group_id_by_server_ip(master)
|
||||
cred_id = sql.get_cred_id_by_server_ip(master)
|
||||
hostname = sql.get_hostname_by_server_ip(master)
|
||||
sql.add_server(hostname+'-VIP', IP, group_id, '1', '1', '0', cred_id, ssh_port, 'VRRP IP for '+master, haproxy, nginx, '0')
|
||||
sql.add_server(hostname + '-VIP', IP, group_id, '1', '1', '0', cred_id, ssh_port, 'VRRP IP for '+master, haproxy, nginx, '0')
|
||||
|
||||
if form.getvalue('master_slave'):
|
||||
master = form.getvalue('master_slave')
|
||||
|
@ -1466,10 +1470,10 @@ if form.getvalue('install_grafana'):
|
|||
print(
|
||||
'success: Grafana and Prometheus servers were installed. You can find Grafana on http://' + socket.gethostname() + ':3000<br>')
|
||||
else:
|
||||
for l in output:
|
||||
if "Traceback" in l or "FAILED" in l:
|
||||
for line in output:
|
||||
if ("Traceback", "FAILED") in line:
|
||||
try:
|
||||
print(l)
|
||||
print(line)
|
||||
break
|
||||
except Exception:
|
||||
print(output)
|
||||
|
@ -1639,10 +1643,10 @@ if form.getvalue('backup') or form.getvalue('deljob') or form.getvalue('backupup
|
|||
|
||||
output, error = funct.subprocess_execute(commands[0])
|
||||
|
||||
for l in output:
|
||||
if "Traceback" in l or "FAILED" in l:
|
||||
for line in output:
|
||||
if ("Traceback", "FAILED") in line:
|
||||
try:
|
||||
print('error: ' + l)
|
||||
print('error: ' + line)
|
||||
break
|
||||
except Exception:
|
||||
print('error: ' + output)
|
||||
|
@ -1716,10 +1720,10 @@ if form.getvalue('git_backup'):
|
|||
|
||||
output, error = funct.subprocess_execute(commands[0])
|
||||
|
||||
for l in output:
|
||||
if "Traceback" in l or "FAILED" in l:
|
||||
for line in output:
|
||||
if ("Traceback", "FAILED") in line:
|
||||
try:
|
||||
print('error: ' + l)
|
||||
print('error: ' + line)
|
||||
break
|
||||
except Exception:
|
||||
print('error: ' + output)
|
||||
|
@ -1740,8 +1744,10 @@ if form.getvalue('git_backup'):
|
|||
template = template.render(gits=gits, sshs=sshs, servers=servers, services=services, new_add=1)
|
||||
print(template)
|
||||
print('success: Git job has been created')
|
||||
funct.logging(server_ip, ' A new git job has been created', haproxywi=1, login=1,
|
||||
keep_history=1, service=service_name)
|
||||
funct.logging(
|
||||
server_ip, ' A new git job has been created', haproxywi=1, login=1,
|
||||
keep_history=1, service=service_name
|
||||
)
|
||||
else:
|
||||
if sql.delete_git(form.getvalue('git_backup')):
|
||||
print('Ok')
|
||||
|
@ -2077,8 +2083,8 @@ if form.getvalue('bwlists_delete'):
|
|||
if form.getvalue('get_lists'):
|
||||
list_path = os.path.dirname(os.getcwd()) + "/" + sql.get_setting('lists_path') + "/" + form.getvalue('group') + "/" + form.getvalue('color')
|
||||
lists = funct.get_files(dir=list_path, format="lst")
|
||||
for l in lists:
|
||||
print(l)
|
||||
for list in lists:
|
||||
print(list)
|
||||
|
||||
if form.getvalue('get_ldap_email'):
|
||||
username = form.getvalue('get_ldap_email')
|
||||
|
@ -2860,12 +2866,12 @@ if form.getvalue('lets_domain'):
|
|||
funct.logging('localhost', error, haproxywi=1)
|
||||
print(error)
|
||||
else:
|
||||
for l in output:
|
||||
if "msg" in l or "FAILED" in l:
|
||||
for line in output:
|
||||
if "msg" in line or "FAILED" in line:
|
||||
try:
|
||||
l = l.split(':')[1]
|
||||
l = l.split('"')[1]
|
||||
print(l + "<br>")
|
||||
line = line.split(':')[1]
|
||||
line = line.split('"')[1]
|
||||
print(line + "<br>")
|
||||
break
|
||||
except Exception:
|
||||
print(output)
|
||||
|
@ -3052,7 +3058,7 @@ if form.getvalue('nettools_icmp_server_from'):
|
|||
output = funct.ssh_command(server_from, action_for_sending, raw=1)
|
||||
|
||||
if stderr != '':
|
||||
print('error: '+stderr)
|
||||
print('error: ' + stderr)
|
||||
sys.exit()
|
||||
for i in output:
|
||||
if i == ' ' or i == '':
|
||||
|
@ -3123,7 +3129,7 @@ if form.getvalue('nettools_nslookup_server_from'):
|
|||
output = funct.ssh_command(server_from, action_for_sending, raw=1)
|
||||
|
||||
if stderr != '':
|
||||
print('error: '+stderr[5:-1])
|
||||
print('error: ' + stderr[5:-1])
|
||||
sys.exit()
|
||||
count_string = 0
|
||||
print('<b style="display: block; margin-top:10px;">The <i style="color: var(--blue-color)">' + dns_name + '</i> domain has the following records:</b>')
|
||||
|
@ -3230,7 +3236,7 @@ if form.getvalue('awsinit') or form.getvalue('doinit') or form.getvalue('gcorein
|
|||
cmd = 'cd scripts/terraform/ && sudo terraform init -upgrade -no-color'
|
||||
output, stderr = funct.subprocess_execute(cmd)
|
||||
if stderr != '':
|
||||
print('error: '+stderr)
|
||||
print('error: ' + stderr)
|
||||
else:
|
||||
if "Terraform initialized in an empty directory" in output[0]:
|
||||
print('error: There is not need modules')
|
||||
|
@ -3275,9 +3281,9 @@ if form.getvalue('awsvars') or form.getvalue('awseditvars'):
|
|||
'group={} size={} os={} floating_ip={} volume_size={} server_name={} AWS_ACCESS_KEY={} ' \
|
||||
'AWS_SECRET_KEY={} firewall={} public_ip={} ssh_name={} delete_on_termination={} volume_type={} ' \
|
||||
'cloud=aws"'.format(
|
||||
region, group, size, oss, floating_ip, volume_size, awsvars, aws_key, aws_secret,
|
||||
firewall, public_ip, ssh_name, delete_on_termination, volume_type
|
||||
)
|
||||
region, group, size, oss, floating_ip, volume_size, awsvars, aws_key, aws_secret,
|
||||
firewall, public_ip, ssh_name, delete_on_termination, volume_type
|
||||
)
|
||||
|
||||
output, stderr = funct.subprocess_execute(cmd)
|
||||
if stderr != '':
|
||||
|
@ -3320,9 +3326,9 @@ if form.getvalue('dovars') or form.getvalue('doeditvars'):
|
|||
cmd = 'cd scripts/terraform/ && sudo ansible-playbook var_generator.yml -i inventory -e "region={} ' \
|
||||
'group={} size={} os={} floating_ip={} ssh_ids={} server_name={} token={} backup={} monitoring={} ' \
|
||||
'privet_net={} firewall={} floating_ip={} ssh_name={} cloud=do"'.format(
|
||||
region, group, size, oss, floating_ip, ssh_ids, dovars, token, backup, monitoring,
|
||||
privet_net, firewall, floating_ip, ssh_name
|
||||
)
|
||||
region, group, size, oss, floating_ip, ssh_ids, dovars, token, backup, monitoring,
|
||||
privet_net, firewall, floating_ip, ssh_name
|
||||
)
|
||||
output, stderr = funct.subprocess_execute(cmd)
|
||||
if stderr != '':
|
||||
print('error: ' + stderr)
|
||||
|
@ -3338,7 +3344,7 @@ if form.getvalue('dovalidate') or form.getvalue('doeditvalidate'):
|
|||
workspace = form.getvalue('doeditvalidate')
|
||||
group = form.getvalue('do_edit_group')
|
||||
|
||||
cmd = 'cd scripts/terraform/ && sudo terraform plan -no-color -input=false -target=module.do_module -var-file vars/' + workspace + '_'+group+'_do.tfvars'
|
||||
cmd = 'cd scripts/terraform/ && sudo terraform plan -no-color -input=false -target=module.do_module -var-file vars/' + workspace + '_' + group + '_do.tfvars'
|
||||
output, stderr = funct.subprocess_execute(cmd)
|
||||
if stderr != '':
|
||||
print('error: ' + stderr)
|
||||
|
@ -3433,7 +3439,7 @@ if form.getvalue('awsvalidate') or form.getvalue('awseditvalidate'):
|
|||
workspace = form.getvalue('awseditvalidate')
|
||||
group = form.getvalue('aws_edit_group')
|
||||
|
||||
cmd = 'cd scripts/terraform/ && sudo terraform plan -no-color -input=false -target=module.aws_module -var-file vars/' + workspace + '_'+group+'_aws.tfvars'
|
||||
cmd = 'cd scripts/terraform/ && sudo terraform plan -no-color -input=false -target=module.aws_module -var-file vars/' + workspace + '_' + group + '_aws.tfvars'
|
||||
output, stderr = funct.subprocess_execute(cmd)
|
||||
if stderr != '':
|
||||
print('error: ' + stderr)
|
||||
|
@ -3575,7 +3581,7 @@ if (
|
|||
cloud = 'gcore'
|
||||
state_name = 'gcore_instance'
|
||||
|
||||
tfvars = workspace + '_'+group+'_' + cloud + '.tfvars'
|
||||
tfvars = workspace + '_' + group + '_' + cloud + '.tfvars'
|
||||
cmd = 'cd scripts/terraform/ && sudo terraform apply -auto-approve -no-color -input=false -target=module.' + cloud + '_module -var-file vars/' + tfvars
|
||||
output, stderr = funct.subprocess_execute(cmd)
|
||||
|
||||
|
@ -3586,7 +3592,7 @@ if (
|
|||
stderr = stderr.replace("\'", "")
|
||||
sql.update_provisioning_server_status('Error', group, workspace, provider_id)
|
||||
sql.update_provisioning_server_error(stderr, group, workspace, provider_id)
|
||||
print('error: '+stderr)
|
||||
print('error: ' + stderr)
|
||||
else:
|
||||
if cloud == 'aws':
|
||||
cmd = 'cd scripts/terraform/ && sudo terraform state show module.aws_module.aws_eip.floating_ip[0]|grep -Eo "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"'
|
||||
|
@ -3607,7 +3613,7 @@ if (
|
|||
if cloud == 'gcore':
|
||||
cmd = 'cd scripts/terraform/ && sudo terraform state show module.gcore_module.gcore_instance.hapwi|grep "name"|grep -v -e "_name\|name_" |head -1 |awk -F"\\\"" \'{print $2}\''
|
||||
output, stderr = funct.subprocess_execute(cmd)
|
||||
print(':'+output[0])
|
||||
print(':' + output[0])
|
||||
sql.update_provisioning_server_gcore_name(workspace, output[0], group, provider_id)
|
||||
|
||||
funct.logging('localhost', 'Server ' + workspace + ' has been ' + action, provisioning=1)
|
||||
|
@ -3634,7 +3640,7 @@ if form.getvalue('provisiningdestroyserver'):
|
|||
sql.update_provisioning_server_error(stderr, group, workspace, provider_id)
|
||||
print('error: ' + stderr)
|
||||
else:
|
||||
cmd = 'cd scripts/terraform/ && sudo terraform destroy -auto-approve -no-color -target=module.'+cloud_type+'_module -var-file vars/' + tf_workspace + '.tfvars'
|
||||
cmd = 'cd scripts/terraform/ && sudo terraform destroy -auto-approve -no-color -target=module.' + cloud_type + '_module -var-file vars/' + tf_workspace + '.tfvars'
|
||||
output, stderr = funct.subprocess_execute(cmd)
|
||||
|
||||
if stderr != '':
|
||||
|
@ -3701,7 +3707,7 @@ if form.getvalue('gcorevalidate') or form.getvalue('gcoreeditvalidate'):
|
|||
workspace = form.getvalue('gcoreeditvalidate')
|
||||
group = form.getvalue('gcore_edit_group')
|
||||
|
||||
cmd = 'cd scripts/terraform/ && sudo terraform plan -no-color -input=false -target=module.gcore_module -var-file vars/' + workspace + '_'+group+'_gcore.tfvars'
|
||||
cmd = 'cd scripts/terraform/ && sudo terraform plan -no-color -input=false -target=module.gcore_module -var-file vars/' + workspace + '_' + group + '_gcore.tfvars'
|
||||
output, stderr = funct.subprocess_execute(cmd)
|
||||
if stderr != '':
|
||||
print('error: ' + stderr)
|
||||
|
@ -3736,8 +3742,10 @@ if form.getvalue('gcoreworkspace'):
|
|||
sql.update_provisioning_server_error(stderr, group, workspace, provider)
|
||||
print('error: ' + stderr)
|
||||
else:
|
||||
if sql.add_server_gcore(project, region, size, network_type, network_name, volume_size, ssh_name, workspace, oss, firewall,
|
||||
provider, group, 'Creating', delete_on_termination, volume_type):
|
||||
if sql.add_server_gcore(
|
||||
project, region, size, network_type, network_name, volume_size, ssh_name, workspace, oss, firewall,
|
||||
provider, group, 'Creating', delete_on_termination, volume_type
|
||||
):
|
||||
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
|
||||
|
@ -3771,8 +3779,10 @@ if form.getvalue('gcoreeditworkspace'):
|
|||
network_name = form.getvalue('gcore_edit_network_name')
|
||||
server_id = form.getvalue('server_id')
|
||||
|
||||
if sql.update_server_gcore(region, size, network_type, network_name, volume_size, ssh_name, workspace, oss, firewall,
|
||||
provider, group, 'Editing', server_id, delete_on_termination, volume_type, project):
|
||||
if sql.update_server_gcore(
|
||||
region, size, network_type, network_name, volume_size, ssh_name, workspace, oss, firewall,
|
||||
provider, group, 'Editing', server_id, delete_on_termination, volume_type, project
|
||||
):
|
||||
|
||||
try:
|
||||
cmd = 'cd scripts/terraform/ && sudo terraform workspace select ' + workspace + '_' + group + '_gcore'
|
||||
|
|
24
app/sql.py
24
app/sql.py
|
@ -305,8 +305,7 @@ def update_hapwi_server(server_id, alert, metrics, active, service_name):
|
|||
|
||||
|
||||
def update_server(
|
||||
hostname, group, typeip, enable, master, server_id, cred, port, desc, haproxy, nginx, apache,
|
||||
firewall, protected
|
||||
hostname, group, typeip, enable, master, server_id, cred, port, desc, haproxy, nginx, apache, firewall, protected
|
||||
):
|
||||
try:
|
||||
server_update = Server.update(
|
||||
|
@ -597,7 +596,7 @@ def get_api_token(token):
|
|||
|
||||
def get_user_id_by_api_token(token):
|
||||
query = (User.select(User.user_id).join(ApiToken, on=(
|
||||
ApiToken.user_name == User.username
|
||||
ApiToken.user_name == User.username
|
||||
)).where(ApiToken.token == token))
|
||||
try:
|
||||
query_res = query.execute()
|
||||
|
@ -703,9 +702,10 @@ def get_user_id_by_username(username: str):
|
|||
|
||||
|
||||
def get_user_role_by_uuid(uuid):
|
||||
query = (Role.select(Role.role_id).join(User, on=(Role.name == User.role)).join(UUID, on=(
|
||||
User.user_id == UUID.user_id
|
||||
)).where(UUID.uuid == uuid))
|
||||
query = (
|
||||
Role.select(Role.role_id).join(User, on=(Role.name == User.role)).join(
|
||||
UUID, on=(User.user_id == UUID.user_id)
|
||||
).where(UUID.uuid == uuid))
|
||||
try:
|
||||
query_res = query.execute()
|
||||
except Exception as e:
|
||||
|
@ -2780,9 +2780,9 @@ def update_provisioning_server_status(status, user_group_id, name, provider_id,
|
|||
)
|
||||
else:
|
||||
query = ProvisionedServers.update(status=status).where(
|
||||
(ProvisionedServers.name == name) &
|
||||
(ProvisionedServers.group_id == user_group_id) &
|
||||
(ProvisionedServers.provider_id == provider_id)
|
||||
(ProvisionedServers.name == name)
|
||||
& (ProvisionedServers.group_id == user_group_id)
|
||||
& (ProvisionedServers.provider_id == provider_id)
|
||||
)
|
||||
try:
|
||||
query.execute()
|
||||
|
@ -2882,9 +2882,9 @@ def select_provisioned_servers(**kwargs):
|
|||
prov_serv.instance_type, prov_serv.status, prov_serv.date, prov_serv.region, prov_serv.os,
|
||||
prov_serv.IP, prov_serv.last_error, prov_serv.name_template
|
||||
).where(
|
||||
(prov_serv.name == kwargs.get('new')) &
|
||||
(prov_serv.group_id == kwargs.get('group')) &
|
||||
(prov_serv.type == kwargs.get('type'))
|
||||
(prov_serv.name == kwargs.get('new'))
|
||||
& (prov_serv.group_id == kwargs.get('group'))
|
||||
& (prov_serv.type == kwargs.get('type'))
|
||||
)
|
||||
)
|
||||
else:
|
||||
|
|
Loading…
Reference in New Issue