Second exercise: basic playbook creation

This commit is contained in:
Cedric Girard 2018-07-30 14:12:49 +02:00
parent 9bf14931c4
commit 4a52a357a4
6 changed files with 58 additions and 0 deletions

View File

@ -0,0 +1,20 @@
#20 - First Playbook
This exercise makes you write your first playbook from scratch. The playbook copy a file to several hosts.
## Playbook Creation
Create a new playbook, named `copy_file.yml`. This playbook must follow the given specs:
* Run on host group `lab`
* Copy the provided file `myFile.txt` in the `/tmp` folder of each host in the group
* Must use the `copy` module
## Validation
Run the playbook and make needed changes until your playbook run as needed.
To validate, run the following command. It should return an `ok` state for each host in the `lab` group:
```bash
ansible-playbook -i ../hosts solution/validate.yml
```
There is a working playbook in `solution/solution.yml`

View File

@ -0,0 +1,9 @@
Magna interdum proin, sed purus hymenaeos placerat elit. Dolor cubilia orci. Iaculis consectetuer litora augue ad ac leo. Mauris commodo eros vel dictum. Ultricies. Etiam elit rhoncus et, odio condimentum natoque, curae ac rutrum cubilia quisque. Ridiculus fusce. Gravida odio, sollicitudin ve metus ut nisi consequat imperdiet etiam. Cum lacinia et nisl mollis. A blandit eu tristique magna, dis quis at diam. Bibendum felis urna nisi leo cum ut dolor porta. Cum, iaculis facilisi nisi.
Id sollicitudin posuere, felis vestibulum nisi neque. Turpis aliquet. Nibh ad sollicitudin lacinia, massa nisl, lobortis ipsum ad turpis laoreet commodo. Eleifend curae ut litora libero, vitae lobortis class cum erat nisi eni. Eget iaculis ac, mattis est. Nostra curae at porttitor scelerisque, tristique enim eni integer. Tincidunt parturient hac curae vulputate vestibulum nisi proin tellus vestibulum. Nibh tristique platea a eleifend arcu. Dis tempor fusce magnis ve mus fermentum est egestas eni, amet non. Vel cubilia erat. Eu hac urna urna orci potenti tempor, nunc lectus natoque. Cras. Mi velit eu vitae id nullam porta adipiscing ante. Maecenas nonummy, vivamus convallis nunc hac. Felis, tempor.
Enim at non tellus integer. Ornare nisl sapien adipiscing felis enim. Elit, libero tincidunt justo ut nunc fusce libero mus, ve taciti. Aliquet eu et nibh nascetur mollis. Adipiscing sodales dui mauris sapien maecenas ullamcorper non at aliquet cras, in. Cursus felis non quam velit fames, nascetur malesuada nullam taciti hendrerit molestie ut massa primis tempor. Class vestibulum suspendisse tempor et. Diam. Justo vulputate integer nulla curae nibh taciti posuere nisi ut habitasse ante, suspendisse. Class lobortis purus, at tellus posuere quam ad. Hendrerit nulla. Curae. Eni et. Iaculis pulvinar dictum lectus. Euismod ad curae dui adipiscing litora, amet et. Nulla eros eni. Dignissim sollicitudin aliquet magna massa condimentum id nostra facilisi hymenaeos ac orci. Porta. Nostra cras, nulla lorem magna, sem luctus varius diam.
Nunc proin. Sociosqu. Justo et mi etiam ve consequat laoreet, justo felis sit. Id vulputate iaculis, mattis in nullam fermentum hac, nunc. Odio, consectetuer mi felis hac nisi malesuada taciti, etiam vulputate. Lacus. Iaculis, consequat eros felis convallis magnis vehicula vestibulum malesuada netus neque. Facilisis a fermentum justo, senectus ante ve risus fringilla proin cubilia. Donec curabitur convallis amet justo. Arcu nisi nec vel ve odio ridiculus in, venenatis feugiat, vitae adipiscing ad. Primis cum erat molestie turpis, sapien cubilia, arcu maecenas. Vel venenatis commodo, mauris quis duis. Massa aenean vestibulum donec aliquet odio, amet feugiat et. Platea sed cursus hac eros nam sem ad egestas. Dis vivamus dictum per.
Odio aenean aenean hac, dictum, turpis cum. Eu ipsum nascetur magna curabitur. Sociosqu pellentesque, lectus ac orci felis feugiat fames ad sociis feugiat. Hymenaeos curabitur proin nisi ac vitae imperdiet facilisi aptent montes massa, hendrerit sit. Lectus malesuada metus tincidunt pulvinar aenean. Est eleifend tincidunt eu. Sapien enim imperdiet pellentesque iaculis nam aptent commodo sociis netus in. Natoque nulla nunc, a arcu. Elit velit, fames semper ut ipsum. Ipsum phasellus molestie. Montes, fusce parturient praesent quam. Dignissim quis, hac velit dis adipiscing justo. Porttitor aptent ut. Pede at leo. Neque scelerisque torquent, fringilla sociis congue. Eni, ac volutpat odio quam posuere in ac felis. Aenean, consequat praesent, vitae.

View File

@ -0,0 +1,9 @@
Magna interdum proin, sed purus hymenaeos placerat elit. Dolor cubilia orci. Iaculis consectetuer litora augue ad ac leo. Mauris commodo eros vel dictum. Ultricies. Etiam elit rhoncus et, odio condimentum natoque, curae ac rutrum cubilia quisque. Ridiculus fusce. Gravida odio, sollicitudin ve metus ut nisi consequat imperdiet etiam. Cum lacinia et nisl mollis. A blandit eu tristique magna, dis quis at diam. Bibendum felis urna nisi leo cum ut dolor porta. Cum, iaculis facilisi nisi.
Id sollicitudin posuere, felis vestibulum nisi neque. Turpis aliquet. Nibh ad sollicitudin lacinia, massa nisl, lobortis ipsum ad turpis laoreet commodo. Eleifend curae ut litora libero, vitae lobortis class cum erat nisi eni. Eget iaculis ac, mattis est. Nostra curae at porttitor scelerisque, tristique enim eni integer. Tincidunt parturient hac curae vulputate vestibulum nisi proin tellus vestibulum. Nibh tristique platea a eleifend arcu. Dis tempor fusce magnis ve mus fermentum est egestas eni, amet non. Vel cubilia erat. Eu hac urna urna orci potenti tempor, nunc lectus natoque. Cras. Mi velit eu vitae id nullam porta adipiscing ante. Maecenas nonummy, vivamus convallis nunc hac. Felis, tempor.
Enim at non tellus integer. Ornare nisl sapien adipiscing felis enim. Elit, libero tincidunt justo ut nunc fusce libero mus, ve taciti. Aliquet eu et nibh nascetur mollis. Adipiscing sodales dui mauris sapien maecenas ullamcorper non at aliquet cras, in. Cursus felis non quam velit fames, nascetur malesuada nullam taciti hendrerit molestie ut massa primis tempor. Class vestibulum suspendisse tempor et. Diam. Justo vulputate integer nulla curae nibh taciti posuere nisi ut habitasse ante, suspendisse. Class lobortis purus, at tellus posuere quam ad. Hendrerit nulla. Curae. Eni et. Iaculis pulvinar dictum lectus. Euismod ad curae dui adipiscing litora, amet et. Nulla eros eni. Dignissim sollicitudin aliquet magna massa condimentum id nostra facilisi hymenaeos ac orci. Porta. Nostra cras, nulla lorem magna, sem luctus varius diam.
Nunc proin. Sociosqu. Justo et mi etiam ve consequat laoreet, justo felis sit. Id vulputate iaculis, mattis in nullam fermentum hac, nunc. Odio, consectetuer mi felis hac nisi malesuada taciti, etiam vulputate. Lacus. Iaculis, consequat eros felis convallis magnis vehicula vestibulum malesuada netus neque. Facilisis a fermentum justo, senectus ante ve risus fringilla proin cubilia. Donec curabitur convallis amet justo. Arcu nisi nec vel ve odio ridiculus in, venenatis feugiat, vitae adipiscing ad. Primis cum erat molestie turpis, sapien cubilia, arcu maecenas. Vel venenatis commodo, mauris quis duis. Massa aenean vestibulum donec aliquet odio, amet feugiat et. Platea sed cursus hac eros nam sem ad egestas. Dis vivamus dictum per.
Odio aenean aenean hac, dictum, turpis cum. Eu ipsum nascetur magna curabitur. Sociosqu pellentesque, lectus ac orci felis feugiat fames ad sociis feugiat. Hymenaeos curabitur proin nisi ac vitae imperdiet facilisi aptent montes massa, hendrerit sit. Lectus malesuada metus tincidunt pulvinar aenean. Est eleifend tincidunt eu. Sapien enim imperdiet pellentesque iaculis nam aptent commodo sociis netus in. Natoque nulla nunc, a arcu. Elit velit, fames semper ut ipsum. Ipsum phasellus molestie. Montes, fusce parturient praesent quam. Dignissim quis, hac velit dis adipiscing justo. Porttitor aptent ut. Pede at leo. Neque scelerisque torquent, fringilla sociis congue. Eni, ac volutpat odio quam posuere in ac felis. Aenean, consequat praesent, vitae.

View File

@ -0,0 +1,9 @@
- hosts: lab
gather_facts: false
tasks:
- name: Copy myFile.txt to all hosts
copy:
src: "{{ playbook_dir }}/myFile.txt"
dest: /tmp/
# vim: set ft=yaml sw=2 et:

View File

@ -0,0 +1,4 @@
- name: "Check if the file \"{{ filepath }}\" is present"
file:
path: "{{ filepath }}"
state: file

View File

@ -0,0 +1,7 @@
- hosts: lab
gather_facts: false
vars:
- filepath: /tmp/myFile.txt
tasks:
- include_tasks: tasks/file_present.yml
# vim: set ft=yaml sw=2 et: