User Tools

Site Tools


ansible:ansible_variables

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ansible:ansible_variables [2021/09/13 10:26]
manu
ansible:ansible_variables [2025/05/21 16:24] (current)
manu
Line 97: Line 97:
         "​ansible_distribution_version":​ "​15.1",​         "​ansible_distribution_version":​ "​15.1",​
 </​cli>​ </​cli>​
 +
 +Example of facts on AIX
 +<​code>​
 +{
 +    "​_ansible_facts_gathered":​ true,
 +    "​ansible_all_ipv4_addresses":​ [
 +        "​10.10.10.100"​
 +    ],
 +    "​ansible_all_ipv6_addresses":​ [
 +        "::​1%1"​
 +    ],
 +    "​ansible_apparmor":​ {
 +        "​status":​ "​disabled"​
 +    },
 +    "​ansible_architecture":​ "​chrp",​
 +    "​ansible_date_time":​ {
 +...
 +    },
 +    "​ansible_distribution":​ "​AIX",​
 +    "​ansible_distribution_major_version":​ "​7",​
 +    "​ansible_distribution_release":​ "​2",​
 +    "​ansible_distribution_version":​ "​7.2",​
 +    "​ansible_nodename":​ "​myaixhost",​
 +    "​ansible_os_family":​ "​AIX",​
 +    "​ansible_pkg_mgr":​ "​yum",​
 +    "​ansible_processor":​ "​PowerPC_POWER8",​
 +    "​ansible_processor_cores":​ 8,
 +    "​ansible_processor_count":​ 1,
 +    "​ansible_product_name":​ "​IBM,​8284-22A",​
 +    "​ansible_product_serial":​ "​21xxxxV",​
 +
 +</​code>​
 +
 +Example on linux ppc64le
 +<​code>​
 +{
 +    "​_ansible_facts_gathered":​ true,
 +    "​ansible_all_ipv4_addresses":​ [
 +        "​10.x.x.x0"​
 +    ],
 +    "​ansible_all_ipv6_addresses":​ [
 +        "​fe80::​5b6c:​b599:​xxx9:​xxxc"​
 +    ],
 +    "​ansible_apparmor":​ {
 +        "​status":​ "​disabled"​
 +    },
 +    "​ansible_architecture":​ "​ppc64le",​
 +    "​ansible_bios_date":​ "​NA",​
 +    "​ansible_bios_vendor":​ "​NA",​
 +    "​ansible_bios_version":​ "​NA",​
 +    "​ansible_board_asset_tag":​ "​NA",​
 +    "​ansible_board_name":​ "​NA",​
 +    "​ansible_board_serial":​ "​NA",​
 +    "​ansible_board_vendor":​ "​NA",​
 +    "​ansible_board_version":​ "​NA",​
 +    "​ansible_chassis_asset_tag":​ "​NA",​
 +    "​ansible_chassis_serial":​ "​NA",​
 +    "​ansible_chassis_vendor":​ "​NA",​
 +    "​ansible_chassis_version":​ "​NA",​
 +    "​ansible_cmdline":​ {
 +        "​BOOT_IMAGE":​ "/​vmlinuz-4.18.0-240.el8.ppc64le",​
 +    "​ansible_distribution":​ "​CentOS",​
 +    "​ansible_distribution_file_parsed":​ true,
 +    "​ansible_distribution_file_path":​ "/​etc/​redhat-release",​
 +    "​ansible_distribution_file_variety":​ "​RedHat",​
 +    "​ansible_distribution_major_version":​ "​8",​
 +    "​ansible_distribution_release":​ "​NA",​
 +    "​ansible_distribution_version":​ "​8.4",​
 +    "​ansible_nodename":​ "​mylnxhost",​
 +    "​ansible_os_family":​ "​RedHat",​
 +
 +</​code>​
 +
 +==== How to Create and Use Custom Facts in Ansible ====
 +
 +Custom facts (local facts) are the variables which are declared on ansible managed host. Custom facts are declared in ini or json file in the /​etc/​ansible/​facts.d directory on managed host. File names of custom facts must have .fact extension.
 +
 +https://​www.linuxtechi.com/​create-use-custom-facts-in-ansible/​
 +
 +
 +Get the value of a variable Ex: var1
 +<cli prompt='#'>​
 +opensuse:~ # ansible -i "​node2,"​ all -e "​var1=toto"​ -m debug -a '​msg={{ var1 }}'
 +</​cli>​
 +
 +===== Ansible inventory =====
 +
 +<cli prompt='​$'>​
 +$ ansible --version | grep '​config file'
 +  config file = /​home/​tux/​.ansible.cfg
 +$ ansible-config dump --only-changed
 +DEFAULT_BECOME(/​home/​tux/​.ansible.cfg) = True
 +DEFAULT_BECOME_METHOD(/​home/​tux/​.ansible.cfg) = sudo
 +DEFAULT_HOST_LIST(/​home/​tux/​.ansible.cfg) = ['/​home/​tux/​
 +inventory'​]
 +DEFAULT_REMOTE_USER(/​home/​tux/​.ansible.cfg) = ansible
 +</​cli>​
 +
 +List all hosts, use the keyword **all**. To specify all host not in a group use **ungrouped**
 +<cli prompt='​$'>​
 +$ ansible all --list-hosts
 +  hosts (21):
 +    green.example.com
 +    blue.example.com
 +    192.168.100.1
 +    192.168.100.10
 +    alpha.example.org
 +    beta.example.org
 +    www001.example.com
 +    www002.example.com
 +    www003.example.com
 +    db-99-node.example.com
 +    db-100-node.example.com
 +    db-101-node.example.com
 +</​cli>​
 +
 +List the group webservers ​
 +<cli prompt='​$'>​
 +$ ansible webservers --list-hosts
 +  hosts (10):
 +    alpha.example.org
 +    beta.example.org
 +    192.168.1.100
 +    192.168.1.110
 +    www001.example.com
 +    www002.example.com
 +    www003.example.com
 +</​cli>​
 +
 +Print inventory in YML format
 +<cli prompt='​$'>​
 +$ ansible-inventory --list --yaml
 +all:
 +  children:
 +    ungrouped:
 +      hosts:
 +        172.16.120.161:​ {}
 +        172.16.120.185:​ {}
 +        172.16.120.188:​ {}
 +</​cli>​
 +
 +===== Custom variable =====
 +
 +==== Time / date ====
 +
 +<​code>​
 +- hosts: test
 +  vars:
 +    time: "{{ lookup('​pipe',​ 'date -d \"1 day ago\" +\"​%Y%m%d\"'​) }}"
 +</​code>​
 +
 +
ansible/ansible_variables.1631521608.txt.gz ยท Last modified: 2021/09/13 10:26 by manu