forked from vitabaks/autobase
-
Notifications
You must be signed in to change notification settings - Fork 0
/
add_balancer.yml
93 lines (78 loc) · 3.02 KB
/
add_balancer.yml
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
---
# yamllint disable rule:line-length
- name: Add haproxy balancer node
hosts: balancers
become: true
become_method: sudo
any_errors_fatal: true
gather_facts: true
vars_files:
- vars/main.yml
- vars/system.yml
vars:
add_balancer: true
pre_tasks:
- name: Include OS-specific variables
include_vars: "vars/{{ ansible_os_family }}.yml"
when: not ansible_os_family == 'Rocky' and not ansible_os_family == 'AlmaLinux'
tags: always
# For compatibility with Ansible old versions
# (support for RockyLinux and AlmaLinux has been added to Ansible 2.11)
- name: Include OS-specific variables
include_vars: "vars/RedHat.yml"
when: ansible_os_family == 'Rocky' or ansible_os_family == 'AlmaLinux'
tags: always
- name: Checking Linux distribution
fail:
msg: "{{ ansible_distribution }} is not supported"
when: ansible_distribution not in os_valid_distributions
- name: Checking version of OS Linux
fail:
msg: "{{ ansible_distribution_version }} of {{ ansible_distribution }} is not supported"
when: ansible_distribution_version is version_compare(os_minimum_versions[ansible_distribution], '<')
- name: Update apt cache
apt:
update_cache: true
cache_valid_time: 3600
environment: "{{ proxy_env | default({}) }}"
when: ansible_os_family == "Debian" and installation_method == "repo"
- name: Make sure the gnupg and apt-transport-https packages are present
apt:
pkg:
- gnupg
- apt-transport-https
state: present
environment: "{{ proxy_env | default({}) }}"
when: ansible_os_family == "Debian" and installation_method == "repo"
- name: Build a firewall_ports_dynamic_var
set_fact:
firewall_ports_dynamic_var: "{{ firewall_ports_dynamic_var |default([]) }} + {{ firewall_allowed_tcp_ports_for[item] }}"
loop: "{{ hostvars[inventory_hostname].group_names }}"
when: firewall_enabled_at_boot|bool
tags: firewall
- name: Build a firewall_rules_dynamic_var
set_fact:
firewall_rules_dynamic_var: "{{ firewall_rules_dynamic_var |default([]) }} + {{ firewall_additional_rules_for[item] }}"
loop: "{{ hostvars[inventory_hostname].group_names }}"
when: firewall_enabled_at_boot|bool
tags: firewall
roles:
- role: ansible-role-firewall
environment: "{{ proxy_env | default({}) }}"
vars:
firewall_allowed_tcp_ports: "{{ firewall_ports_dynamic_var|list | unique }}"
firewall_additional_rules: "{{ firewall_rules_dynamic_var|list | unique }}"
when: firewall_enabled_at_boot|bool
tags: firewall
- role: hostname
- role: resolv_conf
- role: sysctl
- role: haproxy
when: with_haproxy_load_balancing|bool
- role: confd
when: dcs_type == "etcd" and
with_haproxy_load_balancing|bool
- role: keepalived
when: cluster_vip is defined and cluster_vip | length > 0 and
with_haproxy_load_balancing|bool
...