-
Notifications
You must be signed in to change notification settings - Fork 0
/
deployment.yml
70 lines (62 loc) · 2.29 KB
/
deployment.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
---
## MASTER PLAY - DEPLOY POSTGRESQL REPLICA
- hosts: "{{ cluster_name }}"
remote_user: "{{ rmt_user }}"
become: yes
gather_facts: no
any_errors_fatal: yes
order: sorted
tasks:
- name: "check that the pg_type is defined properly"
assert:
that:
- pg_type in [ "REPLICA", "STANDALONE"]
fail_msg: "the pg_type parameter is not defined properly"
tags: chk-prms
- name: "make sure we have the required parameters"
assert:
that:
- "{{ item }} is defined"
fail_msg: "one of the required parameters are not defined, \
make sure you have defined the following parameters: \
{{ required_params|join(', ') }}"
loop: "{{ required_params + \
(pg_type == \"REPLICA\") \
| ternary(replica_required_params, \
standalone_required_params) }}"
tags: chk-prms
- name: "make sure we don't have the required parameters that we don't need"
assert:
that:
- "{{ item }} is undefined"
fail_msg: "{{ item }} should not be defined in {{ pg_type }}"
loop: "{{ (pg_type == \"REPLICA\") \
| ternary(replica_required_params, \
standalone_required_params) }}"
when: pg_type == "STANDALONE"
tags: chk-prms
- name: "version checks"
assert:
that:
- minimum_supported_version is version(maximum_supported_version, '<=')
- version is version(minimum_supported_version, '>=')
- version is version(maximum_supported_version, '<=')
fail_msg: "{{ version }} is not supported, \
you should provide a version: \
{{ minimum_supported_version }} - \
{{ maximum_supported_version }} \
if you won't provide version \
we will take the latest supported"
tags: chk-prms
- name: "Checks for the replica parameters"
assert:
that:
- primary_host in ansible_play_batch
- ansible_play_batch|length|int == 2
when: pg_type == "REPLICA"
tags: chk-prms
- import_playbook: prerequisite.yml
- import_playbook: deploy_cluster.yml
- import_playbook: deploy_replica.yml
when: pg_type == "REPLICA"
...