diff options
author | Clayton Coleman <ccoleman@redhat.com> | 2017-08-27 20:35:31 -0400 |
---|---|---|
committer | Clayton Coleman <ccoleman@redhat.com> | 2017-09-14 13:49:55 -0400 |
commit | 2c69867f9678591d9cf4aa762967afb2cf8d631c (patch) | |
tree | 273571ff15354977959ae033a7db6241366558e0 /roles/openshift_gcp/tasks | |
parent | f8393b7aef78c92437fe78092821a8d0a11c22cc (diff) | |
download | openshift-2c69867f9678591d9cf4aa762967afb2cf8d631c.tar.gz openshift-2c69867f9678591d9cf4aa762967afb2cf8d631c.tar.bz2 openshift-2c69867f9678591d9cf4aa762967afb2cf8d631c.tar.xz openshift-2c69867f9678591d9cf4aa762967afb2cf8d631c.zip |
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.
Diffstat (limited to 'roles/openshift_gcp/tasks')
-rw-r--r-- | roles/openshift_gcp/tasks/main.yaml | 43 |
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' |