summaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible/roles/ha/tasks/main.yml
blob: e2f172e783ab877b5d63413002d8955049caec49 (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
95
96
##############################################################################
# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
---
- include_vars: "{{ ansible_os_family }}.yml"

- name: install keepalived xinet haproxy
  action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
  with_items: "{{ packages | union(packages_noarch) }}"

- name: generate ha service list
  lineinfile: dest=/opt/service create=yes line='{{ item }}'
  with_items: "{{ services | union(services_noarch) }}"

- name: install pexpect
  pip: name=pexpect state=present extra_args='--pre'

- 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
  when: ansible_os_family == "Debian"

- 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: 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\""
  when: ansible_os_family == "Debian"

- 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

- meta: flush_handlers