forked from vitabaks/autobase
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathadd_pgnode.yml
120 lines (103 loc) · 3.32 KB
/
add_pgnode.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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
---
# yamllint disable rule:line-length
- name: PostgreSQL High-Availability Cluster Scaling (add replica node)
hosts: replica
become: true
become_method: sudo
any_errors_fatal: true
gather_facts: true
vars_files:
- vars/main.yml
- vars/system.yml
- "vars/{{ ansible_os_family }}.yml"
pre_tasks:
- 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: etc_hosts
- role: add-repository
- role: packages
- role: sudo
- role: sysctl
- role: transparent_huge_pages
- role: pam_limits
- role: io-scheduler
- role: locales
- role: timezone
- role: ntp
- role: ssh-keys
- hosts: pgbackrest:postgres_cluster
become: true
become_method: sudo
gather_facts: true
any_errors_fatal: true
vars_files:
- vars/main.yml
- "vars/{{ ansible_os_family }}.yml"
roles:
- role: pgbackrest
when: pgbackrest_install|bool
- hosts: replica
become: true
become_method: sudo
gather_facts: true
any_errors_fatal: true
vars_files:
- vars/main.yml
- vars/system.yml
- "vars/{{ ansible_os_family }}.yml"
vars:
existing_pgcluster: true
roles:
- role: wal-g
when: wal_g_install|bool
- role: pgbouncer
when: pgbouncer_install|bool
- role: patroni
- role: vip-manager
when: not with_haproxy_load_balancing|bool and
(cluster_vip is defined and cluster_vip | length > 0)
# finish (info)
- role: deploy-finish
...