forked from vitabaks/postgresql_cluster
-
Notifications
You must be signed in to change notification settings - Fork 0
/
balancers.yml
89 lines (76 loc) · 2.94 KB
/
balancers.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
---
- name: balancers.yml | Configure load balancers
hosts: balancers
become: true
become_method: sudo
any_errors_fatal: true
gather_facts: true
vars_files:
- vars/main.yml
- vars/system.yml
vars:
vip_manager_disable: false # or 'true' for disable vip-manager service (if installed)
pre_tasks:
- name: Include OS-specific variables
ansible.builtin.include_vars: "vars/{{ ansible_os_family }}.yml"
tags: always
- name: Checking Linux distribution
ansible.builtin.fail:
msg: "{{ ansible_distribution }} is not supported"
when: ansible_distribution not in os_valid_distributions
- name: Checking version of OS Linux
ansible.builtin.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
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600
register: apt_status
until: apt_status is success
delay: 5
retries: 3
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
ansible.builtin.apt:
pkg:
- gnupg
- apt-transport-https
state: present
register: apt_status
until: apt_status is success
delay: 5
retries: 3
environment: "{{ proxy_env | default({}) }}"
when: ansible_os_family == "Debian" and installation_method == "repo"
- name: Build a firewall_ports_dynamic_var
ansible.builtin.set_fact:
firewall_ports_dynamic_var: "{{ firewall_ports_dynamic_var | default([]) + (firewall_allowed_tcp_ports_for[item] | default([])) }}"
loop: "{{ hostvars[inventory_hostname].group_names }}"
when: firewall_enabled_at_boot | bool
tags: firewall
- name: Build a firewall_rules_dynamic_var
ansible.builtin.set_fact:
firewall_rules_dynamic_var: "{{ firewall_rules_dynamic_var | default([]) + (firewall_additional_rules_for[item] | default([])) }}"
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 | default([]) | unique }}"
firewall_additional_rules: "{{ firewall_rules_dynamic_var | default([]) | unique }}"
when: firewall_enabled_at_boot|bool
tags: firewall
- role: hostname
- role: resolv_conf
- role: sysctl
- role: haproxy
- role: confd
when: dcs_type == "etcd"
- role: vip-manager/disable
when: vip_manager_disable|bool
- role: keepalived
when: cluster_vip is defined and cluster_vip | length > 0