JINJA2 templates in ansible
[root@workstation ~]# ansible -m ping all
192.168.1.23 | SUCCESS => {
“changed”: false,
“ping”: “pong”
}
192.168.1.22 | SUCCESS => {
“changed”: false,
“ping”: “pong”
}
=========================================
[root@workstation ~]# vim motd.j2
this is {{ ansible_hostname }}.
today’s date is {{ ansible_date_time.date }}
you can ask {{ system_owner }} for access
==========================================
[root@workstation ~]# vim motd.yaml
—
– hosts: all
vars:
system_owner: root
tasks:
– template:
src: motd.j2
dest: /etc/motd
owner: root
group: root
mode: 777
========================================
[root@workstation ~]# cat /etc/motd
========================================
[root@workstation ~]# ansible-playbook –syntax-check motd.yaml
playbook: motd.yaml
[root@workstation ~]# ansible-playbook -C motd.yaml
PLAY [all] *********************************************************************
TASK [setup] *******************************************************************
ok: [192.168.1.22]
ok: [192.168.1.23]
TASK [template] ****************************************************************
changed: [192.168.1.22]
changed: [192.168.1.23]
PLAY RECAP *********************************************************************
192.168.1.22 : ok=2 changed=1 unreachable=0 failed=0
192.168.1.23 : ok=2 changed=1 unreachable=0 failed=0
=======================================
[root@workstation ~]# ansible-playbook motd.yaml -vv
Using /etc/ansible/ansible.cfg as config file
PLAYBOOK: motd.yaml ************************************************************
1 plays in motd.yaml
PLAY [all] *********************************************************************
TASK [setup] *******************************************************************
ok: [192.168.1.22]
ok: [192.168.1.23]
TASK [template] ****************************************************************
task path: /root/motd.yaml:6
changed: [192.168.1.22] => {“changed”: true, “checksum”: “86167eb96fcd968f9ce2403d02fd99de5454cffa”, “dest”: “/etc/motd”, “gid”: 0, “group”: “root”, “md5sum”: “35128946a8173580f8c13e86523be1a1”, “mode”: “01411”, “owner”: “root”, “secontext”: “system_u:object_r:etc_t:s0”, “size”: 84, “src”: “/root/.ansible/tmp/ansible-tmp-1485712899.32-75249962942078/source”, “state”: “file”, “uid”: 0}
changed: [192.168.1.23] => {“changed”: true, “checksum”: “5619e003a6b2617b359b8a369c3f404035ab0b18”, “dest”: “/etc/motd”, “gid”: 0, “group”: “root”, “md5sum”: “4429a262ca0c9cca26b2bc66482abfbc”, “mode”: “01411”, “owner”: “root”, “secontext”: “system_u:object_r:etc_t:s0”, “size”: 80, “src”: “/root/.ansible/tmp/ansible-tmp-1485712899.32-157949107190502/source”, “state”: “file”, “uid”: 0}
PLAY RECAP *********************************************************************
192.168.1.22 : ok=2 changed=1 unreachable=0 failed=0
192.168.1.23 : ok=2 changed=1 unreachable=0 failed=0
==============================================
[root@servera ~]# logout
Connection to 192.168.1.23 closed.
root@rmohan:~$ ssh root@192.168.1.23
root@192.168.1.23’s password:
Last login: Sun Jan 29 23:29:06 2017 from workstation
this is servera.
today’s date is 2017-01-29
you can ask root for access
==============================================
root@rmohan:~$ ssh root@192.168.1.22
root@192.168.1.22’s password:
Last login: Sun Jan 29 23:31:40 2017 from workstation.example.com
this is workstation.
today’s date is 2017-01-29
you can ask root for access
================================================
[root@workstation ~]# vim inventory
[web]
node1.rmohan.com
node2.rmohan.com
[root@workstation ~]# rm -rf /etc/motd
[root@servera ~]# rm -rf /etc/motd
[root@workstation ~]# ansible-playbook -i inventory –limit node1.rmohan.com motd.yaml
PLAY [all] *********************************************************************
TASK [setup] *******************************************************************
ok: [node1.rmohan.com]
TASK [template] ****************************************************************
changed: [node1.rmohan.com]
PLAY RECAP *********************************************************************
node1.rmohan.com : ok=2 changed=1 unreachable=0 failed=0
Recent Comments