Removed fuel from Genesis master since fuel has moved to repo fuel.
[genesis.git] / compass / deploy / ansible / roles / ha / tasks / main.yml
1 ---
2 - name: install keepalived xinet haproxy 
3   apt: name={{ item }} state=present
4   with_items:
5     - keepalived
6     - xinetd
7     - haproxy
8    
9 - name: generate ha service list
10   shell: echo {{ item }} >> /opt/service
11   with_items:
12     - keepalived
13     - xinetd
14     - haproxy
15
16 - name: install pexpect
17   pip: name=pexpect state=present
18
19 - name: activate ip_nonlocal_bind
20   sysctl: name=net.ipv4.ip_nonlocal_bind value=1
21           state=present reload=yes
22
23 - name: set net.ipv4.tcp_keepalive_intvl 
24   sysctl: name=net.ipv4.tcp_keepalive_intvl value=1
25           state=present reload=yes
26
27 - name: set net.ipv4.tcp_keepalive_probes
28   sysctl: name=net.ipv4.tcp_keepalive_probes value=5
29           state=present reload=yes
30
31 - name: set net.ipv4.tcp_keepalive_time
32   sysctl: name=net.ipv4.tcp_keepalive_time value=5
33           state=present reload=yes
34
35 - name: update haproxy cfg
36   template: src=haproxy.cfg dest=/etc/haproxy/haproxy.cfg
37   notify: restart haproxy
38
39 - name: set haproxy enable flag
40   lineinfile: dest=/etc/default/haproxy state=present
41               regexp="ENABLED=*"
42               line="ENABLED=1"
43   notify: restart haproxy
44
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"
49
50 - name: set rsyslog udp module
51   lineinfile: dest=/etc/rsyslog.conf state=present
52               regexp="^#$ModLoad imudp"
53               line="$ModLoad imudp"
54
55 - name: set rsyslog udp port
56   lineinfile: dest=/etc/rsyslog.conf state=present
57               regexp="^#$UDPServerRun 514"
58               line="$UDPServerRun 514"
59
60 - name: copy galera_chk file
61   copy: src=galera_chk dest=/usr/local/bin/galera_chk mode=0777
62
63 - name: copy notify file
64   copy: src=notify.sh dest=/usr/local/bin/notify.sh mode=0777
65   
66 - name: copy notify template file
67   template: src=failover.j2 dest=/usr/local/bin/failover.py mode=0777
68
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
74
75 - name: copy mysqlchk file
76   copy: src=mysqlchk dest=/etc/xinetd.d/mysqlchk mode=0777
77   notify: restart xinetd
78
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\""
83
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"
88
89 - name: update keepalived info
90   template: src=keepalived.conf dest=/etc/keepalived/keepalived.conf
91   notify: restart keepalived
92
93 - name: restart rsyslog
94   shell: service rsyslog restart