2 - name: install keepalived xinet haproxy
3 apt: name={{ item }} state=present
9 - name: generate ha service list
10 shell: echo {{ item }} >> /opt/service
16 - name: install pexpect
17 pip: name=pexpect state=present
19 - name: activate ip_nonlocal_bind
20 sysctl: name=net.ipv4.ip_nonlocal_bind value=1
21 state=present reload=yes
23 - name: set net.ipv4.tcp_keepalive_intvl
24 sysctl: name=net.ipv4.tcp_keepalive_intvl value=1
25 state=present reload=yes
27 - name: set net.ipv4.tcp_keepalive_probes
28 sysctl: name=net.ipv4.tcp_keepalive_probes value=5
29 state=present reload=yes
31 - name: set net.ipv4.tcp_keepalive_time
32 sysctl: name=net.ipv4.tcp_keepalive_time value=5
33 state=present reload=yes
35 - name: update haproxy cfg
36 template: src=haproxy.cfg dest=/etc/haproxy/haproxy.cfg
37 notify: restart haproxy
39 - name: set haproxy enable flag
40 lineinfile: dest=/etc/default/haproxy state=present
43 notify: restart haproxy
45 - name: set haproxy log
46 lineinfile: dest=/etc/rsyslog.conf state=present
47 regexp="local0.* /var/log/haproxy.log"
48 line="local0.* /var/log/haproxy.log"
50 - name: set rsyslog udp module
51 lineinfile: dest=/etc/rsyslog.conf state=present
52 regexp="^#$ModLoad imudp"
55 - name: set rsyslog udp port
56 lineinfile: dest=/etc/rsyslog.conf state=present
57 regexp="^#$UDPServerRun 514"
58 line="$UDPServerRun 514"
60 - name: copy galera_chk file
61 copy: src=galera_chk dest=/usr/local/bin/galera_chk mode=0777
63 - name: copy notify file
64 copy: src=notify.sh dest=/usr/local/bin/notify.sh mode=0777
66 - name: copy notify template file
67 template: src=failover.j2 dest=/usr/local/bin/failover.py mode=0777
69 - name: add network service
70 lineinfile: dest=/etc/services state=present
71 line="mysqlchk 9200/tcp"
72 insertafter="Local services"
73 notify: restart xinetd
75 - name: copy mysqlchk file
76 copy: src=mysqlchk dest=/etc/xinetd.d/mysqlchk mode=0777
77 notify: restart xinetd
79 - name: set keepalived start param
80 lineinfile: dest=/etc/default/keepalived state=present
81 regexp="^DAEMON_ARGS=*"
82 line="DAEMON_ARGS=\"-D -d -S 1\""
84 - name: set keepalived log
85 lineinfile: dest=/etc/rsyslog.conf state=present
86 regexp="local1.* /var/log/keepalived.log"
87 line="local1.* /var/log/keepalived.log"
89 - name: update keepalived info
90 template: src=keepalived.conf dest=/etc/keepalived/keepalived.conf
91 notify: restart keepalived
93 - name: restart rsyslog
94 shell: service rsyslog restart