12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- ---
- - 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'
|