diff --git a/app/modules/service/exporter_installation.py b/app/modules/service/exporter_installation.py index 915e0ea7..690fe3d1 100644 --- a/app/modules/service/exporter_installation.py +++ b/app/modules/service/exporter_installation.py @@ -35,10 +35,9 @@ def haproxy_exp_installation(): f" STATS_PASS='{stats_password}' HOST={serv} USER={ssh_settings['user']} PASS='{ssh_settings['password']}' KEY={ssh_settings['key']}" ] - output, error = server_mod.subprocess_execute(commands[0]) - - show_installation_output(error, output, 'HAProxy exporter') + return_out = server_mod.subprocess_execute_with_rc(commands[0]) + show_installation_output(return_out['error'], return_out['output'], 'HAProxy exporter', rc=return_out['rc']) os.remove(script) @@ -71,10 +70,9 @@ def nginx_apache_exp_installation(): f" PASS='{ssh_settings['password']}' KEY={ssh_settings['key']}" ] - output, error = server_mod.subprocess_execute(commands[0]) - - show_installation_output(error, output, f'{service.title()} exporter') + return_out = server_mod.subprocess_execute_with_rc(commands[0]) + show_installation_output(return_out['error'], return_out['output'], f'{service.title()} exporter', rc=return_out['rc']) os.remove(script) @@ -97,8 +95,7 @@ def node_keepalived_exp_installation(service: str) -> None: f"HOST={serv} USER={ssh_settings['user']} PASS='{ssh_settings['password']}' KEY={ssh_settings['key']}" ] - output, error = server_mod.subprocess_execute(commands[0]) - - show_installation_output(error, output, 'Node exporter') + return_out = server_mod.subprocess_execute_with_rc(commands[0]) + show_installation_output(return_out['error'], return_out['output'], 'Node exporter', rc=return_out['rc']) os.remove(script) diff --git a/app/scripts/ansible/roles/keepalived/templates/add_vrrp.conf.j2 b/app/scripts/ansible/roles/keepalived/templates/add_vrrp.conf.j2 index ed1905de..2c0c8995 100644 --- a/app/scripts/ansible/roles/keepalived/templates/add_vrrp.conf.j2 +++ b/app/scripts/ansible/roles/keepalived/templates/add_vrrp.conf.j2 @@ -1,6 +1,6 @@ vrrp_instance VI_{{IP}} { state {{MASTER}} - interface {% if MASTER == 'MASTER' %}{{ETH}} {% else %} {{ETH_SLAVE}} {% endif %} + interface {% if MASTER == 'MASTER' %}{{ETH}} {% else %} {{SLAVE_ETH}} {% endif %} virtual_router_id {{ router_id }} diff --git a/app/scripts/ansible/roles/nginx.yml b/app/scripts/ansible/roles/nginx.yml index 24474ea5..57b5954e 100644 --- a/app/scripts/ansible/roles/nginx.yml +++ b/app/scripts/ansible/roles/nginx.yml @@ -72,6 +72,7 @@ group: "{{ ansible_user }}" state: directory recurse: yes + mode: 771 tags: - system - docker diff --git a/app/scripts/backup.sh b/app/scripts/backup.sh index 795bb7cc..4759b2c1 100644 --- a/app/scripts/backup.sh +++ b/app/scripts/backup.sh @@ -42,6 +42,7 @@ ansible-playbook $PWD/roles/backup.yml --key-file $KEY -e "ansible_user=$USER va if [ $? -gt 0 ] then echo "error: Can't create backup job" + rm -f $PWD/$HOST exit 1 fi rm -f $PWD/$HOST \ No newline at end of file diff --git a/app/scripts/install_apache.sh b/app/scripts/install_apache.sh index 4c7c3560..ce937918 100644 --- a/app/scripts/install_apache.sh +++ b/app/scripts/install_apache.sh @@ -49,6 +49,7 @@ fi if [ $? -gt 0 ] then echo "error: Can't install Apache service

" + rm -f $PWD/$HOST exit 1 else echo "ok" diff --git a/app/scripts/install_apache_exporter.sh b/app/scripts/install_apache_exporter.sh index e5881473..4f3feaff 100644 --- a/app/scripts/install_apache_exporter.sh +++ b/app/scripts/install_apache_exporter.sh @@ -40,6 +40,7 @@ fi if [ $? -gt 0 ] then echo "error: Can't install Apache exporter

" + rm -f $PWD/$HOST exit 1 fi diff --git a/app/scripts/install_grafana.sh b/app/scripts/install_grafana.sh index 0505d7a3..0f1cba70 100644 --- a/app/scripts/install_grafana.sh +++ b/app/scripts/install_grafana.sh @@ -40,7 +40,7 @@ ansible-playbook $PWD/roles/grafana.yml -e "PROXY=$PROXY" if [ $? -gt 0 ] then echo "error: Can't install Grafana and Prometheus services

" - exit 1 + exit 1 fi if ! sudo grep -Fxq " - job_name: proxy" /etc/prometheus/prometheus.yml; then sudo echo " - job_name: proxy" | sudo tee -a /etc/prometheus/prometheus.yml > /dev/null diff --git a/app/scripts/install_haproxy.sh b/app/scripts/install_haproxy.sh index f655d789..d0d6bbb7 100644 --- a/app/scripts/install_haproxy.sh +++ b/app/scripts/install_haproxy.sh @@ -50,5 +50,8 @@ fi if [ $? -gt 0 ] then echo "error: Cannot install Haproxy service" + rm -f $PWD/$HOST + exit 1 fi + rm -f $PWD/$HOST diff --git a/app/scripts/install_haproxy_geoip.sh b/app/scripts/install_haproxy_geoip.sh index 438b41e6..d85203a4 100644 --- a/app/scripts/install_haproxy_geoip.sh +++ b/app/scripts/install_haproxy_geoip.sh @@ -30,6 +30,7 @@ echo "$HOST ansible_port=$SSH_PORT" > $PWD/$HOST if [[ $maxmind_key == "" ]]; then echo "error: the Maxmind key cannot be empty" + rm -f $PWD/$HOST exit 1 fi @@ -41,6 +42,8 @@ fi if [ $? -gt 0 ] then - echo "error: Cannot download GeoLite2 database" + echo "error: Cannot download GeoLite2 database" + rm -f $PWD/$HOST + exit 1 fi rm -f $PWD/$HOST diff --git a/app/scripts/install_keepalived.sh b/app/scripts/install_keepalived.sh index 29b90b1e..8489aa99 100644 --- a/app/scripts/install_keepalived.sh +++ b/app/scripts/install_keepalived.sh @@ -21,8 +21,6 @@ do RETURN_TO_MASTER) RETURN_TO_MASTER=${VALUE} ;; ADD_VRRP) ADD_VRRP=${VALUE} ;; SSH_PORT) SSH_PORT=${VALUE} ;; - HAPROXY) HAPROXY=${VALUE} ;; - NGINX) NGINX=${VALUE} ;; *) esac done @@ -38,14 +36,15 @@ PWD=$PWD/scripts/ansible/ echo "$HOST ansible_port=$SSH_PORT" > $PWD/$HOST if [[ $KEY == "" ]]; then - ansible-playbook $PWD/roles/keepalived.yml -e "ansible_user=$USER ansible_ssh_pass='$PASS' variable_host=$HOST SYN_FLOOD=$SYN_FLOOD PROXY=$PROXY MASTER=$MASTER ETH=$ETH ETH_SLAVE=$ETH_SLAVE keepalived_path_logs=$keepalived_path_logs IP=$IP RESTART=$RESTART RETURN_TO_MASTER=$RETURN_TO_MASTER ADD_VRRP=$ADD_VRRP router_id=$router_id HAPROXY=$HAPROXY NGINX=$NGINX SSH_PORT=$SSH_PORT" -i $PWD/$HOST + ansible-playbook $PWD/roles/keepalived.yml -e "ansible_user=$USER ansible_ssh_pass='$PASS' variable_host=$HOST SYN_FLOOD=$SYN_FLOOD PROXY=$PROXY MASTER=$MASTER ETH=$ETH ETH_SLAVE=$ETH_SLAVE keepalived_path_logs=$keepalived_path_logs IP=$IP RESTART=$RESTART RETURN_TO_MASTER=$RETURN_TO_MASTER ADD_VRRP=$ADD_VRRP router_id=$router_id SSH_PORT=$SSH_PORT" -i $PWD/$HOST else - ansible-playbook $PWD/roles/keepalived.yml --key-file $KEY -e "ansible_user=$USER variable_host=$HOST SYN_FLOOD=$SYN_FLOOD PROXY=$PROXY MASTER=$MASTER ETH=$ETH ETH_SLAVE=$ETH_SLAVE keepalived_path_logs=$keepalived_path_logs IP=$IP RESTART=$RESTART RETURN_TO_MASTER=$RETURN_TO_MASTER ADD_VRRP=$ADD_VRRP router_id=$router_id HAPROXY=$HAPROXY NGINX=$NGINX SSH_PORT=$SSH_PORT" -i $PWD/$HOST + ansible-playbook $PWD/roles/keepalived.yml --key-file $KEY -e "ansible_user=$USER variable_host=$HOST SYN_FLOOD=$SYN_FLOOD PROXY=$PROXY MASTER=$MASTER ETH=$ETH ETH_SLAVE=$ETH_SLAVE keepalived_path_logs=$keepalived_path_logs IP=$IP RESTART=$RESTART RETURN_TO_MASTER=$RETURN_TO_MASTER ADD_VRRP=$ADD_VRRP router_id=$router_id SSH_PORT=$SSH_PORT" -i $PWD/$HOST fi if [ $? -gt 0 ] then - echo "error: Can't install keepalived service
" - exit 1 + echo "error: Can't install keepalived service
" + rm -f $PWD/$HOST + exit 1 fi rm -f $PWD/$HOST \ No newline at end of file diff --git a/app/scripts/install_keepalived_exporter.sh b/app/scripts/install_keepalived_exporter.sh index 7453c968..f6e20670 100644 --- a/app/scripts/install_keepalived_exporter.sh +++ b/app/scripts/install_keepalived_exporter.sh @@ -35,8 +35,9 @@ fi if [ $? -gt 0 ] then - echo "error: Can't install Keepalived exporter

" - exit 1 + echo "error: Can't install Keepalived exporter

" + rm -f $PWD/$HOST + exit 1 fi if [ "$EXP_PROM" == 0 ] then diff --git a/app/scripts/install_nginx.sh b/app/scripts/install_nginx.sh index ebc86fec..e9970d2c 100644 --- a/app/scripts/install_nginx.sh +++ b/app/scripts/install_nginx.sh @@ -57,6 +57,7 @@ fi if [ $? -gt 0 ] then echo "error: Can't install NGINX service

" + rm -f $PWD/$HOST exit 1 else echo "ok" diff --git a/app/scripts/install_nginx_exporter.sh b/app/scripts/install_nginx_exporter.sh index 3277112e..2b46b975 100644 --- a/app/scripts/install_nginx_exporter.sh +++ b/app/scripts/install_nginx_exporter.sh @@ -53,6 +53,7 @@ fi if [ $? -gt 0 ] then echo "error: Can't install Nginx exporter

" + rm -f $PWD/$HOST exit 1 fi diff --git a/app/scripts/install_nginx_geoip.sh b/app/scripts/install_nginx_geoip.sh index 3cf3859c..4fb251bb 100644 --- a/app/scripts/install_nginx_geoip.sh +++ b/app/scripts/install_nginx_geoip.sh @@ -30,6 +30,7 @@ echo "$HOST ansible_port=$SSH_PORT" > $PWD/$HOST if [[ $maxmind_key == "" ]]; then echo "error: the Maxmind key cannot be empty" + rm -f $PWD/$HOST exit 1 fi @@ -41,6 +42,8 @@ fi if [ $? -gt 0 ] then - echo "error: Cannot download GeoLite2 database" + echo "error: Cannot download GeoLite2 database" + rm -f $PWD/$HOST + exit 1 fi rm -f $PWD/$HOST diff --git a/app/scripts/install_node_exporter.sh b/app/scripts/install_node_exporter.sh index a392463b..015bd1a9 100644 --- a/app/scripts/install_node_exporter.sh +++ b/app/scripts/install_node_exporter.sh @@ -35,8 +35,9 @@ fi if [ $? -gt 0 ] then - echo "error: Can't install Node exporter

" - exit 1 + echo "error: Can't install Node exporter

" + rm -f $PWD/$HOST + exit 1 fi if [ "$EXP_PROM" == 0 ] then diff --git a/inc/ha.js b/inc/ha.js index 887cbafd..b560125b 100644 --- a/inc/ha.js +++ b/inc/ha.js @@ -16,6 +16,9 @@ $( function() { data = data.replace(/\s+/g,' '); if (data.indexOf('error:') != '-1' || data.indexOf('Failed') != '-1') { toastr.error(data); + } else if (data == '') { + var select_server = $('#translate').attr('data-select_server'); + toastr.warning(select_server); } else { response(data.split(" ")); } @@ -39,6 +42,9 @@ $( function() { if (data.indexOf('error:') != '-1' || data.indexOf('Failed') != '-1') { var p_err = show_pretty_ansible_error(data); toastr.error(p_err); + } else if (data == '') { + var select_server = $('#translate').attr('data-select_server'); + toastr.warning(select_server); } else { response(data.split(" ")); } @@ -62,6 +68,9 @@ $( function() { if (data.indexOf('error:') != '-1' || data.indexOf('Failed') != '-1') { var p_err = show_pretty_ansible_error(data); toastr.error(p_err); + } else if (data == '') { + var select_server = $('#translate').attr('data-select_server'); + toastr.warning(select_server); } else { response(data.split(" ")); } @@ -77,13 +86,16 @@ $( function() { url: "options.py", data: { showif:1, - serv: $("#slave").val(), + serv: $("#slave-add").val(), token: $('#token').val() }, success: function( data ) { data = data.replace(/\s+/g,' '); if (data.indexOf('error:') != '-1' || data.indexOf('Failed') != '-1') { toastr.error(data); + } else if (data == '') { + var select_server = $('#translate').attr('data-select_server'); + toastr.warning(select_server); } else { response(data.split(" ")); }