blob: c7e583769948dd6891c481d52bb43d75ef9bc368 (
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
|
##############################################################################
# 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 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: 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
|