--- - name: Install a webserver and start the service hosts: server become: true remote_user: devops force_handlers: true vars: - installstate: present tasks: - name: Prepare Webserver block: - name: Install httpd package: name: httpd state: '{{ installstate }}' - name: create index.html copy: dest: /var/www/html/index.html content: 'Welcome to {{ ansible_fqdn }}!' mode: 0644 - name: start httpd service: name: httpd state: started enabled: true - name: 'retrieve content from port 80' uri: url: "http://localhost:80/index.html" return_content: false ignore_errors: true - name: Change Webserver config to 8080 block: - name: change listen port to 8080 lineinfile: dest: /etc/httpd/conf/httpd.conf regexp: '^Listen 80$' line: 'Listen 8080' state: present - name: retrieve content from port 8080 uri: url: "http://localhost:8080/index.html" return_content: false rescue: - name: restart webserver service: name: httpd state: restarted always: - name: retrieve content from port 8080 uri: url: "http://localhost:8080/index.html" return_content: false