Pavel Loginov 2020-02-07 01:36:58 +03:00
parent 85acd08eae
commit efc5ac3081
9 changed files with 78 additions and 26 deletions

View File

@ -397,7 +397,6 @@ def update_db_v_4(**kwargs):
sql.append("INSERT INTO settings (param, value, section, `desc`) values('nginx_status_command', 'systemctl status nginx', 'nginx', 'Command for status check Nginx service');")
sql.append("INSERT INTO settings (param, value, section, `desc`) values('nginx_dir', '/etc/nginx/conf.d/', 'nginx', 'Path to Nginx dir');")
sql.append("INSERT INTO settings (param, value, section, `desc`) values('nginx_config_path', '/etc/nginx/conf.d/default.conf', 'nginx', 'Path to Nginx config');")
sql.append("update `servers` set `haproxy` = '1';")
for i in sql:
try:
cur.execute(i)

View File

@ -312,7 +312,7 @@ if act == "overviewHapwi":
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('templates/ajax'), autoescape=True)
template = env.get_template('/overviewHapwi.html')
cmd = "top -b -n 1 |head -9"
cmd = "top -b -n 1 |head -12"
server_status, stderr = funct.subprocess_execute(cmd)
template = template.render(server_status=server_status,stderr=stderr)
@ -1159,6 +1159,8 @@ if form.getvalue('newserver') is not None:
ip = form.getvalue('newip')
group = form.getvalue('newservergroup')
typeip = form.getvalue('typeip')
haproxy = form.getvalue('haproxy')
nginx = form.getvalue('nginx')
enable = form.getvalue('enable')
master = form.getvalue('slave')
cred = form.getvalue('cred')
@ -1167,7 +1169,7 @@ if form.getvalue('newserver') is not None:
port = form.getvalue('newport')
desc = form.getvalue('desc')
if sql.add_server(hostname, ip, group, typeip, enable, master, cred, port, desc):
if sql.add_server(hostname, ip, group, typeip, enable, master, cred, port, desc, haproxy, nginx):
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('templates/'))
template = env.get_template('ajax/new_server.html')
@ -1195,6 +1197,8 @@ if form.getvalue('updateserver') is not None:
name = form.getvalue('updateserver')
group = form.getvalue('servergroup')
typeip = form.getvalue('typeip')
haproxy = form.getvalue('haproxy')
nginx = form.getvalue('nginx')
enable = form.getvalue('enable')
master = form.getvalue('slave')
id = form.getvalue('id')
@ -1205,7 +1209,7 @@ if form.getvalue('updateserver') is not None:
if name is None or port is None:
print(error_mess)
else:
sql.update_server(name, group, typeip, enable, master, id, cred, port, desc)
sql.update_server(name, group, typeip, enable, master, id, cred, port, desc, haproxy, nginx)
funct.logging('the server '+name, ' has updated ', haproxywi=1, login=1)

View File

@ -161,11 +161,11 @@ def update_group(name, descript, id):
con.close()
def add_server(hostname, ip, group, typeip, enable, master, cred, port, desc):
def add_server(hostname, ip, group, typeip, enable, master, cred, port, desc, haproxy, nginx):
con, cur = get_cur()
sql = """ INSERT INTO servers (hostname, ip, groups, type_ip, enable, master, cred, port, `desc`)
sql = """ INSERT INTO servers (hostname, ip, groups, type_ip, enable, master, cred, port, `desc`, haproxy, nginx)
VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')
""" % (hostname, ip, group, typeip, enable, master, cred, port, desc)
""" % (hostname, ip, group, typeip, enable, master, cred, port, desc, haproxy, nginx)
try:
cur.execute(sql)
con.commit()
@ -210,7 +210,7 @@ def update_hapwi_server(id, alert, metrics, active):
con.close()
def update_server(hostname, group, typeip, enable, master, id, cred, port, desc):
def update_server(hostname, group, typeip, enable, master, id, cred, port, desc, haproxy, nginx):
con, cur = get_cur()
sql = """ update servers set
hostname = '%s',
@ -220,8 +220,10 @@ def update_server(hostname, group, typeip, enable, master, id, cred, port, desc)
master = '%s',
cred = '%s',
port = '%s',
`desc` = '%s'
where id = '%s'""" % (hostname, group, typeip, enable, master, cred, port, desc, id)
`desc` = '%s',
haproxy = '%s',
nginx = '%s'
where id = '%s'""" % (hostname, group, typeip, enable, master, cred, port, desc, haproxy, nginx, id)
try:
cur.execute(sql)
con.commit()

View File

@ -145,6 +145,8 @@
<th class="group-field">Group</th>
<th class="checkbox-head">Enable</th>
<th class="checkbox-head"><span title="Vitrual IP, something like VRRP">Virt</span></th>
<th class="checkbox-head">HAProxy</th>
<th class="checkbox-head">Nginx</th>
<th class="slave-field"><span title="Actions with master config will automatically apply on slave">Slave for</span></th>
<th class="cred-field">Credentials</th>
<th>Description</th>

View File

@ -33,6 +33,14 @@
<td class="padding20" title="Vitrual IP, something like VRRP">Virt</td>
<td>{{ checkbox('typeip') }}</td>
</tr>
<tr>
<td class="padding20" title="Is there HAProxy?">HAProxy</td>
<td>{{ checkbox('haproxy') }} </td>
</tr>
<tr>
<td class="padding20" title="Is there Nginx?">Nginx</td>
<td>{{ checkbox('nginx') }}</td>
</tr>
<tr>
<td class="padding20" title="Actions with master config will automatically apply on slave">Slave for</td>
<td>

View File

@ -15,6 +15,22 @@
{{ checkbox(id) }}
{% endif %}
</td>
<td class="checkbox">
{% set id = 'haproxy-' + server.0|string() %}
{% if server.15 == 1 %}
{{ checkbox(id, checked='checked') }}
{% else %}
{{ checkbox(id) }}
{% endif %}
</td>
<td class="checkbox">
{% set id = 'nginx-' + server.0|string() %}
{% if server.14 == 1 %}
{{ checkbox(id, checked='checked') }}
{% else %}
{{ checkbox(id) }}
{% endif %}
</td>
<td>
<select id="slavefor-{{server.0}}">
<option value="0" selected>Not slave</option>

View File

@ -74,6 +74,8 @@
<td class="checkbox-head"><span title="SSH port">Port</span></td></td>
<td class="checkbox-head">Enable</td>
<td class="checkbox-head"><span title="Vitrual IP, something like VRRP">Virt</span></td>
<th class="checkbox-head">HAProxy</th>
<th class="checkbox-head">Nginx</th>
<td class="slave-field"><span title="Actions with master config will automatically apply on slave">Slave for</span></td>
<td class="cred-field">Credentials</td>
<td>Description</td>

View File

@ -246,12 +246,13 @@ function showStats() {
data: {
act: "stats",
serv: $("#serv").val(),
service: $("#service").val(),
token: $('#token').val()
},
type: "POST",
success: function( data ) {
$("#ajax").html(data);
window.history.pushState("Stats", "Stats", cur_url[0]+"?serv="+$("#serv").val());
window.history.pushState("Stats", "Stats", cur_url[0]+"?service="+$("#service").val()+"&serv="+$("#serv").val());
wait();
}
} );

View File

@ -663,12 +663,20 @@ function addServer() {
var cred = $('#credentials').val();
var typeip = 0;
var enable = 0;
var haproxy = 0;
var nginx = 0;
if ($('#typeip').is(':checked')) {
typeip = '1';
}
if ($('#enable').is(':checked')) {
enable = '1';
}
if ($('#haproxy').is(':checked')) {
haproxy = '1';
}
if ($('#nginx').is(':checked')) {
nginx = '1';
}
allFields = $( [] ).add( $('#new-server-add') ).add( $('#new-ip') ).add( $('#new-port') )
allFields.removeClass( "ui-state-error" );
valid = valid && checkLength( $('#new-server-add'), "Hostname", 1 );
@ -684,6 +692,8 @@ function addServer() {
newport: $('#new-port').val(),
newservergroup: newservergroup,
typeip: typeip,
haproxy: haproxy,
nginx: nginx,
enable: enable,
slave: $('#slavefor' ).val(),
cred: cred,
@ -934,25 +944,20 @@ function cloneServer(id) {
} else {
$('#typeip').prop('checked', false)
}
if ($('#alert-'+id).is(':checked')) {
$('#alert').prop('checked', true)
if ($('#haproxy-'+id).is(':checked')) {
$('#haproxy').prop('checked', true)
} else {
$('#alert').prop('checked', false)
$('#haproxy').prop('checked', false)
}
if ($('#metrics-'+id).is(':checked')) {
$('#metrics').prop('checked', true)
if ($('#nginx-'+id).is(':checked')) {
$('#nginx').prop('checked', true)
} else {
$('#metrics').prop('checked', false)
}
if ($('#active-'+id).is(':checked')) {
$('#active').prop('checked', true)
} else {
$('#active').prop('checked', false)
$('#nginx').prop('checked', false)
}
$('#enable').checkboxradio("refresh");
$('#typeip').checkboxradio("refresh");
$('#alert').checkboxradio("refresh");
$('#active').checkboxradio("refresh");
$('#haproxy').checkboxradio("refresh");
$('#nginx').checkboxradio("refresh");
$('#new-server-add').val($('#hostname-'+id).val())
$('#new-ip').val($('#ip-'+id).val())
$('#new-port').val($('#port-'+id).val())
@ -1186,16 +1191,27 @@ function updateServer(id) {
$('.alert-danger').remove();
var typeip = 0;
var enable = 0;
var haproxy = 0;
var nginx = 0;
if ($('#typeip-'+id).is(':checked')) {
typeip = '1';
}
if ($('#haproxy-'+id).is(':checked')) {
haproxy = '1';
}
if ($('#nginx-'+id).is(':checked')) {
nginx = '1';
}
if ($('#enable-'+id).is(':checked')) {
enable = '1';
}
var servergroup = $('#servergroup-'+id+' option:selected' ).val();
if (cur_url[0] == "servers.py") {
servergroup = $('#servergroup-'+id).val();
console.log(cur_url[0])
if (cur_url[0].split('#')[0] == "servers.py") {
servergroup = $('#new-server-group-add').val();
console.log('1')
}
console.log(servergroup)
$.ajax( {
url: "options.py",
data: {
@ -1203,6 +1219,8 @@ function updateServer(id) {
port: $('#port-'+id).val(),
servergroup: servergroup,
typeip: typeip,
haproxy: haproxy,
nginx: nginx,
enable: enable,
slave: $('#slavefor-'+id+' option:selected' ).val(),
cred: $('#credentials-'+id+' option:selected').val(),