blob: ad205ba3348829404b35bd76b5825df1f71745ed (
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
|
#
# This role relies on gcloud invoked via templated bash in order to
# provide a high performance deployment option. The next logical step
# is to transition to a deployment manager template which is then instantiated.
# TODO: use a formal set of role parameters consistent with openshift_aws
#
---
- name: Templatize DNS script
template: src=dns.j2.sh dest=/tmp/openshift_gcp_provision_dns.sh mode=u+rx
- name: Templatize provision script
template: src=provision.j2.sh dest=/tmp/openshift_gcp_provision.sh mode=u+rx
- name: Templatize de-provision script
template: src=remove.j2.sh dest=/tmp/openshift_gcp_provision_remove.sh mode=u+rx
when:
- state | default('present') == 'absent'
- name: Provision GCP DNS domain
command: /tmp/openshift_gcp_provision_dns.sh
args:
chdir: "{{ playbook_dir }}/files"
register: dns_provision
when:
- state | default('present') == 'present'
- name: Ensure that DNS resolves to the hosted zone
assert:
that:
- "lookup('dig', public_hosted_zone, 'qtype=NS', wantlist=True) | sort | join(',') == dns_provision.stdout"
msg: "The DNS domain {{ public_hosted_zone }} defined in 'public_hosted_zone' must have NS records pointing to the Google nameservers: '{{ dns_provision.stdout }}' instead of '{{ lookup('dig', public_hosted_zone, 'qtype=NS') }}'."
when:
- state | default('present') == 'present'
- name: Provision GCP resources
command: /tmp/openshift_gcp_provision.sh
args:
chdir: "{{ playbook_dir }}/files"
when:
- state | default('present') == 'present'
- name: De-provision GCP resources
command: /tmp/openshift_gcp_provision_remove.sh
when:
- state | default('present') == 'absent'
|