Added all files
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
- hosts: all
|
||||
tasks:
|
||||
- name: get server hostname
|
||||
command: hostname
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
# Bring stack down
|
||||
- hosts: loadbalancer
|
||||
become: true
|
||||
tasks:
|
||||
- service: name=nginx state=stopped
|
||||
- wait_for: port=80 state=drained
|
||||
|
||||
- hosts: webserver
|
||||
become: true
|
||||
tasks:
|
||||
- service: name=apache2 state=stopped
|
||||
- wait_for: port=80 state=stopped
|
||||
|
||||
# Restart mysql
|
||||
- hosts: database
|
||||
become: true
|
||||
tasks:
|
||||
- service: name=mysql state=restarted
|
||||
- wait_for: host={{ ansible_eth0.ipv4.address }} port=3306 state=started
|
||||
|
||||
# Bring stack up
|
||||
- hosts: webserver
|
||||
become: true
|
||||
tasks:
|
||||
- service: name=apache2 state=started
|
||||
- wait_for: port=80
|
||||
|
||||
- hosts: loadbalancer
|
||||
become: true
|
||||
tasks:
|
||||
- service: name=nginx state=started
|
||||
- wait_for: port=80
|
||||
@@ -0,0 +1,67 @@
|
||||
---
|
||||
- hosts: loadbalancer
|
||||
become: true
|
||||
tasks:
|
||||
- name: verify nginx service
|
||||
command: service nginx status
|
||||
|
||||
- name: verify nginx is listening on 80
|
||||
wait_for: port=80 timeout=1
|
||||
|
||||
- hosts: webserver
|
||||
become: true
|
||||
tasks:
|
||||
- name: verify apache2 service
|
||||
command: service apache2 status
|
||||
|
||||
- name: verify apache2 is listening on 80
|
||||
wait_for: port=80 timeout=1
|
||||
|
||||
- hosts: database
|
||||
become: true
|
||||
tasks:
|
||||
- name: verify mysql service
|
||||
command: service mysql status
|
||||
|
||||
- name: verify mysql is listening on 3306
|
||||
wait_for: port=3306 timeout=1
|
||||
|
||||
- hosts: control
|
||||
tasks:
|
||||
- name: verify end-to-end index response
|
||||
uri: url=http://{{item}} return_content=yes
|
||||
with_items: "{{ groups.loadbalancer }}"
|
||||
register: lb_index
|
||||
|
||||
- fail: msg="index failed to return content"
|
||||
when: "'Hello, from sunny' not in item.content"
|
||||
with_items: "{{lb_index.results}}"
|
||||
|
||||
- name: verify end-to-end db response
|
||||
uri: url=http://{{item}}/db return_content=yes
|
||||
with_items: "{{ groups.loadbalancer }}"
|
||||
register: lb_db
|
||||
|
||||
- fail: msg="db failed to return content"
|
||||
when: "'Database Connected from' not in item.content"
|
||||
with_items: "{{lb_db.results}}"
|
||||
|
||||
- hosts: loadbalancer
|
||||
tasks:
|
||||
- name: verify backend index response
|
||||
uri: url=http://{{item}} return_content=yes
|
||||
with_items: "{{ groups.webserver }}"
|
||||
register: app_index
|
||||
|
||||
# - fail: msg="index failed to return content"
|
||||
# when: "'Hello, from sunny {{ item.content }}!' not in item.content"
|
||||
# with_items: "{{app_index.results}}"
|
||||
|
||||
- name: verify backend db response
|
||||
uri: url=http://{{item}}/db return_content=yes
|
||||
with_items: "{{ groups.webserver }}"
|
||||
register: app_db
|
||||
|
||||
# - fail: msg="db failed to return content"
|
||||
# when: "'Database Connected from {{ item.item }}!' not in item.content"
|
||||
# with_items: "{{app_db.results}}"
|
||||
Reference in New Issue
Block a user