@@ -0,0 +1,9 @@
+[defaults]
+inventory = mis_maquinas
+remote_user = devops
+
+[privilege_escalation]
+become = true
+become_method = sudo
+become_user = root
+become_ask_pass = false
@@ -0,0 +1 @@
+ansible_connection: smart
@@ -0,0 +1,7 @@
+[produccion]
+servera
+serverd
+[desarrollo]
+serverb
+[sistemas]
+serverc
+inventory = systems
+- name: Borra fichero hola en los hosts
+ hosts:
+ - all
+ - localhost
+ tasks:
+ - name: borra hola.txt
+ file:
+ path: /tmp/hola.txt
+ state: absent
@@ -0,0 +1,8 @@
+- name: Borra al usuario pepe
+ hosts: all
+ - name: borra pepe y directorio
+ user:
+ name: pepe
+ remove: true
+- name: Crea fichero hola en los hosts
+ - name: crea el contenido de hola.txt
+ copy:
+ dest: /tmp/hola.txt
+ content: 'Hola Mundo!'
+- name: Crea el usuario pepe en los hosts
+ - name: crea al usuario pepe
+ state: present
+- name: Modifica MOTD en los hosts
+ - name: cambia el contenido de MOTD
+ dest: /etc/motd
+ content: 'Sistema gestionado por Ansible'
+servera.lab.example.com
+serverd.lab.example.com
+serverb.lab.example.com
+serverc.lab.example.com
@@ -0,0 +1,6 @@
+$ANSIBLE_VAULT;1.2;AES256;secreto1
+33383063363362646331643032393539643165663964623063663137363464623632353234336565
+3561653562303265313662313966623430633361626263660a323865643734633733366535376363
+38323463336534343762636461396563633232346430373363333162626437313464336135623533
+3131653939383466620a363565316666613036653539356631323035323235363633653230613638
+3966
+[web]
+[db]
+- name: template hosts.j2
+ become: true
+ - name: deploy template
+ template:
+ src: hosts.j2
+ dest: /root/hosts
+ when: inventory_hostname == 'servera'
@@ -0,0 +1,3 @@
+remote_user = root
+inventory = inventory
+{% for host in groups['all'] if inventory_hostname != 'serverd' %}
+{{ hostvars[host]['ansible_facts']['default_ipv4'] }} {{ hostvars[host]['ansible_facts']['fqdn'] }}
+{% endfor %}
+[dev]
+[prod]
@@ -7,3 +7,4 @@ become=true
become_method=sudo
become_user=root
become_ask_pass=true
@@ -1 +1 @@
-ansible_connection = smart
@@ -0,0 +1,22 @@
+- name: escupe variables
+ gather_facts: yes
+ - name: facts
+ debug:
+ var: ansible_facts
+ - name: hostvars
+ var: hostvars
+ - name: groupnames
+ var: group-vars
+ - nema: groups
+ var: groups
+ - name: inventory_hostname
+ var: inventory_hostname
+ - name: ansible_play_hosts
+ var: ansible_play_hosts
@@ -1,5 +1,5 @@
- name: set /etc/hosts in managed hosts
- hosts: all
+ hosts: all,localhost
remote_user: student
gather_facts: yes
tasks: