summaryrefslogtreecommitdiffstats
path: root/compass/deploy/ansible/roles/ha/tasks/main.yml
blob: a00c21ac4ae0321cfbe66207da4477eea97d5ab8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
---
- name: install keepalived xinet haproxy 
  apt: name={{ item }} state=present
  with_items:
    - keepalived
    - xinetd
    - haproxy
   
- name: generate ha service list
  shell: echo {{ item }} >> /opt/service
  with_items:
    - keepalived
    - xinetd
    - haproxy

- name: install pexpect
  pip: name=pexpect state=present

- name: activate ip_nonlocal_bind
  sysctl: name=net.ipv4.ip_nonlocal_bind value=1
          state=present reload=yes

- name: set net.ipv4.tcp_keepalive_intvl 
  sysctl: name=net.ipv4.tcp_keepalive_intvl value=1
          state=present reload=yes

- name: set net.ipv4.tcp_keepalive_probes
  sysctl: name=net.ipv4.tcp_keepalive_probes value=5
          state=present reload=yes

- name: set net.ipv4.tcp_keepalive_time
  sysctl: name=net.ipv4.tcp_keepalive_time value=5
          state=present reload=yes

- name: update haproxy cfg
  template: src=haproxy.cfg dest=/etc/haproxy/haproxy.cfg
  notify: restart haproxy

- name: set haproxy enable flag
  lineinfile: dest=/etc/default/haproxy state=present
              regexp="ENABLED=*"
              line="ENABLED=1"
  notify: restart haproxy

- name: set haproxy log
  lineinfile: dest=/etc/rsyslog.conf state=present
              regexp="local0.* /var/log/haproxy.log"
              line="local0.* /var/log/haproxy.log"

- name: set rsyslog udp module
  lineinfile: dest=/etc/rsyslog.conf state=present
              regexp="^#$ModLoad imudp"
              line="$ModLoad imudp"

- name: set rsyslog udp port
  lineinfile: dest=/etc/rsyslog.conf state=present
              regexp="^#$UDPServerRun 514"
              line="$UDPServerRun 514"

- name: copy galera_chk file
  copy: src=galera_chk dest=/usr/local/bin/galera_chk mode=0777

- name: copy notify file
  copy: src=notify.sh dest=/usr/local/bin/notify.sh mode=0777
  
- name: copy notify template file
  template: src=failover.j2 dest=/usr/local/bin/failover.py mode=0777

- name: add network service
  lineinfile: dest=/etc/services state=present
              line="mysqlchk          9200/tcp"
              insertafter="Local services"
  notify: restart xinetd

- name: copy mysqlchk file
  copy: src=mysqlchk dest=/etc/xinetd.d/mysqlchk mode=0777
  notify: restart xinetd

- name: set keepalived start param
  lineinfile: dest=/etc/default/keepalived state=present
              regexp="^DAEMON_ARGS=*"
              line="DAEMON_ARGS=\"-D -d -S 1\""

- name: set keepalived log
  lineinfile: dest=/etc/rsyslog.conf state=present
              regexp="local1.* /var/log/keepalived.log"
              line="local1.* /var/log/keepalived.log"

- name: update keepalived info
  template: src=keepalived.conf dest=/etc/keepalived/keepalived.conf
  notify: restart keepalived

- name: restart rsyslog
  shell: service rsyslog restart