Ansible Tutorial - How To Define a Ansible Register Variable in Playbook

Linuxtopic
3



Tags: ansible register variable, ansible, ansible tutorial, ansible ansible certification, ansible tags, ansible tasks, ansible modules, ansible debug, ansible inventory, ansible hosts file, ansible facts,ansible playbook tutorial, ansible linux, ansible best practices

Ansible registers module used to capture / store the output of a task/command.it is similar to variable declarations we can define the value in different scenarios like a conditional, logging etc.








for example we echo uptime and hostname, Following Syntax :




register: uptime




Here uptime is value of register variable, we can define any suitable value. At the last we use debug module with variable name.  




To create a playbook with suitable name, we create a register.yml file under ansible configuration directory


cd /etc/ansiblevi register.yml

---


- hosts: all


  tasks:


  - name: System Uptime


    command: uptime


    register: uptime




  - debug: var=uptime



-name: System Uptime  is a task name, 

command: uptime  , command is module name and uptime is linux system command

register: uptime , uptime is register variable value, we can use any suitable value 




To run playbook using ansible-playbook command, for help of ansible-playbook you can use -h option



ansible-playbook  -h


To run ansible playbook



ansible-playbook registe.yml


To run ansible playbook on single hosts of inventory using  -l option,






172.17.20.98 is hosts IP of our Ansible Inventery



ansible-playbook -l 172.17.20.98 register.yml


We can add stderr, stderr_lines, stdout, stdout_lines for filter




We will use stdout for filter the result, something like this example



Video Tutorial : 








---


- hosts: all


  tasks:


  - name: System Uptime


    command: uptime


    register: uptime




  - debug: var=uptime.stdout



Multiple register variable :




---


- hosts: 127.0.0.1




  tasks:


  - name: System Uptime


    command: uptime


    register: uptime




  - name: System Hostname


    command: hostname


    register: host




  - debug: var={{ item }}


    loop:


      - uptime.stdout


      - host.stdout









ansible-playbook registe.yml









Thanks

End of this ansible register variables tutorial,  we need your support so i request you to please comment if something missed by me, and share and like this post aslo 


www.linuxtopic.com



Post a Comment

3Comments

  1. can you plz tell me how we can use a variable globally so that i can put some condition among the host std_out

    ReplyDelete
Post a Comment

#buttons=(Ok, Go it!) #days=(20)

Our website uses cookies to enhance your experience. Check Now
Ok, Go it!