additional course material RH294
Olaf Bohlen
2020-02-19 08669995dd66a7051d2fc222fec02a0bc71c1dff
commit | author | age
97d9af 1 ---
SU 2 - name: Install a webserver and start the service
3   hosts: server
4   become: true
5   remote_user: devops
6   force_handlers: true
7   vars:
8     - installstate: present
9   tasks:
10     - name: Prepare Webserver
11       block:
12         - name: Install httpd
13           package:
14             name: httpd
15             state: '{{ installstate }}'
16         - name: create index.html
17           copy:
18             dest: /var/www/html/index.html
19             content: 'Welcome to {{ ansible_fqdn }}!'
20             mode: 0644
21         - name: start httpd
22           service:
23             name: httpd
24             state: started
25             enabled: true
26         - name: 'retrieve content from port 80'
27           uri:
28             url: "http://localhost:80/index.html"
29             return_content: false
30           ignore_errors: true
31     - name: Change Webserver config to 8080
32       block:
33         - name: change listen port to 8080
34           lineinfile:
35             dest: /etc/httpd/conf/httpd.conf
36             regexp: '^Listen 80$'
37             line: 'Listen 8080'
38             state: present
39         - name: retrieve content from port 8080
40           uri:
41             url: "http://localhost:8080/index.html"
42             return_content: false
43       rescue:
44         - name: restart webserver
45           service:
46             name: httpd
47             state: restarted
48       always:
49         - name: retrieve content from port 8080
50           uri:
51             url: "http://localhost:8080/index.html"
52             return_content: false