summaryrefslogtreecommitdiffstats
path: root/roles/openshift_gcp/tasks
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2017-09-18 11:11:31 -0700
committerGitHub <noreply@github.com>2017-09-18 11:11:31 -0700
commit67191c2b9dea3ef7399773b96c7fc1d827498eac (patch)
tree8ca9bbf02e80fb12b203352b0cd5d8d0d85e9a1b /roles/openshift_gcp/tasks
parent74d245fbab25d91a989fc7263ae3e8827267510c (diff)
parent2c69867f9678591d9cf4aa762967afb2cf8d631c (diff)
downloadopenshift-67191c2b9dea3ef7399773b96c7fc1d827498eac.tar.gz
openshift-67191c2b9dea3ef7399773b96c7fc1d827498eac.tar.bz2
openshift-67191c2b9dea3ef7399773b96c7fc1d827498eac.tar.xz
openshift-67191c2b9dea3ef7399773b96c7fc1d827498eac.zip
Merge pull request #5237 from smarterclayton/gce
Automatic merge from submit-queue Port origin-gce roles for cluster setup to copy AWS provisioning This is a rough cut of the existing origin-gce structure (itself a refined version of the ref arch). I've removed everything except core cluster provisioning, image building, and inventory setup. Node groups are part of the "all at once" provisioning but can be changed. @kwoodson we should talk on monday, this is me adapting the origin-gce dynamic provisioning to be roughly parallel to openshift_aws. Still some topics we should discuss.
Diffstat (limited to 'roles/openshift_gcp/tasks')
-rw-r--r--roles/openshift_gcp/tasks/main.yaml43
1 files changed, 43 insertions, 0 deletions
diff --git a/roles/openshift_gcp/tasks/main.yaml b/roles/openshift_gcp/tasks/main.yaml
new file mode 100644
index 000000000..ad205ba33
--- /dev/null
+++ b/roles/openshift_gcp/tasks/main.yaml
@@ -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: "{{ 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'