Ansible tutorial for beginners – How to find ansible distribution using ansible playbook?
Create a ansible config file as ansible.cfg file in your project directory:
[defaults]
inventory = hosts
Create a hosts file as hosts in the project directory
[webservers]
ansnode1 ansible_ssh_host=192.168.56.202 ansible_python_interpreter=/usr/bin/python
ansnode2 ansible_ssh_host=192.168.56.203 ansible_python_interpreter=/usr/bin/python
[webservers:vars]
ansible_port=22
http_port=8080
[dbservers]
ansnode3 ansible_ssh_host=192.168.56.204 ansible_python_interpreter=/usr/bin/python
ansnode4 ansible_ssh_host=192.168.56.205 ansible_python_interpreter=/usr/bin/python
[dev:children]
webservers
dbservers
Create a file named called as set_fact_modules.yml in your project directory
---
# YAML documents begin with the document separator ---
# the minus in YAML this indicates a list item. The playbook
# contains a list of plays, with each play being a dictionary
# Target: where our play will run and options it will run with
- hosts: all
# Task: the list of tasks that will be executed within the play,
# this section can also be used for pre and post tasks
tasks:
- name: set a fact
set_fact:
our_fact: Ansible Rocks!
ansible_distribution: "{{ ansible_os_family | upper }}"
- name: show custom fact
debug:
msg: "{{ our_fact }}"
- name: show ansible_distribution
debug:
msg: "{{ ansible_distribution }}"
# three dots indicate the end of a YAML document
...
Source Code Available in Github: https://www.github.com/tamiltutera