mirror of https://github.com/Aidaho12/haproxy-wi
parent
4b3c356ca2
commit
009d983f83
18
app/funct.py
18
app/funct.py
|
@ -934,12 +934,14 @@ def upload_and_restart(server_ip, cfg, **kwargs):
|
||||||
|
|
||||||
if kwargs.get("just_save") == 'save':
|
if kwargs.get("just_save") == 'save':
|
||||||
action = 'save'
|
action = 'save'
|
||||||
elif kwargs.get("just_save") == 'reload':
|
|
||||||
action = 'reload'
|
|
||||||
elif kwargs.get("just_save") == 'test':
|
elif kwargs.get("just_save") == 'test':
|
||||||
action = 'test'
|
action = 'test'
|
||||||
|
elif kwargs.get("just_save") == 'reload':
|
||||||
|
action = 'reload'
|
||||||
|
reload_or_restart_command = reload_command
|
||||||
else:
|
else:
|
||||||
action = 'restart'
|
action = 'restart'
|
||||||
|
reload_or_restart_command = restart_command
|
||||||
|
|
||||||
if kwargs.get('login'):
|
if kwargs.get('login'):
|
||||||
login = kwargs.get('login')
|
login = kwargs.get('login')
|
||||||
|
@ -955,10 +957,8 @@ def upload_and_restart(server_ip, cfg, **kwargs):
|
||||||
move_config = "sudo mv -f " + tmp_file + " " + config_path
|
move_config = "sudo mv -f " + tmp_file + " " + config_path
|
||||||
if action == "save":
|
if action == "save":
|
||||||
commands = [move_config]
|
commands = [move_config]
|
||||||
elif action == "reload":
|
|
||||||
commands = [move_config + reload_command]
|
|
||||||
else:
|
else:
|
||||||
commands = [move_config + restart_command]
|
commands = [move_config + reload_or_restart_command]
|
||||||
elif service == "nginx":
|
elif service == "nginx":
|
||||||
if is_docker == '1':
|
if is_docker == '1':
|
||||||
check_config = "sudo docker exec -it exec " + container_name + " nginx -t -q "
|
check_config = "sudo docker exec -it exec " + container_name + " nginx -t -q "
|
||||||
|
@ -969,10 +969,8 @@ def upload_and_restart(server_ip, cfg, **kwargs):
|
||||||
commands = [check_config + " && sudo rm -f " + tmp_file]
|
commands = [check_config + " && sudo rm -f " + tmp_file]
|
||||||
elif action == "save":
|
elif action == "save":
|
||||||
commands = [check_and_move]
|
commands = [check_and_move]
|
||||||
elif action == "reload":
|
|
||||||
commands = [ check_and_move + reload_command ]
|
|
||||||
else:
|
else:
|
||||||
commands = [check_and_move + restart_command]
|
commands = [check_and_move + reload_or_restart_command]
|
||||||
if sql.return_firewall(server_ip):
|
if sql.return_firewall(server_ip):
|
||||||
commands[0] += open_port_firewalld(cfg, server_ip=server_ip, service='nginx')
|
commands[0] += open_port_firewalld(cfg, server_ip=server_ip, service='nginx')
|
||||||
else:
|
else:
|
||||||
|
@ -986,10 +984,8 @@ def upload_and_restart(server_ip, cfg, **kwargs):
|
||||||
commands = [check_config + " && sudo rm -f " + tmp_file]
|
commands = [check_config + " && sudo rm -f " + tmp_file]
|
||||||
elif action == "save":
|
elif action == "save":
|
||||||
commands = [check_config + move_config]
|
commands = [check_config + move_config]
|
||||||
elif action == "reload":
|
|
||||||
commands = [check_config + move_config + reload_command ]
|
|
||||||
else:
|
else:
|
||||||
commands = [check_config + move_config + restart_command ]
|
commands = [check_config + move_config + reload_or_restart_command ]
|
||||||
if sql.return_firewall(server_ip):
|
if sql.return_firewall(server_ip):
|
||||||
commands[0] += open_port_firewalld(cfg, server_ip=server_ip)
|
commands[0] += open_port_firewalld(cfg, server_ip=server_ip)
|
||||||
|
|
||||||
|
|
|
@ -2,46 +2,26 @@
|
||||||
- name: check if Keepalived is installed
|
- name: check if Keepalived is installed
|
||||||
package_facts:
|
package_facts:
|
||||||
manager: "auto"
|
manager: "auto"
|
||||||
|
|
||||||
|
|
||||||
- name: Keepalived has already installed
|
|
||||||
debug:
|
|
||||||
msg: "Keepalived has already installed"
|
|
||||||
when: "'keepalived' in ansible_facts.packages"
|
|
||||||
|
|
||||||
- name: Exiting
|
|
||||||
meta: end_play
|
|
||||||
when: "'keepalived' in ansible_facts.packages"
|
|
||||||
|
|
||||||
|
|
||||||
- name: install EPEL Repository
|
- name: install EPEL Repository
|
||||||
yum:
|
yum:
|
||||||
name: epel-release
|
name: epel-release
|
||||||
state: latest
|
state: latest
|
||||||
when: (ansible_facts['os_family'] == "RedHat" or ansible_facts['os_family'] == 'CentOS')
|
when:
|
||||||
|
- ansible_facts['os_family'] == "RedHat" or ansible_facts['os_family'] == 'CentOS'
|
||||||
|
- ansible_facts['distribution_major_version'] == '7'
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
environment:
|
environment:
|
||||||
http_proxy: "{{PROXY}}"
|
http_proxy: "{{PROXY}}"
|
||||||
https_proxy: "{{PROXY}}"
|
https_proxy: "{{PROXY}}"
|
||||||
|
|
||||||
|
|
||||||
- name: install the latest version of Keepalived
|
|
||||||
yum:
|
|
||||||
name:
|
|
||||||
- keepalived
|
|
||||||
state: latest
|
|
||||||
when: (ansible_facts['os_family'] == "RedHat") or (ansible_facts['os_family'] == 'CentOS')
|
|
||||||
environment:
|
|
||||||
http_proxy: "{{PROXY}}"
|
|
||||||
https_proxy: "{{PROXY}}"
|
|
||||||
|
|
||||||
|
|
||||||
- name: Install keepalived
|
- name: Install the latest version of Keepalived
|
||||||
apt:
|
package:
|
||||||
name:
|
name: keepalived
|
||||||
- keepalived
|
|
||||||
state: present
|
state: present
|
||||||
when: (ansible_facts['os_family'] == 'Debian') or (ansible_facts['os_family'] == 'Ubuntu')
|
when: "'keepalived' not in ansible_facts.packages"
|
||||||
environment:
|
environment:
|
||||||
http_proxy: "{{PROXY}}"
|
http_proxy: "{{PROXY}}"
|
||||||
https_proxy: "{{PROXY}}"
|
https_proxy: "{{PROXY}}"
|
||||||
|
@ -76,6 +56,7 @@
|
||||||
command: getenforce
|
command: getenforce
|
||||||
register: sestatus
|
register: sestatus
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
when: (ansible_facts['os_family'] == "RedHat" or ansible_facts['os_family'] == 'CentOS')
|
||||||
|
|
||||||
|
|
||||||
- name: Disble SELINUX in config
|
- name: Disble SELINUX in config
|
||||||
|
@ -83,14 +64,18 @@
|
||||||
src: ../../haproxy/templates/selinux.j2
|
src: ../../haproxy/templates/selinux.j2
|
||||||
dest: /etc/selinux/config
|
dest: /etc/selinux/config
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
when: '"Enforcing" in sestatus.stdout'
|
when:
|
||||||
|
- sestatus.stdout is defined
|
||||||
|
- '"Enforcing" in sestatus.stdout'
|
||||||
|
|
||||||
|
|
||||||
- name: Disble SELINUX in env
|
- name: Disble SELINUX in env
|
||||||
shell: setenforce 0 2> /dev/null
|
shell: setenforce 0 2> /dev/null
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
debugger: never
|
debugger: never
|
||||||
when: '"Enforcing" in sestatus.stdout'
|
when:
|
||||||
|
- sestatus.stdout is defined
|
||||||
|
- '"Enforcing" in sestatus.stdout'
|
||||||
|
|
||||||
|
|
||||||
- name: Enable and start service keepalived
|
- name: Enable and start service keepalived
|
||||||
|
|
|
@ -2,7 +2,7 @@ vrrp_instance VI_{{IP}} {
|
||||||
state {{MASTER}}
|
state {{MASTER}}
|
||||||
interface {{ETH}}
|
interface {{ETH}}
|
||||||
virtual_router_id {{ range(2, 255) | random }}
|
virtual_router_id {{ range(2, 255) | random }}
|
||||||
priority 103
|
priority {% if RETURN_TO_MASTER == 1 and MASTER == 'MASTER' %}152{% elif MASTER == 'MASTER' and RETURN_TO_MASTER == 0 %}102{% else %}101{%endif%}
|
||||||
|
|
||||||
track_script {
|
track_script {
|
||||||
chk_haproxy
|
chk_haproxy
|
||||||
|
|
|
@ -11,7 +11,7 @@ vrrp_instance VI_1 {
|
||||||
state {{MASTER}}
|
state {{MASTER}}
|
||||||
interface {{ETH}}
|
interface {{ETH}}
|
||||||
virtual_router_id 1
|
virtual_router_id 1
|
||||||
priority 102
|
priority {% if RETURN_TO_MASTER == '1' and MASTER == 'MASTER' %}152{% elif MASTER == 'MASTER' and RETURN_TO_MASTER == '0' %}102{% else %}101{%endif%}
|
||||||
|
|
||||||
#check if we are still running
|
#check if we are still running
|
||||||
track_script {
|
track_script {
|
||||||
|
|
|
@ -15,6 +15,7 @@ do
|
||||||
KEY) KEY=${VALUE} ;;
|
KEY) KEY=${VALUE} ;;
|
||||||
SYN_FLOOD) SYN_FLOOD=${VALUE} ;;
|
SYN_FLOOD) SYN_FLOOD=${VALUE} ;;
|
||||||
RESTART) RESTART=${VALUE} ;;
|
RESTART) RESTART=${VALUE} ;;
|
||||||
|
RETURN_TO_MASTER) RETURN_TO_MASTER=${VALUE} ;;
|
||||||
ADD_VRRP) ADD_VRRP=${VALUE} ;;
|
ADD_VRRP) ADD_VRRP=${VALUE} ;;
|
||||||
SSH_PORT) SSH_PORT=${VALUE} ;;
|
SSH_PORT) SSH_PORT=${VALUE} ;;
|
||||||
*)
|
*)
|
||||||
|
@ -32,9 +33,9 @@ PWD=$PWD/scripts/ansible/
|
||||||
echo "$HOST ansible_port=$SSH_PORT" > $PWD/$HOST
|
echo "$HOST ansible_port=$SSH_PORT" > $PWD/$HOST
|
||||||
|
|
||||||
if [[ $KEY == "" ]]; then
|
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 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 IP=$IP RESTART=$RESTART RETURN_TO_MASTER=$RETURN_TO_MASTER ADD_VRRP=$ADD_VRRP SSH_PORT=$SSH_PORT" -i $PWD/$HOST
|
||||||
else
|
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 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 IP=$IP RESTART=$RESTART RETURN_TO_MASTER=$RETURN_TO_MASTER ADD_VRRP=$ADD_VRRP SSH_PORT=$SSH_PORT" -i $PWD/$HOST
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $? -gt 0 ]
|
if [ $? -gt 0 ]
|
||||||
|
|
Loading…
Reference in New Issue