From 4a78293a2ae2487101d2b47db73873109cd7261b Mon Sep 17 00:00:00 2001 From: Pavel Loginov Date: Sun, 15 Mar 2020 11:52:29 +0100 Subject: [PATCH] v4.0.0.0 Changelog: https://haproxy-wi.org/changelog.py#4 --- app/funct.py | 10 ++++++++++ app/options.py | 17 ++++++++++++++++- app/scripts/ansible/roles/backup.yml | 8 +++++++- .../ansible/roles/haproxy/tasks/main.yml | 5 +++++ app/scripts/ansible/roles/nginx.yml | 4 ++++ app/scripts/backup.sh | 3 ++- app/scripts/install_haproxy.sh | 5 +++-- app/scripts/install_keepalived.sh | 5 +++-- app/scripts/install_nginx.sh | 5 +++-- inc/style.css | 2 +- 10 files changed, 54 insertions(+), 10 deletions(-) diff --git a/app/funct.py b/app/funct.py index 5196e1f5..687684e1 100644 --- a/app/funct.py +++ b/app/funct.py @@ -385,6 +385,10 @@ def install_haproxy(serv, **kwargs): if ssh_enable == 0: ssh_key_name = '' + servers = sql.select_servers(server=serv) + for server in servers: + ssh_port = server[10] + os.system("cp scripts/%s ." % script) if hapver is None: @@ -399,6 +403,7 @@ def install_haproxy(serv, **kwargs): commands = [ "chmod +x "+script +" && ./"+script +" PROXY=" + proxy_serv+ " SOCK_PORT="+haproxy_sock_port+" STAT_PORT="+stats_port+" STAT_FILE="+server_state_file+ + " SSH_PORT="+ssh_port+ " STATS_USER="+stats_user+" STATS_PASS="+stats_password+" HAPVER="+hapver +" SYN_FLOOD="+syn_flood_protect+" HOST="+serv+ " USER="+ssh_user_name+" PASS="+ssh_user_password+" KEY="+ssh_key_name ] @@ -475,9 +480,14 @@ def install_nginx(serv): else: proxy_serv = '' + servers = sql.select_servers(server=serv) + for server in servers: + ssh_port = server[10] + syn_flood_protect = '1' if form.getvalue('syn_flood') == "1" else '' commands = [ "chmod +x "+script +" && ./"+script +" PROXY=" + proxy_serv+" STATS_USER="+stats_user+" STATS_PASS="+stats_password+ + " SSH_PORT="+ssh_port+ " CONFIG_PATH="+config_path+" STAT_PORT="+stats_port+" STAT_PAGE="+stats_page+" SYN_FLOOD="+syn_flood_protect+" HOST="+serv+ " USER="+ssh_user_name+" PASS="+ssh_user_password+" KEY="+ssh_key_name ] diff --git a/app/options.py b/app/options.py index d52ebf9a..0b52dbcb 100644 --- a/app/options.py +++ b/app/options.py @@ -288,7 +288,7 @@ if act == "overviewServers": async def get_runner_overviewServers(**kwargs): 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'),extensions=['jinja2.ext.loopcontrols', 'jinja2.ext.do']) template = env.get_template('overviewServers.html') servers = [] @@ -776,8 +776,13 @@ if form.getvalue('masteradd'): proxy_serv = '' os.system("cp scripts/%s ." % script) + + servers = sql.select_servers(server=master) + for server in servers: + ssh_port = server[10] commands = [ "chmod +x "+script +" && ./"+script +" PROXY=" + proxy_serv+ + " SSH_PORT="+ssh_port+ " ETH="+ETH+" IP="+str(IP)+" MASTER=MASTER"+" RESTART="+kp+" ADD_VRRP=1 HOST="+str(master)+ " USER="+str(ssh_user_name)+" PASS="+str(ssh_user_password)+" KEY="+str(ssh_key_name) ] @@ -805,8 +810,13 @@ if form.getvalue('masteradd'): if ssh_enable == 0: ssh_key_name = '' + + servers = sql.select_servers(server=slave) + for server in servers: + ssh_port = server[10] commands = [ "chmod +x "+script +" && ./"+script +" PROXY=" + proxy_serv+ + " SSH_PORT="+ssh_port+ " ETH="+ETH+" IP="+str(IP)+" MASTER=BACKUP"+" RESTART="+kp+" ADD_VRRP=1 HOST="+str(slave)+ " USER="+str(ssh_user_name)+" PASS="+str(ssh_user_password)+" KEY="+str(ssh_key_name) ] @@ -856,10 +866,15 @@ if form.getvalue('backup') or form.getvalue('deljob') or form.getvalue('backupup if sql.check_exists_backup(server): print('info: Backup job for %s already exists' % server) sys.exit() + + servers = sql.select_servers(server=serv) + for server in servers: + ssh_port = server[10] os.system("cp scripts/%s ." % script) commands = [ "chmod +x "+script +" && ./"+script +" HOST="+rserver+" SERVER="+server+" TYPE="+type+ + " SSH_PORT="+ssh_port+ " TIME="+time+" RPATH="+rpath+" DELJOB="+deljob+" USER="+str(ssh_user_name)+" KEY="+str(ssh_key_name) ] output, error = funct.subprocess_execute(commands[0]) diff --git a/app/scripts/ansible/roles/backup.yml b/app/scripts/ansible/roles/backup.yml index b9259029..82dc7b01 100644 --- a/app/scripts/ansible/roles/backup.yml +++ b/app/scripts/ansible/roles/backup.yml @@ -3,6 +3,10 @@ become_method: sudo gather_facts: no tasks: + - name: Set SSH port + set_fact: + ansible_port: "{{SSH_PORT}}" + - name: Creates directory file: path: "{{ RPATH }}/haproxy-wi-configs-backup/configs" @@ -25,6 +29,7 @@ with_items: - kp_config - hap_config + - nginx_config - name: Removes backup jobs cron: @@ -33,4 +38,5 @@ when: DELJOB|length > 0 with_items: - kp_config - - hap_config \ No newline at end of file + - hap_config + - nginx_config \ No newline at end of file diff --git a/app/scripts/ansible/roles/haproxy/tasks/main.yml b/app/scripts/ansible/roles/haproxy/tasks/main.yml index 13a84364..7210cde9 100644 --- a/app/scripts/ansible/roles/haproxy/tasks/main.yml +++ b/app/scripts/ansible/roles/haproxy/tasks/main.yml @@ -1,4 +1,9 @@ --- +- name: Set SSH port + set_fact: + ansible_port: "{{SSH_PORT}}" + + - name: check if HAProxy is installed package_facts: manager: "auto" diff --git a/app/scripts/ansible/roles/nginx.yml b/app/scripts/ansible/roles/nginx.yml index ac2916a9..89da7ddb 100644 --- a/app/scripts/ansible/roles/nginx.yml +++ b/app/scripts/ansible/roles/nginx.yml @@ -2,6 +2,10 @@ become: yes become_method: sudo tasks: + - name: Set SSH port + set_fact: + ansible_port: "{{SSH_PORT}}" + - name: check if Nginx is installed package_facts: manager: "auto" diff --git a/app/scripts/backup.sh b/app/scripts/backup.sh index dafc9693..74597d50 100644 --- a/app/scripts/backup.sh +++ b/app/scripts/backup.sh @@ -13,6 +13,7 @@ do USER) USER=${VALUE} ;; KEY) KEY=${VALUE} ;; DELJOB) DELJOB=${VALUE} ;; + SSH_PORT) SSH_PORT=${VALUE} ;; *) esac done @@ -32,7 +33,7 @@ else TYPE='' fi -ansible-playbook $PWD/roles/backup.yml --key-file $KEY -e "ansible_user=$USER variable_host=$HOST RPATH=$RPATH TYPE=$TYPE TIME=$TIME HOST=$HOST SERVER=$SERVER KEY=$KEY DELJOB=$DELJOB" -i $PWD/$HOST +ansible-playbook $PWD/roles/backup.yml --key-file $KEY -e "ansible_user=$USER variable_host=$HOST RPATH=$RPATH TYPE=$TYPE TIME=$TIME HOST=$HOST SERVER=$SERVER KEY=$KEY DELJOB=$DELJOB SSH_PORT=$SSH_PORT" -i $PWD/$HOST if [ $? -gt 0 ] then diff --git a/app/scripts/install_haproxy.sh b/app/scripts/install_haproxy.sh index 84fd25f7..0aeada27 100644 --- a/app/scripts/install_haproxy.sh +++ b/app/scripts/install_haproxy.sh @@ -17,6 +17,7 @@ do PASS) PASS=${VALUE} ;; KEY) KEY=${VALUE} ;; SYN_FLOOD) SYN_FLOOD=${VALUE} ;; + SSH_PORT) SSH_PORT=${VALUE} ;; *) esac done @@ -28,9 +29,9 @@ PWD=$PWD/scripts/ansible/ echo $HOST > $PWD/$HOST if [[ $KEY == "" ]]; then - ansible-playbook $PWD/roles/haproxy.yml -e "ansible_user=$USER ansible_ssh_pass=$PASS variable_host=$HOST PROXY=$PROXY HAPVER=$HAPVER SOCK_PORT=$SOCK_PORT STAT_PORT=$STAT_PORT STATS_USER=$STATS_USER STATS_PASS=$STATS_PASS STAT_FILE=$STAT_FILE SYN_FLOOD=$SYN_FLOOD" -i $PWD/$HOST + ansible-playbook $PWD/roles/haproxy.yml -e "ansible_user=$USER ansible_ssh_pass=$PASS variable_host=$HOST PROXY=$PROXY HAPVER=$HAPVER SOCK_PORT=$SOCK_PORT STAT_PORT=$STAT_PORT STATS_USER=$STATS_USER STATS_PASS=$STATS_PASS STAT_FILE=$STAT_FILE SSH_PORT=$SSH_PORT SYN_FLOOD=$SYN_FLOOD" -i $PWD/$HOST else - ansible-playbook $PWD/roles/haproxy.yml --key-file $KEY -e "ansible_user=$USER variable_host=$HOST PROXY=$PROXY HAPVER=$HAPVER SOCK_PORT=$SOCK_PORT STAT_PORT=$STAT_PORT STATS_USER=$STATS_USER STATS_PASS=$STATS_PASS STAT_FILE=$STAT_FILE SYN_FLOOD=$SYN_FLOOD" -i $PWD/$HOST + ansible-playbook $PWD/roles/haproxy.yml --key-file $KEY -e "ansible_user=$USER variable_host=$HOST PROXY=$PROXY HAPVER=$HAPVER SOCK_PORT=$SOCK_PORT STAT_PORT=$STAT_PORT STATS_USER=$STATS_USER STATS_PASS=$STATS_PASS STAT_FILE=$STAT_FILE SSH_PORT=$SSH_PORT SYN_FLOOD=$SYN_FLOOD" -i $PWD/$HOST fi if [ $? -gt 0 ] diff --git a/app/scripts/install_keepalived.sh b/app/scripts/install_keepalived.sh index 4b5cd06a..8ff2e93b 100644 --- a/app/scripts/install_keepalived.sh +++ b/app/scripts/install_keepalived.sh @@ -16,6 +16,7 @@ do SYN_FLOOD) SYN_FLOOD=${VALUE} ;; RESTART) RESTART=${VALUE} ;; ADD_VRRP) ADD_VRRP=${VALUE} ;; + SSH_PORT) SSH_PORT=${VALUE} ;; *) esac done @@ -27,9 +28,9 @@ PWD=$PWD/scripts/ansible/ echo $HOST > $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 IP=$IP RESTART=$RESTART ADD_VRRP=$ADD_VRRP" -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 IP=$IP RESTART=$RESTART ADD_VRRP=$ADD_VRRP 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 IP=$IP RESTART=$RESTART ADD_VRRP=$ADD_VRRP" -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 IP=$IP RESTART=$RESTART ADD_VRRP=$ADD_VRRP SSH_PORT=$SSH_PORT" -i $PWD/$HOST fi if [ $? -gt 0 ] diff --git a/app/scripts/install_nginx.sh b/app/scripts/install_nginx.sh index fb2c27fa..782dc638 100644 --- a/app/scripts/install_nginx.sh +++ b/app/scripts/install_nginx.sh @@ -15,6 +15,7 @@ do STAT_PAGE) STAT_PAGE=${VALUE} ;; STATS_USER) STATS_USER=${VALUE} ;; STATS_PASS) STATS_PASS=${VALUE} ;; + SSH_PORT) SSH_PORT=${VALUE} ;; *) esac done @@ -35,9 +36,9 @@ PWD=$PWD/scripts/ansible/ echo $HOST > $PWD/$HOST if [[ $KEY == "" ]]; then - ansible-playbook $PWD/roles/nginx.yml -e "ansible_user=$USER ansible_ssh_pass=$PASS variable_host=$HOST PROXY=$PROXY SYN_FLOOD=$SYN_FLOOD STAT_PAGE=$STAT_PAGE STAT_PORT=$STAT_PORT STATS_USER=$STATS_USER STATS_PASS=$STATS_PASS" -i $PWD/$HOST + ansible-playbook $PWD/roles/nginx.yml -e "ansible_user=$USER ansible_ssh_pass=$PASS variable_host=$HOST PROXY=$PROXY SYN_FLOOD=$SYN_FLOOD STAT_PAGE=$STAT_PAGE STAT_PORT=$STAT_PORT STATS_USER=$STATS_USER STATS_PASS=$STATS_PASS SSH_PORT=$SSH_PORT" -i $PWD/$HOST else - ansible-playbook $PWD/roles/nginx.yml --key-file $KEY -e "ansible_user=$USER variable_host=$HOST PROXY=$PROXY SYN_FLOOD=$SYN_FLOOD STAT_PAGE=$STAT_PAGE STAT_PORT=$STAT_PORT STATS_USER=$STATS_USER STATS_PASS=$STATS_PASS" -i $PWD/$HOST + ansible-playbook $PWD/roles/nginx.yml --key-file $KEY -e "ansible_user=$USER variable_host=$HOST PROXY=$PROXY SYN_FLOOD=$SYN_FLOOD STAT_PAGE=$STAT_PAGE STAT_PORT=$STAT_PORT STATS_USER=$STATS_USER STATS_PASS=$STATS_PASS SSH_PORT=$SSH_PORT" -i $PWD/$HOST fi if [ $? -gt 0 ] diff --git a/inc/style.css b/inc/style.css index 9aa6dcd6..23e2eebe 100644 --- a/inc/style.css +++ b/inc/style.css @@ -755,7 +755,7 @@ label { padding-left: 15px; padding-right: 15px; margin: 20px; - margin-right: 10px; + margin-right: 5px; margin-bottom: 20px ; margin-top: 0px; display: block;