Laureline's Wiki

Laureline's Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
heig:cld:lab07 [2017/05/15 16:32] mikeheig:cld:lab07 [2017/05/15 17:09] (current) – external edit 127.0.0.1
Line 132: Line 132:
 **Which one?** **Which one?**
  
-The task that Ansible marked as ok are the followings : +The tasks that Ansible marked as ok are the followings : 
  
   - //TASK [Gathering Facts]//   - //TASK [Gathering Facts]//
Line 139: Line 139:
 **Do you have a possible explanation?** **Do you have a possible explanation?**
  
-The //garhering facts// task is probably a task in which ansible read the configuration file to gather the information needed to do its job.+The //garhering facts// task is a task in which Ansible try to connect to the distant servers to gather the information needed to do its job.
  
 The //enable configuration// task creates a symbolic link with a file contained in the sites-available folder to enable it. The //default// file targeted by the ansible task is probably created at the installation of nginx and already linked to the //default// file in the sites-enabled folder. That's why nothing had to change in this task. The //enable configuration// task creates a symbolic link with a file contained in the sites-available folder to enable it. The //default// file targeted by the ansible task is probably created at the installation of nginx and already linked to the //default// file in the sites-enabled folder. That's why nothing had to change in this task.
Line 337: Line 337:
  
 ===== Task 7: Add more managed servers ===== ===== Task 7: Add more managed servers =====
 +
 +**Re-run the web.yml playbook. What do you observe in Ansible's output?**
 +
 +We can see that everything goes as expected. No tasks has been trigerred for the first server (IP: 54.147.90.78) which was already up to date. For the newly added server 4 tasks were trigered and the nginx server restarted as expected.
 +
 +<code bash>
 +Yoda:playbooks frederic$ ansible-playbook web.yml
 +
 +PLAY [Configure webserver with nginx] **********************************************************************************************************************************************************************
 +
 +TASK [Gathering Facts] *************************************************************************************************************************************************************************************
 +ok: [52.206.206.57]
 +
 +TASK [install nginx] ***************************************************************************************************************************************************************************************
 +ok: [54.147.90.78]
 +changed: [52.206.206.57]
 +
 +TASK [copy nginx config file] ******************************************************************************************************************************************************************************
 +ok: [54.147.90.78]
 +changed: [52.206.206.57]
 +
 +TASK [enable configuration] ********************************************************************************************************************************************************************************
 +ok: [54.147.90.78]
 +ok: [52.206.206.57]
 +
 +TASK [copy index.html] *************************************************************************************************************************************************************************************
 +ok: [54.147.90.78]
 +changed: [52.206.206.57]
 +
 +RUNNING HANDLER [restart nginx] ****************************************************************************************************************************************************************************
 +changed: [52.206.206.57]
 +
 +PLAY RECAP *************************************************************************************************************************************************************************************************
 +52.206.206.57              : ok=6    changed=4    unreachable=0    failed=0   
 +54.147.90.78               : ok=5    changed=0    unreachable=0    failed=0
 +</code>
 +
 +**Test the new server by pointing your web browser to it.**
 +
 +{{ :heig:cld:cld07_t3.png?nolink |}}
 +
 +**What happens if a server is not reachable? Shut down the second instance and re-run the playbook.**
 +
 +We can see that Ansible try to reach the server in vain so it change the status of the server to unreachable. We can also see that Ansible continue the other tasks on the available servers.
 +
 +<code bash>
 +Yoda:playbooks frederic$ ansible-playbook web.yml
 +
 +PLAY [Configure webserver with nginx] **********************************************************************************************************************************************************************
 +
 +TASK [Gathering Facts] *************************************************************************************************************************************************************************************
 +fatal: [52.206.206.57]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: connect to host 52.206.206.57 port 22: Operation timed out\r\n", "unreachable": true}
 +ok: [54.147.90.78]
 +
 +TASK [install nginx] ***************************************************************************************************************************************************************************************
 +ok: [54.147.90.78]
 +
 +TASK [copy nginx config file] ******************************************************************************************************************************************************************************
 +ok: [54.147.90.78]
 +
 +TASK [enable configuration] ********************************************************************************************************************************************************************************
 +ok: [54.147.90.78]
 +
 +TASK [copy index.html] *************************************************************************************************************************************************************************************
 +ok: [54.147.90.78]
 + to retry, use: --limit @/Users/frederic/Desktop/CLD_Lab07/playbooks/web.retry
 +
 +PLAY RECAP *************************************************************************************************************************************************************************************************
 +52.206.206.57              : ok=0    changed=0    unreachable=1    failed=0   
 +54.147.90.78               : ok=5    changed=0    unreachable=0    failed=0
 +</code>
 +