summaryrefslogtreecommitdiffstats
path: root/roles/openshift_gcp/tasks/main.yml
diff options
context:
space:
mode:
authorDan Yocum <dyocum@redhat.com>2018-01-24 17:15:26 -0500
committerDan Yocum <dyocum@redhat.com>2018-01-24 17:15:26 -0500
commit8cbd53ed64f1819b8f4defbf196140a1692c5a42 (patch)
tree7dd61610e8ea6ae373e12dbb1c894047b8feac0f /roles/openshift_gcp/tasks/main.yml
parentc2de775c80b8daa629af514f24118f704c521c18 (diff)
parent0b57e113dbf16b5ac6f01859c9c4ab2aee594f87 (diff)
downloadopenshift-8cbd53ed64f1819b8f4defbf196140a1692c5a42.tar.gz
openshift-8cbd53ed64f1819b8f4defbf196140a1692c5a42.tar.bz2
openshift-8cbd53ed64f1819b8f4defbf196140a1692c5a42.tar.xz
openshift-8cbd53ed64f1819b8f4defbf196140a1692c5a42.zip
Merge branch 'master' into rm_origin-components
Diffstat (limited to 'roles/openshift_gcp/tasks/main.yml')
-rw-r--r--roles/openshift_gcp/tasks/main.yml43
1 files changed, 43 insertions, 0 deletions
diff --git a/roles/openshift_gcp/tasks/main.yml b/roles/openshift_gcp/tasks/main.yml
new file mode 100644
index 000000000..fb147bc78
--- /dev/null
+++ b/roles/openshift_gcp/tasks/main.yml
@@ -0,0 +1,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: "{{ files_dir }}"
+ 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: "{{ files_dir }}"
+ when:
+ - state | default('present') == 'present'
+
+- name: De-provision GCP resources
+ command: /tmp/openshift_gcp_provision_remove.sh
+ when:
+ - state | default('present') == 'absent'