mirror of https://github.com/Aidaho12/haproxy-wi
parent
b9a3a4fc4e
commit
ff5fced563
|
@ -17,6 +17,7 @@ config_read = ""
|
||||||
configver = ""
|
configver = ""
|
||||||
stderr = ""
|
stderr = ""
|
||||||
aftersave = ""
|
aftersave = ""
|
||||||
|
error = ""
|
||||||
|
|
||||||
try:
|
try:
|
||||||
cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE"))
|
cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE"))
|
||||||
|
@ -61,7 +62,7 @@ if form.getvalue('serv') is not None and form.getvalue('config') is not None:
|
||||||
if master[0] != None:
|
if master[0] != None:
|
||||||
funct.upload_and_restart(master[0], configver, just_save=save)
|
funct.upload_and_restart(master[0], configver, just_save=save)
|
||||||
|
|
||||||
stderr = funct.upload_and_restart(serv, configver, just_save=save)
|
stderr, error = funct.upload_and_restart(serv, configver, just_save=save)
|
||||||
aftersave = 1
|
aftersave = 1
|
||||||
|
|
||||||
|
|
||||||
|
@ -79,5 +80,6 @@ output_from_parsed_template = template.render(h2 = 1, title = "Old Versions HAPr
|
||||||
stderr = stderr,
|
stderr = stderr,
|
||||||
open = form.getvalue('open'),
|
open = form.getvalue('open'),
|
||||||
onclick = "showUploadConfig()",
|
onclick = "showUploadConfig()",
|
||||||
|
error = error,
|
||||||
note = 1)
|
note = 1)
|
||||||
print(output_from_parsed_template)
|
print(output_from_parsed_template)
|
||||||
|
|
12
app/funct.py
12
app/funct.py
|
@ -245,11 +245,18 @@ def upload(serv, path, file, **kwargs):
|
||||||
|
|
||||||
def upload_and_restart(serv, cfg, **kwargs):
|
def upload_and_restart(serv, cfg, **kwargs):
|
||||||
tmp_file = tmp_config_path + "/" + get_data('config') + ".cfg"
|
tmp_file = tmp_config_path + "/" + get_data('config') + ".cfg"
|
||||||
|
error = ""
|
||||||
|
|
||||||
|
try:
|
||||||
|
os.system("dos2unix "+cfg)
|
||||||
|
except OSError:
|
||||||
|
error = 'Please install dos2unix'
|
||||||
|
pass
|
||||||
|
|
||||||
try:
|
try:
|
||||||
ssh = ssh_connect(serv)
|
ssh = ssh_connect(serv)
|
||||||
except:
|
except:
|
||||||
print('<center><div class="alert alert-danger">Connect fail</div>')
|
error = 'Connect fail'
|
||||||
sftp = ssh.open_sftp()
|
sftp = ssh.open_sftp()
|
||||||
sftp.put(cfg, tmp_file)
|
sftp.put(cfg, tmp_file)
|
||||||
sftp.close()
|
sftp.close()
|
||||||
|
@ -272,8 +279,7 @@ def upload_and_restart(serv, cfg, **kwargs):
|
||||||
for command in commands:
|
for command in commands:
|
||||||
stdin, stdout, stderr = ssh.exec_command(command)
|
stdin, stdout, stderr = ssh.exec_command(command)
|
||||||
|
|
||||||
return stderr.read().decode(encoding='UTF-8')
|
return stderr.read().decode(encoding='UTF-8'), error
|
||||||
|
|
||||||
ssh.close()
|
ssh.close()
|
||||||
|
|
||||||
def open_port_firewalld(cfg):
|
def open_port_firewalld(cfg):
|
||||||
|
|
|
@ -18,6 +18,7 @@ config_read = ""
|
||||||
cfg = ""
|
cfg = ""
|
||||||
stderr = ""
|
stderr = ""
|
||||||
aftersave = ""
|
aftersave = ""
|
||||||
|
error = ""
|
||||||
|
|
||||||
try:
|
try:
|
||||||
cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE"))
|
cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE"))
|
||||||
|
@ -71,7 +72,7 @@ if form.getvalue('serv') is not None and form.getvalue('config') is not None:
|
||||||
except IOError:
|
except IOError:
|
||||||
print("Can't read import config file")
|
print("Can't read import config file")
|
||||||
|
|
||||||
stderr = funct.upload_and_restart(serv, cfg, just_save=save, keepalived=1)
|
stderr, error = funct.upload_and_restart(serv, cfg, just_save=save, keepalived=1)
|
||||||
|
|
||||||
os.system("/bin/diff -ub %s %s >> %s/config_edit-%s.log" % (oldcfg, cfg, log_path, funct.get_data('logs')))
|
os.system("/bin/diff -ub %s %s >> %s/config_edit-%s.log" % (oldcfg, cfg, log_path, funct.get_data('logs')))
|
||||||
os.system("/bin/rm -f " + kp_save_configs_dir + "*.old")
|
os.system("/bin/rm -f " + kp_save_configs_dir + "*.old")
|
||||||
|
@ -87,5 +88,6 @@ output_from_parsed_template = template.render(h2 = 1, title = "Edit Runnig Keepa
|
||||||
cfg = cfg,
|
cfg = cfg,
|
||||||
selects = servers,
|
selects = servers,
|
||||||
stderr = stderr,
|
stderr = stderr,
|
||||||
|
error = error,
|
||||||
keepalived = 1)
|
keepalived = 1)
|
||||||
print(output_from_parsed_template)
|
print(output_from_parsed_template)
|
|
@ -25,7 +25,10 @@ print('Content-type: text/html\n')
|
||||||
|
|
||||||
if form.getvalue('getcert') is not None and serv is not None:
|
if form.getvalue('getcert') is not None and serv is not None:
|
||||||
commands = [ "ls -1t /etc/ssl/certs/ |grep pem" ]
|
commands = [ "ls -1t /etc/ssl/certs/ |grep pem" ]
|
||||||
|
try:
|
||||||
funct.ssh_command(serv, commands, ip="1")
|
funct.ssh_command(serv, commands, ip="1")
|
||||||
|
except:
|
||||||
|
print('<div class="alert alert-danger" style="margin:0">Can not connect to the server</div>')
|
||||||
|
|
||||||
if form.getvalue('ssh_cert'):
|
if form.getvalue('ssh_cert'):
|
||||||
ssh_keys = config.get('ssh', 'ssh_keys')
|
ssh_keys = config.get('ssh', 'ssh_keys')
|
||||||
|
|
|
@ -320,6 +320,27 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="ssl">
|
<div id="ssl">
|
||||||
|
<table>
|
||||||
|
<tr class="overviewHead">
|
||||||
|
<td class="padding10 first-collumn">View certificates</td>
|
||||||
|
<td>
|
||||||
|
Exist certificates
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="padding10 first-collumn">
|
||||||
|
<select required name="serv" id="serv5">
|
||||||
|
<option disabled selected>Choose server</option>
|
||||||
|
{% for select in selects %}
|
||||||
|
<option value="{{ select.2 }}">{{ select.1 }}</option>
|
||||||
|
{% endfor %}
|
||||||
|
</select>
|
||||||
|
<a class="ui-button ui-widget ui-corner-all" id="ssl_key_view" title="View certificates">View</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<span id="ajax-show-ssl"></span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<table>
|
<table>
|
||||||
<tr class="overviewHead">
|
<tr class="overviewHead">
|
||||||
<td class="padding10 first-collumn">Upload SSL certificates</td>
|
<td class="padding10 first-collumn">Upload SSL certificates</td>
|
||||||
|
|
|
@ -94,7 +94,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="copyright-menu">HAproxy-WI v2.5</div>
|
<div class="copyright-menu">HAproxy-WI v2.5.1</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
@ -179,10 +179,5 @@
|
||||||
<div id="ajax-compare"></div>
|
<div id="ajax-compare"></div>
|
||||||
<div id="ajax"></div>
|
<div id="ajax"></div>
|
||||||
</div>
|
</div>
|
||||||
<center style="margin-left: 8%;">
|
|
||||||
<h3>
|
|
||||||
<a class="ui-button ui-widget ui-corner-all" href="#top" title="Move up">UP</a>
|
|
||||||
</h3><br />
|
|
||||||
</center>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
|
@ -51,16 +51,18 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if aftersave %}
|
{% if aftersave %}
|
||||||
<div class="alert alert-info">New config was saved as: {{ cfg }} </div>
|
<div class="alert alert-info">New config was saved as: {{ cfg }} </div>
|
||||||
<br><a href="viewsttats.py?serv={{ serv }}" target="_blank" title="View stats">Go to view stats</a>
|
{% if stderr or error %}
|
||||||
{% if stderr %}
|
|
||||||
<div class="alert alert-danger">
|
<div class="alert alert-danger">
|
||||||
Some errors:
|
Some errors:
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
{{stderr}}
|
{{stderr}}
|
||||||
|
{{error}}
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="alert alert-success">Config ok</div>
|
<div class="alert alert-success">Config ok</div>
|
||||||
|
<a href="viewsttats.py?serv={{ serv }}" target="_blank" title="View stats">Go to view stats</a>
|
||||||
|
<script>window.history.pushState("Map", "Map", cur_url[0])</script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</center>
|
</center>
|
||||||
|
|
|
@ -40,16 +40,19 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if aftersave %}
|
{% if aftersave %}
|
||||||
<div class="alert alert-info">Uploaded old config ver: {{ configver }} </div>
|
<div class="alert alert-info">Uploaded old config ver: {{ configver }} </div>
|
||||||
<br><a href="viewsttats.py?serv={{ serv }}" target="_blank" title="View stats">Go to view stats</a>
|
{% if stderr or error %}
|
||||||
{% if stderr %}
|
|
||||||
<div class="alert alert-danger">
|
<div class="alert alert-danger">
|
||||||
Some errors:
|
Some errors:
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
{{stderr}}
|
{{stderr}}
|
||||||
|
{{error}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="alert alert-success">Config ok</div>
|
<div class="alert alert-success">Config ok</div>
|
||||||
|
<a href="viewsttats.py?serv={{ serv }}" target="_blank" title="View stats">Go to view stats</a>
|
||||||
|
<script>window.history.pushState("Map", "Map", cur_url[0])</script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</center>
|
</center>
|
||||||
|
|
|
@ -148,7 +148,7 @@ function showMap() {
|
||||||
type: "GET",
|
type: "GET",
|
||||||
success: function( data ) {
|
success: function( data ) {
|
||||||
$("#ajax").html(data);
|
$("#ajax").html(data);
|
||||||
window.history.pushState("Map", "Map", cur_url[0]+"?serv="+$("#serv").val());
|
//window.history.pushState("Map", "Map", cur_url[0]+"?serv="+$("#serv").val());
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
|
@ -184,7 +184,7 @@ function showCompare() {
|
||||||
type: "GET",
|
type: "GET",
|
||||||
success: function( data ) {
|
success: function( data ) {
|
||||||
$("#ajax").html(data);
|
$("#ajax").html(data);
|
||||||
window.history.pushState("Compare", "Compare", cur_url[0]+"?serv="+$("#serv").val()+"&open=open&left="+$("#left").val()+"&right="+$("#right").val());
|
//window.history.pushState("Compare", "Compare", cur_url[0]+"?serv="+$("#serv").val()+"&open=open&left="+$("#left").val()+"&right="+$("#right").val());
|
||||||
$.getScript(url);
|
$.getScript(url);
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
|
@ -200,7 +200,7 @@ function showCompareConfigs() {
|
||||||
type: "GET",
|
type: "GET",
|
||||||
success: function( data ) {
|
success: function( data ) {
|
||||||
$("#ajax-compare").html(data);
|
$("#ajax-compare").html(data);
|
||||||
window.history.pushState("Compare", "Compare", cur_url[0]+"?serv="+$("#serv").val()+"&open=open");
|
//window.history.pushState("Compare", "Compare", cur_url[0]+"?serv="+$("#serv").val()+"&open=open");
|
||||||
$.getScript(url);
|
$.getScript(url);
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
|
@ -215,7 +215,7 @@ function showConfig() {
|
||||||
type: "GET",
|
type: "GET",
|
||||||
success: function( data ) {
|
success: function( data ) {
|
||||||
$("#ajax").html(data);
|
$("#ajax").html(data);
|
||||||
window.history.pushState("Show config", "Show config", cur_url[0]+"?serv="+$("#serv").val()+"&open=open");
|
//window.history.pushState("Show config", "Show config", cur_url[0]+"?serv="+$("#serv").val()+"&open=open");
|
||||||
var urlConfigShowJs = '/inc/configshow.js';
|
var urlConfigShowJs = '/inc/configshow.js';
|
||||||
$.getScript(urlConfigShowJs);
|
$.getScript(urlConfigShowJs);
|
||||||
}
|
}
|
||||||
|
@ -695,4 +695,24 @@ $( function() {
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
});
|
});
|
||||||
|
$('#ssl_key_view').click(function() {
|
||||||
|
$.ajax( {
|
||||||
|
url: "options.py",
|
||||||
|
data: {
|
||||||
|
serv: $('#serv5').val(),
|
||||||
|
getcert: "viewcert"
|
||||||
|
},
|
||||||
|
type: "GET",
|
||||||
|
success: function( data ) {
|
||||||
|
//data = data.replace(/\s+/g,' ');
|
||||||
|
//data = data.split(" ");
|
||||||
|
if (data.indexOf('danger') != '-1') {
|
||||||
|
$("#ajax-show-ssl").html(data);
|
||||||
|
} else {
|
||||||
|
$('.alert-danger').remove();
|
||||||
|
$( "#ajax-show-ssl").html("<b>"+data+"</b>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
});
|
||||||
});
|
});
|
|
@ -46,7 +46,7 @@ if [[ $(cat /etc/*-rele* |grep NAME |head -1) != 'NAME="Red Hat Enterprise Linux
|
||||||
yum -y install epel-release
|
yum -y install epel-release
|
||||||
fi
|
fi
|
||||||
|
|
||||||
yum -y install git ncat net-tools lshw python34 python34-pip httpd mod_ssl gcc python34-devel
|
yum -y install git ncat net-tools lshw python34 dos2unix python34-pip httpd mod_ssl gcc python34-devel
|
||||||
|
|
||||||
if [ $? -eq 1 ]
|
if [ $? -eq 1 ]
|
||||||
then
|
then
|
||||||
|
|
Loading…
Reference in New Issue