Step 1) Create a playbook
 [osboxes@master ansible-playbooks]$ cat>apache-install.yml
---
- hosts: all
  become: true
  become_user: root
  tasks:
       - name: Install httpd package
         yum:
           name: httpd
           state: present
       - name: Create a index.html
         copy:
           content: "Test page"
           dest: /var/www/html/index.html
       - name: Start httpd service
         service:
           name: httpd
           state: started
           enabled: true
- name: Test the webserver URL
  hosts: all
  become: no
  tasks:
    - name: Connect to http://<hostname>
      uri:
        url: http://localhost
        return_content: yes
        status_code: 200
Step 2) Verify the syntax
[osboxes@master ansible-playbooks]$ ansible-playbook apache-install.yml -i inventory.txt --syntax-check
playbook: apache-install.yml
Step 3) Execute the playbook with --step option to run to verify on the remote host after each step. 
[osboxes@master ansible-playbooks]$ ansible-playbook apache-install.yml -i inventory.txt -K --step
BECOME password:
PLAY [Apahce webserver installation] ************************************************************************************************************************
Perform task: TASK: Gathering Facts (N)o/(y)es/(c)ontinue: y
Perform task: TASK: Gathering Facts (N)o/(y)es/(c)ontinue: **************************************************************************************************
TASK [Gathering Facts] **************************************************************************************************************************************
ok: [linuxhost]
Perform task: TASK: Install httpd package (N)o/(y)es/(c)ontinue: y
Perform task: TASK: Install httpd package (N)o/(y)es/(c)ontinue: ********************************************************************************************
TASK [Install httpd package] ********************************************************************************************************************************
changed: [linuxhost]
Perform task: TASK: Create a index.html (N)o/(y)es/(c)ontinue: y
Perform task: TASK: Create a index.html (N)o/(y)es/(c)ontinue: **********************************************************************************************
TASK [Create a index.html] **********************************************************************************************************************************
changed: [linuxhost]
Perform task: TASK: Start httpd service (N)o/(y)es/(c)ontinue: y
Perform task: TASK: Start httpd service (N)o/(y)es/(c)ontinue: **********************************************************************************************
TASK [Start httpd service] **********************************************************************************************************************************
changed: [linuxhost]
PLAY [Test the webserver URL] *******************************************************************************************************************************
Perform task: TASK: Gathering Facts (N)o/(y)es/(c)ontinue: y
Perform task: TASK: Gathering Facts (N)o/(y)es/(c)ontinue: **************************************************************************************************
TASK [Gathering Facts] **************************************************************************************************************************************
ok: [linuxhost]
Perform task: TASK: Connect to http://<hostname> (N)o/(y)es/(c)ontinue: y
Perform task: TASK: Connect to http://<hostname> (N)o/(y)es/(c)ontinue: *************************************************************************************
TASK [Connect to http://<hostname>] *************************************************************************************************************************
ok: [linuxhost]
PLAY RECAP **************************************************************************************************************************************************
linuxhost                  : ok=6    changed=3    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
No comments:
Post a Comment