mirror of https://github.com/Aidaho12/haproxy-wi
v8.1.5: Update HAProxy configurations and enhance error handling
Adjusted HAProxy Ansible role for ownership and removed unused peer configurations. Added error handling to HA-related views and database queries to improve stability. Updated HAProxy Exporter dependency to a newer version for compatibility.pull/418/head
parent
e53a7445c7
commit
5b8df16ba9
|
@ -23,6 +23,13 @@ def get_user() -> UserName:
|
||||||
print(str(e))
|
print(str(e))
|
||||||
|
|
||||||
|
|
||||||
|
def select_user_status() -> int:
|
||||||
|
try:
|
||||||
|
return UserName.get().Status
|
||||||
|
except Exception:
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
def get_roxy_tools():
|
def get_roxy_tools():
|
||||||
try:
|
try:
|
||||||
query_res = RoxyTool.select().where(RoxyTool.is_roxy == 1).execute()
|
query_res = RoxyTool.select().where(RoxyTool.is_roxy == 1).execute()
|
||||||
|
|
|
@ -66,6 +66,8 @@
|
||||||
template:
|
template:
|
||||||
src: haproxy.state.j2
|
src: haproxy.state.j2
|
||||||
dest: /etc/haproxy/haproxy.state
|
dest: /etc/haproxy/haproxy.state
|
||||||
|
owner: haproxy
|
||||||
|
group: haproxy
|
||||||
mode: 0644
|
mode: 0644
|
||||||
force: no
|
force: no
|
||||||
|
|
||||||
|
|
|
@ -45,24 +45,9 @@ listen stats
|
||||||
stats admin if TRUE
|
stats admin if TRUE
|
||||||
# END Roxy-WI MANAGED listen stats do not edit it directly
|
# END Roxy-WI MANAGED listen stats do not edit it directly
|
||||||
|
|
||||||
{% if M_OR_S != 'None' %}
|
|
||||||
peers default_peers
|
|
||||||
{% if M_OR_S == 'master' %}
|
|
||||||
peer {{ ansible_hostname }} {{MASTER}}:10000
|
|
||||||
{% for slave in slaves %}
|
|
||||||
peer slave_lb {{slave}}:10000
|
|
||||||
{% endfor %}
|
|
||||||
{% else %}
|
|
||||||
peer master_lb {{MASTER}}:10000
|
|
||||||
{% for slave in slaves %}
|
|
||||||
peer {{ ansible_hostname }} {{slave}}:10000
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
backend per_ip_and_url_rates
|
backend per_ip_and_url_rates
|
||||||
stick-table type binary len 8 size 1m expire 24h store http_req_rate(24h) {% if M_OR_S != 'None' %} peers default_peers {% endif %}
|
stick-table type binary len 8 size 1m expire 24h store http_req_rate(24h)
|
||||||
|
|
||||||
|
|
||||||
backend per_ip_rates
|
backend per_ip_rates
|
||||||
stick-table type ip size 1m expire 24h store gpc0,gpc0_rate(30s) {% if M_OR_S != 'None' %} peers default_peers {% endif %}
|
stick-table type ip size 1m expire 24h store gpc0,gpc0_rate(30s)
|
||||||
|
|
|
@ -27,4 +27,4 @@ galaxy_info:
|
||||||
- exporter
|
- exporter
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
- { role: 'bdellegrazie.ansible-role-prometheus_exporter', version: 'v1.1.3' }
|
- { role: 'bdellegrazie.ansible-role-prometheus_exporter', version: 'v2.0.3' }
|
||||||
|
|
|
@ -134,12 +134,15 @@ class HAView(MethodView):
|
||||||
return render_template('ha_cluster.html', **kwargs)
|
return render_template('ha_cluster.html', **kwargs)
|
||||||
else:
|
else:
|
||||||
settings = {}
|
settings = {}
|
||||||
clusters = ha_sql.select_cluster(cluster_id)
|
try:
|
||||||
router_id = ha_sql.get_router_id(cluster_id, default_router=1)
|
clusters = ha_sql.select_cluster(cluster_id)
|
||||||
slaves = ha_sql.select_cluster_slaves(cluster_id, router_id)
|
router_id = ha_sql.get_router_id(cluster_id, default_router=1)
|
||||||
cluster_services = ha_sql.select_cluster_services(cluster_id)
|
slaves = ha_sql.select_cluster_slaves(cluster_id, router_id)
|
||||||
vip = ha_sql.select_cluster_vip(cluster_id, router_id)
|
cluster_services = ha_sql.select_cluster_services(cluster_id)
|
||||||
is_virt = ha_sql.check_ha_virt(vip.id)
|
vip = ha_sql.select_cluster_vip(cluster_id, router_id)
|
||||||
|
is_virt = ha_sql.check_ha_virt(vip.id)
|
||||||
|
except Exception as e:
|
||||||
|
return roxywi_common.handler_exceptions_for_json_data(e, '')
|
||||||
if vip.use_src:
|
if vip.use_src:
|
||||||
use_src = 1
|
use_src = 1
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue