Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix for rhpds issues #391

Merged
merged 3 commits into from
Aug 20, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions provisioner/provision_lab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,10 @@
become: yes
gather_facts: no
roles:
- { role: aws_dns, when: create_login_page is defined and create_login_page }
- role: aws_dns
when:
- create_login_page is defined
- create_login_page
tags: control_node

- name: Setup Amazon S3 Website for Student Login
Expand All @@ -118,7 +121,10 @@
become: no
gather_facts: no
roles:
- { role: aws_workshop_login_page, when: create_login_page is defined and create_login_page }
- role: aws_workshop_login_page
when:
- create_login_page is defined
- create_login_page
tags: control_node

- name: include workshop_type unique setup roles
Expand Down
39 changes: 28 additions & 11 deletions provisioner/roles/aws_dns/tasks/create.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,31 @@
- name: DNS FOR STUDENT WEBPAGE FOR US-EAST-1
become: False
route53:
state: "{{ s3_state }}"
zone: "{{workshop_dns_zone}}"
record: "{{username}}.{{ec2_name_prefix|lower}}.{{workshop_dns_zone}}"
type: A
overwrite: yes
value: "{{ansible_host}}"
delegate_to: localhost
- name: perform DNS and SSL certs for ansible control node
block:
- name: dns for student webpage
become: False
route53:
state: "{{ s3_state }}"
zone: "{{workshop_dns_zone}}"
record: "{{username}}.{{ec2_name_prefix|lower}}.{{workshop_dns_zone}}"
type: A
overwrite: yes
value: "{{ansible_host}}"
delegate_to: localhost
register: route53_status

rescue:
- debug:
msg: 'DNS entries for control nodes have hit an issue in the aws_dns role, we will fail gracefully'

- name: appends
set_fact:
dns_information: |
- route53 module hit an error, DNS is not working, please use IP addresses
run_once: yes
delegate_to: localhost
delegate_facts: true

- name: CERTBOT FOR TOWER
include_tasks: "tower.yml"
when: towerinstall|bool
when:
- towerinstall|bool
- route53_status is not failed
126 changes: 68 additions & 58 deletions provisioner/roles/aws_workshop_login_page/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -1,64 +1,74 @@
- name: CREATE STUDENT WEBPAGE
template:
src: ./templates/index.html.j2
dest: "{{ playbook_dir }}/{{ ec2_name_prefix }}/{{ ec2_name_prefix|lower }}-index.html"
when: s3_state == 'present'
- name: website creation and deletion block
block:
- name: CREATE STUDENT WEBPAGE
template:
src: ./templates/index.html.j2
dest: "{{ playbook_dir }}/{{ ec2_name_prefix }}/{{ ec2_name_prefix|lower }}-index.html"
when: s3_state == 'present'

- name: CREATE S3 BUCKET
s3_bucket:
name: "{{ ec2_name_prefix|lower }}.{{ workshop_dns_zone|lower }}"
state: "{{ s3_state }}"
region: "{{ ec2_region }}"
force: yes
retries: 4
delay: 15
register: s3_result
until:
- s3_result.failed == false
- name: CREATE S3 BUCKET
s3_bucket:
name: "{{ ec2_name_prefix|lower }}.{{ workshop_dns_zone|lower }}"
state: "{{ s3_state }}"
region: "{{ ec2_region }}"
force: yes
retries: 4
delay: 15
register: s3_result
until:
- s3_result.failed == false

- name: ENABLE WEB HOSTING
s3_website:
name: "{{ ec2_name_prefix|lower }}.{{ workshop_dns_zone|lower }}"
state: "{{ s3_state }}"
region: "{{ ec2_region }}"
suffix: "{{ ec2_name_prefix|lower }}-index.html"
register: s3_site
when: s3_state == 'present'
- name: ENABLE WEB HOSTING
s3_website:
name: "{{ ec2_name_prefix|lower }}.{{ workshop_dns_zone|lower }}"
state: "{{ s3_state }}"
region: "{{ ec2_region }}"
suffix: "{{ ec2_name_prefix|lower }}-index.html"
register: s3_site
when: s3_state == 'present'

- name: DNS FOR STUDENT WEBPAGE FOR US-EAST-1
route53:
state: "{{ s3_state }}"
zone: "{{ workshop_dns_zone }}"
record: "{{ ec2_name_prefix|lower }}.{{ workshop_dns_zone }}"
type: CNAME
overwrite: yes
value: "{{ ec2_name_prefix|lower }}.{{ workshop_dns_zone }}.s3-website-{{ ec2_region }}.amazonaws.com"
when:
- ec2_region == 'us-east-1'
- name: DNS FOR STUDENT WEBPAGE FOR US-EAST-1
route53:
state: "{{ s3_state }}"
zone: "{{ workshop_dns_zone }}"
record: "{{ ec2_name_prefix|lower }}.{{ workshop_dns_zone }}"
type: CNAME
overwrite: yes
value: "{{ ec2_name_prefix|lower }}.{{ workshop_dns_zone }}.s3-website-{{ ec2_region }}.amazonaws.com"
when:
- ec2_region == 'us-east-1'

- name: DNS FOR WEBPAGE
route53:
state: "{{ s3_state }}"
zone: "{{ workshop_dns_zone }}"
record: "{{ ec2_name_prefix|lower }}.{{ workshop_dns_zone }}"
type: CNAME
overwrite: yes
value: "{{ ec2_name_prefix|lower }}.{{ workshop_dns_zone }}.s3-website.{{ ec2_region }}.amazonaws.com"
when:
- ec2_region != 'us-east-1'
- name: DNS FOR WEBPAGE
route53:
state: "{{ s3_state }}"
zone: "{{ workshop_dns_zone }}"
record: "{{ ec2_name_prefix|lower }}.{{ workshop_dns_zone }}"
type: CNAME
overwrite: yes
value: "{{ ec2_name_prefix|lower }}.{{ workshop_dns_zone }}.s3-website.{{ ec2_region }}.amazonaws.com"
when:
- ec2_region != 'us-east-1'

- name: PUT STUDENT WEBPAGE
s3_sync:
bucket: "{{ ec2_name_prefix|lower }}.{{ workshop_dns_zone }}"
region: "{{ ec2_region }}"
file_root: "{{ playbook_dir }}/{{ ec2_name_prefix }}"
mime_map:
.html: text/html
permission: public-read
include: "{{ ec2_name_prefix|lower }}-index.html"
when: s3_state == 'present'
- name: PUT STUDENT WEBPAGE
s3_sync:
bucket: "{{ ec2_name_prefix|lower }}.{{ workshop_dns_zone }}"
region: "{{ ec2_region }}"
file_root: "{{ playbook_dir }}/{{ ec2_name_prefix }}"
mime_map:
.html: text/html
permission: public-read
include: "{{ ec2_name_prefix|lower }}-index.html"
when: s3_state == 'present'

- name: SET WEBSITE INFORMATION VARIABLE
set_fact:
website_information: |
- Website created at http://{{ ec2_name_prefix|lower }}.{{ workshop_dns_zone|lower }}
- name: SET WEBSITE INFORMATION VARIABLE
set_fact:
website_information: |
- Website created at http://{{ ec2_name_prefix|lower }}.{{ workshop_dns_zone|lower }}
rescue:
- debug:
msg: 'issue with S3 website'

- name: provide error information
set_fact:
dns_information: |
- aws_workshop_login_page role hit an issue