मुझे Ansible पूर्व-निर्धारित चर की सूची कहां मिल सकती है?


169

मैं देखता हूं कि Ansible कुछ पूर्व-निर्धारित चर प्रदान करता है जिनका उपयोग हम playbooks और टेम्पलेट फ़ाइलों में कर सकते हैं। उदाहरण के लिए, होस्ट आईपी पता ansible_eth0.ipv4.address है। Google और जिन डॉक्स को खोज रहा हूं, वे सभी उपलब्ध चरों की सूची नहीं खोज पाएंगे। क्या कोई उन्हें मेरे लिए सूचीबद्ध करेगा?

जवाबों:


202

अरे! से पूछे जाने वाले प्रश्न :

मुझे ansible_ वैरिएबल्स की सभी सूची कैसे दिखती है? डिफ़ॉल्ट रूप से प्रबंधन के तहत मशीनों के बारे में डिफ़ॉल्ट रूप से "तथ्य" इकट्ठा होते हैं, और इन तथ्यों को प्लेबुक और टेम्प्लेट में एक्सेस किया जा सकता है। मशीन के बारे में उपलब्ध सभी तथ्यों की सूची देखने के लिए, आप "सेटअप" मॉड्यूल को एक तदर्थ कार्रवाई के रूप में चला सकते हैं:

ansible -m setup hostname

यह उन सभी तथ्यों का एक शब्दकोश प्रिंट करेगा जो उस विशेष होस्ट के लिए उपलब्ध हैं।

यहाँ मेरी योनि वर्चुअल मशीन जिसे scdev कहा जाता है, के लिए आउटपुट है:

scdev | success >> {
    "ansible_facts": {                                                                                                 
        "ansible_all_ipv4_addresses": [                                                                                
            "10.0.2.15",                                                                                               
            "192.168.10.10"                                                                                            
        ],                                                                                                             
        "ansible_all_ipv6_addresses": [                                                                                
            "fe80::a00:27ff:fe12:9698",                                                                                
            "fe80::a00:27ff:fe74:1330"                                                                                 
        ],                                                                                                             
        "ansible_architecture": "i386",                                                                                
        "ansible_bios_date": "12/01/2006",                                                                             
        "ansible_bios_version": "VirtualBox",                                                                          
        "ansible_cmdline": {                                                                                           
            "BOOT_IMAGE": "/vmlinuz-3.2.0-23-generic-pae",                                                             
            "quiet": true,                                                                                             
            "ro": true,                                                                                                
            "root": "/dev/mapper/precise32-root"                                                                       
        },                                                                                                             
        "ansible_date_time": {                                                                                         
            "date": "2013-09-17",                                                                                      
            "day": "17",                                                                                               
            "epoch": "1379378304",                                                                                     
            "hour": "00",                                                                                              
            "iso8601": "2013-09-17T00:38:24Z",                                                                         
            "iso8601_micro": "2013-09-17T00:38:24.425092Z",                                                            
            "minute": "38",                                                                                            
            "month": "09",                                                                                             
            "second": "24",                                                                                            
            "time": "00:38:24",                                                                                        
            "tz": "UTC",                                                                                               
            "year": "2013"                                                                                             
        },                                                                                                             
        "ansible_default_ipv4": {                                                                                      
            "address": "10.0.2.15",                                                                                    
            "alias": "eth0",                                                                                           
            "gateway": "10.0.2.2",                                                                                     
            "interface": "eth0",                                                                                       
            "macaddress": "08:00:27:12:96:98",                                                                         
            "mtu": 1500,                                                                                               
            "netmask": "255.255.255.0",                                                                                
            "network": "10.0.2.0",                                                                                     
            "type": "ether"                                                                                            
        },                                                                                                             
        "ansible_default_ipv6": {},                                                                                    
        "ansible_devices": {                                                                                           
            "sda": {                                                                                                   
                "holders": [],                                                                                         
                "host": "SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02)",                                                                                                                
                "model": "VBOX HARDDISK",                                                                              
                "partitions": {                                                                                        
                    "sda1": {                                                                                          
                        "sectors": "497664",                                                                           
                        "sectorsize": 512,                                                                             
                        "size": "243.00 MB",                                                                           
                        "start": "2048"                                                                                
                    },                                                                                                 
                    "sda2": {                                                                                          
                        "sectors": "2",                                                                                
                        "sectorsize": 512,                                                                             
                        "size": "1.00 KB",                                                                             
                        "start": "501758"                                                                              
                    },                                                                                                 
                },                                                                                                     
                "removable": "0",                                                                                      
                "rotational": "1",                                                                                     
                "scheduler_mode": "cfq",                                                                               
                "sectors": "167772160",                                                                                
                "sectorsize": "512",                                                                                   
                "size": "80.00 GB",                                                                                    
                "support_discard": "0",                                                                                
                "vendor": "ATA"                                                                                        
            },                                                                                                         
            "sr0": {                                                                                                   
                "holders": [],                                                                                         
                "host": "IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)",                           
                "model": "CD-ROM",                                                                                     
                "partitions": {},                                                                                      
                "removable": "1",                                                                                      
                "rotational": "1",                                                                                     
                "scheduler_mode": "cfq",                                                                               
                "sectors": "2097151",                                                                                  
                "sectorsize": "512",                                                                                   
                "size": "1024.00 MB",                                                                                  
                "support_discard": "0",                                                                                
                "vendor": "VBOX"                                                                                       
            },                                                                                                         
            "sr1": {                                                                                                   
                "holders": [],                                                                                         
                "host": "IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)",                           
                "model": "CD-ROM",                                                                                     
                "partitions": {},                                                                                      
                "removable": "1",                                                                                      
                "rotational": "1",                                                                                     
                "scheduler_mode": "cfq",                                                                               
                "sectors": "2097151",                                                                                  
                "sectorsize": "512",                                                                                   
                "size": "1024.00 MB",                                                                                  
                "support_discard": "0",                                                                                
                "vendor": "VBOX"                                                                                       
            }                                                                                                          
        },                                                                                                             
        "ansible_distribution": "Ubuntu",                                                                              
        "ansible_distribution_release": "precise",                                                                     
        "ansible_distribution_version": "12.04",                                                                       
        "ansible_domain": "",                                                                                          
        "ansible_eth0": {                                                                                              
            "active": true,                                                                                            
            "device": "eth0",                                                                                          
            "ipv4": {                                                                                                  
                "address": "10.0.2.15",                                                                                
                "netmask": "255.255.255.0",                                                                            
                "network": "10.0.2.0"                                                                                  
            },                                                                                                         
            "ipv6": [                                                                                                  
                {                                                                                                      
                    "address": "fe80::a00:27ff:fe12:9698",                                                             
                    "prefix": "64",                                                                                    
                    "scope": "link"                                                                                    
                }                                                                                                      
            ],                                                                                                         
            "macaddress": "08:00:27:12:96:98",                                                                         
            "module": "e1000",                                                                                         
            "mtu": 1500,                                                                                               
            "type": "ether"                                                                                            
        },                                                                                                             
        "ansible_eth1": {                                                                                              
            "active": true,                                                                                            
            "device": "eth1",                                                                                          
            "ipv4": {                                                                                                  
                "address": "192.168.10.10",                                                                            
                "netmask": "255.255.255.0",                                                                            
                "network": "192.168.10.0"                                                                              
            },                                                                                                         
            "ipv6": [                                                                                                  
                {                                                                                                      
                    "address": "fe80::a00:27ff:fe74:1330",                                                             
                    "prefix": "64",                                                                                    
                    "scope": "link"                                                                                    
                }                                                                                                      
            ],                                                                                                         
            "macaddress": "08:00:27:74:13:30",                                                                         
            "module": "e1000",                                                                                         
            "mtu": 1500,                                                                                               
            "type": "ether"                                                                                            
        },                                                                                                             
        "ansible_form_factor": "Other",                                                                                
        "ansible_fqdn": "scdev",                                                                                       
        "ansible_hostname": "scdev",                                                                                   
        "ansible_interfaces": [                                                                                        
            "lo",                                                                                                      
            "eth1",                                                                                                    
            "eth0"                                                                                                     
        ],                                                                                                             
        "ansible_kernel": "3.2.0-23-generic-pae",                                                                      
        "ansible_lo": {                                                                                                
            "active": true,                                                                                            
            "device": "lo",                                                                                            
            "ipv4": {                                                                                                  
                "address": "127.0.0.1",                                                                                
                "netmask": "255.0.0.0",                                                                                
                "network": "127.0.0.0"                                                                                 
            },                                                                                                         
            "ipv6": [                                                                                                  
                {                                                                                                      
                    "address": "::1",                                                                                  
                    "prefix": "128",                                                                                   
                    "scope": "host"                                                                                    
                }                                                                                                      
            ],                                                                                                         
            "mtu": 16436,                                                                                              
            "type": "loopback"                                                                                         
        },                                                                                                             
        "ansible_lsb": {                                                                                               
            "codename": "precise",                                                                                     
            "description": "Ubuntu 12.04 LTS",                                                                         
            "id": "Ubuntu",                                                                                            
            "major_release": "12",                                                                                     
            "release": "12.04"                                                                                         
        },                                                                                                             
        "ansible_machine": "i686",                                                                                     
        "ansible_memfree_mb": 23,                                                                                      
        "ansible_memtotal_mb": 369,                                                                                    
        "ansible_mounts": [                                                                                            
            {                                                                                                          
                "device": "/dev/mapper/precise32-root",                                                                
                "fstype": "ext4",                                                                                      
                "mount": "/",                                                                                          
                "options": "rw,errors=remount-ro",                                                                     
                "size_available": 77685088256,                                                                         
                "size_total": 84696281088                                                                              
            },                                                                                                         
            {                                                                                                          
                "device": "/dev/sda1",                                                                                 
                "fstype": "ext2",                                                                                      
                "mount": "/boot",                                                                                      
                "options": "rw",                                                                                       
                "size_available": 201044992,                                                                           
                "size_total": 238787584                                                                                
            },                                                                                                         
            {                                                                                                          
                "device": "/vagrant",                                                                                  
                "fstype": "vboxsf",                                                                                    
                "mount": "/vagrant",                                                                                   
                "options": "uid=1000,gid=1000,rw",                                                                     
                "size_available": 42013151232,                                                                         
                "size_total": 484145360896                                                                             
            }                                                                                                          
        ],                                                                                                             
        "ansible_os_family": "Debian",                                                                                 
        "ansible_pkg_mgr": "apt",                                                                                      
        "ansible_processor": [                                                                                         
            "Pentium(R) Dual-Core  CPU      E5300  @ 2.60GHz"                                                          
        ],                                                                                                             
        "ansible_processor_cores": "NA",                                                                               
        "ansible_processor_count": 1,                                                                                  
        "ansible_product_name": "VirtualBox",                                                                          
        "ansible_product_serial": "NA",                                                                                
        "ansible_product_uuid": "NA",                                                                                  
        "ansible_product_version": "1.2",                                                                              
        "ansible_python_version": "2.7.3", 
        "ansible_selinux": false, 
        "ansible_swapfree_mb": 766, 
        "ansible_swaptotal_mb": 767, 
        "ansible_system": "Linux", 
        "ansible_system_vendor": "innotek GmbH", 
        "ansible_user_id": "neves", 
        "ansible_userspace_architecture": "i386", 
        "ansible_userspace_bits": "32", 
        "ansible_virtualization_role": "guest", 
        "ansible_virtualization_type": "virtualbox"
    }, 
    "changed": false
}

वर्तमान प्रलेखन में अब सभी वेरिएबल्स और फैक्ट्स को सूचीबद्ध करने का एक पूरा अध्याय है


17
यह चर की पूरी सूची नहीं है।
tymik

2
एक ही आईपी / होस्ट पर कमांड का उपयोग करने के लिए एक इन्वेंट्री में नहीं दिया गया है, आह्वान करें: ansible <ip> -m setup -i <ip>,- इसे सूची बनाने के लिए अंत में कॉमा को मत भूलना और इसलिए इन्वेंट्री।
रिमिगियस स्टेलर

5
वहाँ इन बातों में से प्रत्येक के क्या का कोई दस्तावेज सूची है कर रहे हैं ? विभिन्न सर्वरों पर सूची में क्या चीजें दिखाई दे सकती हैं, भले ही वे आपके द्वारा दिखाए जा रहे एक (ओं) पर दिखाई न दें?
पॉल

1
नहीं! यह बहुत अजीब नहीं है। और कष्टप्रद। वैसे भी, इस GitHub मुद्दे को देखें ।
मार्टिन एंडरसन

Asible डॉक्स कुछ क्षेत्रों में बहुत कमजोर हैं, मुझे लगता है कि यह शायद newbs के लिए बंद है। मेरा मतलब है, मैं शामिल नहीं कर सकता हूँ-न-टेल-टैग के साथ टैग्स_टैक् स का उपयोग करके, अजीब व्यवहार के परिणामस्वरूप लगता है
टॉम एच

68
ansible -m setup hostname

सेटअप मॉड्यूल द्वारा एकत्रित तथ्यों को ही प्राप्त करता है।

गिलेस कार्नु ने एक टेम्प्लेट ट्रिक पोस्ट की एक विशिष्ट होस्ट के लिए सभी चर को सूचीबद्ध करने के लिए ।

टेम्पलेट (बाद में कहा जाता dump_variables ):

HOSTVARS (ANSIBLE GATHERED, group_vars, host_vars) :

{{ hostvars[inventory_hostname] | to_yaml }}

PLAYBOOK VARS:

{{ vars | to_yaml }}

इसका उपयोग करने के लिए Playbook:

- hosts: all
  tasks:
  - template:
      src: templates/dump_variables
      dest: /tmp/ansible_variables
  - fetch:
      src: /tmp/ansible_variables
      dest: "{{inventory_hostname}}_ansible_variables"

उसके बाद आपके पास प्रत्येक होस्ट पर सभी चर का एक डंप है, और आपके टैम्प फ़ोल्डर में आपके स्थानीय वर्कस्टेशन पर प्रत्येक टेक्स्ट डंप फ़ाइल की एक प्रति है। यदि आप स्थानीय प्रतियां नहीं चाहते हैं, तो आप विवरण प्राप्त कर सकते हैं।

इसमें एकत्रित तथ्य, मेजबान चर और समूह चर शामिल हैं। इसलिए आप की तरह ansible डिफ़ॉल्ट चर देख GROUP_NAMES , inventory_hostname , ansible_ssh_host और इतने पर।


4
यह सही उत्तर है - अन्य उत्कीर्ण उत्तर आपको आपके लिए उपलब्ध चर की पूरी सूची नहीं देते हैं।
स्टीव मिडली

1
यह आपको पूरी सूची में नहीं मिलता है।
tymik

5
क्या आप एक उदाहरण दे सकते हैं कि क्या गायब है?
एननो गॉपर

33

Ansible में चर के 3 स्रोत हैं:

  1. तथ्यों से चर इकट्ठा हुए। आप उन्हें कमांड चलाकर प्राप्त कर सकते हैं:ansible -m setup hostname

  2. बिल्ट-इन (पूर्व-परिभाषित) Ansible वेरिएबल (AKA 'मैजिक' वेरिएबल)। उन्हें Ansible के दस्तावेज़ीकरण में लिखा गया है: http://docs.ansible.com/playbooks_variables.html#magic-variables-and-how-to-access-information-about-other-hosts
    यहाँ पर वह सूची दी गई है, जिसे Ansible 1.9 प्रलेखन के लिए निकाला गया है:

    • GROUP_NAMES
    • समूहों
    • inventory_hostname
    • ansible_hostname
    • inventory_hostname_short
    • play_hosts
    • delegate_to
    • inventory_dir
    • inventory_file
  3. चर को कमांड लाइन के माध्यम से ansible में पारित किया गया। लेकिन जाहिर है कि आप जानते हैं कि वे क्या हैं

1
V2.2.1 पर मेरे लिए Enno त्रुटियों से ऊपर पोस्ट में टेम्पलेट चाल। आपके द्वारा 2 के तहत प्रदान की गई सूची में मुझे जो चाहिए था, वह मैन्युअल रूप से मिलना मुश्किल था। धन्यवाद!
एहमिल्टन

मुझे लगता है कि यह एकमात्र पूर्ण उत्तर है, क्योंकि ओपी ने केवल उन वेरिएबल्स के लिए नहीं पूछा जो ansible_ से शुरू होते हैं, उन्होंने "सभी उपलब्ध चर" के लिए कहा। मैजिक वेरिएबल्स को संदर्भित भी नहीं किया जाता है, अकेले ही एफएक्यू उत्तर में शामिल होने दें। चूंकि यह उत्तर लिखा गया था, इसलिए अतिरिक्त उपयोगी मैजिक चर हैं role_path- जैसे कि यह देखने योग्य लिंक पर जाकर देखने योग्य है, ताकि एंसेबल के वर्तमान संस्करण के लिए सूची देखी जा सके। विदित हो कि डिसिबेल के लिए तेजी से और रेपो संस्करण विकसित होते हैं और इसके बच्चे काफी पुराने हैं। उस संस्करण की जांच करें जिसे आपने डॉक्स के खिलाफ सावधानी से स्थापित किया है।
इयान गिब्स

16

मैं इस सरल प्लेबुक का उपयोग करता हूं:

---
# vars.yml
#
# Shows the value of all variables/facts.
#
# Example:
#
#   ansible-playbook vars.yml -e 'hosts=localhost'
#
- hosts: localhost
  tasks:
    - fail: "You must specify a value for `hosts` variable - e.g.: ansible-playbook vars.yml -e 'hosts=localhost'"
      when: hosts is not defined

- hosts: "{{ hosts }}"
  tasks:
    - debug: var=vars
    - debug: var=hostvars[inventory_hostname]

और आपको अभी भी इसका उपयोग करने वाले चर की पूरी सूची नहीं मिलेगी।
10

क्या आप कृपया अपनी टिप्पणी पर विस्तार से बता सकते हैं?
जीन-फिलिप कारुआना

इस फिक्स को अपवोट करना, क्योंकि कभी-कभी (विशेष रूप से क्लाउड इन्वेंटरी के साथ), ansible -m setupचाल नहीं करता है और आपको यह जानकारी एक प्लेबुक से प्राप्त करने की आवश्यकता है।
निक रीमन

10

debugमॉड्यूल चर विश्लेषण करने के लिए इस्तेमाल किया जा सकता। निम्नलिखित कमांड को चलाने में सावधानी बरतें। हमारे सेटअप में यह 16MB के साथ 444709 लाइनें बनाता है:

ansible -m debug -a 'var=hostvars' localhost

मुझे यकीन नहीं है लेकिन यह तथ्य कैशिंग को सक्षम करने के लिए आवश्यक हो सकता है।

यदि आपको केवल एक होस्ट को hostvarsहैश के लिए एक कुंजी के रूप में होस्ट नाम का उपयोग करने की आवश्यकता है :

ansible -m debug -a 'var=hostvars.localhost' localhost

यह कमांड समूह और होस्ट चर भी प्रदर्शित करेगा ।


9

तथ्यों के रूप में परिभाषित बहुत सारे चर हैं - http://docs.ansible.com/ansible/playbooks_variables.html#information-discovered-from-systems-facts

"ansible_all_ipv4_addresses": [
    "REDACTED IP ADDRESS"
],
"ansible_all_ipv6_addresses": [
    "REDACTED IPV6 ADDRESS"
],
"ansible_architecture": "x86_64",
"ansible_bios_date": "09/20/2012",
"ansible_bios_version": "6.00",
"ansible_cmdline": {
    "BOOT_IMAGE": "/boot/vmlinuz-3.5.0-23-generic",
    "quiet": true,
    "ro": true,
    "root": "UUID=4195bff4-e157-4e41-8701-e93f0aec9e22",
    "splash": true
},
"ansible_date_time": {
    "date": "2013-10-02",
    "day": "02",
    "epoch": "1380756810",
    "hour": "19",
    "iso8601": "2013-10-02T23:33:30Z",
    "iso8601_micro": "2013-10-02T23:33:30.036070Z",
    "minute": "33",
    "month": "10",
    "second": "30",
    "time": "19:33:30",
    "tz": "EDT",
    "year": "2013"
},
"ansible_default_ipv4": {
    "address": "REDACTED",
    "alias": "eth0",
    "gateway": "REDACTED",
    "interface": "eth0",
    "macaddress": "REDACTED",
    "mtu": 1500,
    "netmask": "255.255.255.0",
    "network": "REDACTED",
    "type": "ether"
},
"ansible_default_ipv6": {},
"ansible_devices": {
    "fd0": {
        "holders": [],
        "host": "",
        "model": null,
        "partitions": {},
        "removable": "1",
        "rotational": "1",
        "scheduler_mode": "deadline",
        "sectors": "0",
        "sectorsize": "512",
        "size": "0.00 Bytes",
        "support_discard": "0",
        "vendor": null
    },
    "sda": {
        "holders": [],
        "host": "SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01)",
        "model": "VMware Virtual S",
        "partitions": {
            "sda1": {
                "sectors": "39843840",
                "sectorsize": 512,
                "size": "19.00 GB",
                "start": "2048"
            },
            "sda2": {
                "sectors": "2",
                "sectorsize": 512,
                "size": "1.00 KB",
                "start": "39847934"
            },
            "sda5": {
                "sectors": "2093056",
                "sectorsize": 512,
                "size": "1022.00 MB",
                "start": "39847936"
            }
        },
        "removable": "0",
        "rotational": "1",
        "scheduler_mode": "deadline",
        "sectors": "41943040",
        "sectorsize": "512",
        "size": "20.00 GB",
        "support_discard": "0",
        "vendor": "VMware,"
    },
    "sr0": {
        "holders": [],
        "host": "IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)",
        "model": "VMware IDE CDR10",
        "partitions": {},
        "removable": "1",
        "rotational": "1",
        "scheduler_mode": "deadline",
        "sectors": "2097151",
        "sectorsize": "512",
        "size": "1024.00 MB",
        "support_discard": "0",
        "vendor": "NECVMWar"
    }
},
"ansible_distribution": "Ubuntu",
"ansible_distribution_release": "precise",
"ansible_distribution_version": "12.04",
"ansible_domain": "",
"ansible_env": {
    "COLORTERM": "gnome-terminal",
    "DISPLAY": ":0",
    "HOME": "/home/mdehaan",
    "LANG": "C",
    "LESSCLOSE": "/usr/bin/lesspipe %s %s",
    "LESSOPEN": "| /usr/bin/lesspipe %s",
    "LOGNAME": "root",
    "LS_COLORS": "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:",
    "MAIL": "/var/mail/root",
    "OLDPWD": "/root/ansible/docsite",
    "PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
    "PWD": "/root/ansible",
    "SHELL": "/bin/bash",
    "SHLVL": "1",
    "SUDO_COMMAND": "/bin/bash",
    "SUDO_GID": "1000",
    "SUDO_UID": "1000",
    "SUDO_USER": "mdehaan",
    "TERM": "xterm",
    "USER": "root",
    "USERNAME": "root",
    "XAUTHORITY": "/home/mdehaan/.Xauthority",
    "_": "/usr/local/bin/ansible"
},
"ansible_eth0": {
    "active": true,
    "device": "eth0",
    "ipv4": {
        "address": "REDACTED",
        "netmask": "255.255.255.0",
        "network": "REDACTED"
    },
    "ipv6": [
        {
            "address": "REDACTED",
            "prefix": "64",
            "scope": "link"
        }
    ],
    "macaddress": "REDACTED",
    "module": "e1000",
    "mtu": 1500,
    "type": "ether"
},
"ansible_form_factor": "Other",
"ansible_fqdn": "ubuntu2.example.com",
"ansible_hostname": "ubuntu2",
"ansible_interfaces": [
    "lo",
    "eth0"
],
"ansible_kernel": "3.5.0-23-generic",
"ansible_lo": {
    "active": true,
    "device": "lo",
    "ipv4": {
        "address": "127.0.0.1",
        "netmask": "255.0.0.0",
        "network": "127.0.0.0"
    },
    "ipv6": [
        {
            "address": "::1",
            "prefix": "128",
            "scope": "host"
        }
    ],
    "mtu": 16436,
    "type": "loopback"
},
"ansible_lsb": {
    "codename": "precise",
    "description": "Ubuntu 12.04.2 LTS",
    "id": "Ubuntu",
    "major_release": "12",
    "release": "12.04"
},
"ansible_machine": "x86_64",
"ansible_memfree_mb": 74,
"ansible_memtotal_mb": 991,
"ansible_mounts": [
    {
        "device": "/dev/sda1",
        "fstype": "ext4",
        "mount": "/",
        "options": "rw,errors=remount-ro",
        "size_available": 15032406016,
        "size_total": 20079898624
    }
],
"ansible_nodename": "ubuntu2.example.com",
"ansible_os_family": "Debian",
"ansible_pkg_mgr": "apt",
"ansible_processor": [
    "Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz"
],
"ansible_processor_cores": 1,
"ansible_processor_count": 1,
"ansible_processor_threads_per_core": 1,
"ansible_processor_vcpus": 1,
"ansible_product_name": "VMware Virtual Platform",
"ansible_product_serial": "REDACTED",
"ansible_product_uuid": "REDACTED",
"ansible_product_version": "None",
"ansible_python_version": "2.7.3",
"ansible_selinux": false,
"ansible_ssh_host_key_dsa_public": "REDACTED KEY VALUE"
"ansible_ssh_host_key_ecdsa_public": "REDACTED KEY VALUE"
"ansible_ssh_host_key_rsa_public": "REDACTED KEY VALUE"
"ansible_swapfree_mb": 665,
"ansible_swaptotal_mb": 1021,
"ansible_system": "Linux",
"ansible_system_vendor": "VMware, Inc.",
"ansible_user_id": "root",
"ansible_userspace_architecture": "x86_64",
"ansible_userspace_bits": "64",
"ansible_virtualization_role": "guest",
"ansible_virtualization_type": "VMware"

4

नोट कनेक्शन विन्यास चर या 'व्यवहार' चर पर सरकारी डॉक्स - जो मेजबान वार्स में सूचीबद्ध नहीं हैं, प्रतीत होता है व्यवहार इन्वेंटरी पैरामीटर की सूची में सूची प्रलेखन ।

पुनश्च sudoविकल्प वहाँ undocumented है (हाँ sudo, ansible_sudoजैसा कि आप उम्मीद करेंगे ... नहीं है) और शायद एक जोड़े को और अधिक नहीं है, लेकिन मैं पर पाया है कि सबसे अच्छा डॉक्टर thats।


1

प्रत्येक मेजबान, जैसे ansible_domainऔर पर कुछ चर उपलब्ध नहीं हैं domain। यदि स्थिति को डीबग करने की आवश्यकता है, तो मैं सर्वर पर लॉगिन करता हूं और जारी करता हूं:

user@server:~$ ansible -m setup localhost | grep domain
 [WARNING]: provided hosts list is empty, only localhost is available
    "ansible_domain": "prd.example.com",

1

मुझे पता है कि इस सवाल का जवाब पहले ही दिया जा चुका है, लेकिन मुझे लगता है कि पूर्व-परिभाषित चर का एक पूरा सेट है जो ansible_ * तथ्यों द्वारा कवर नहीं किया गया है। यह दस्तावेज़ीकरण पृष्ठ उन निर्देशों (चरों को शामिल करता है जो अन्सिबल के व्यवहार को संशोधित करते हैं), जिसे मैं इस पृष्ठ पर आने के बाद देख रहा था।

इसमें कुछ सामान्य और कुछ विशिष्ट उपयोग के मामले शामिल हैं:

  • बन: नियंत्रण विशेषाधिकार वृद्धि (sudo)
  • डेलीगेट_टो: दूसरे होस्ट पर कार्य चलाएं (जैसे लोकलहोस्ट पर रन करना)
  • धारावाहिक: आपको अगले सेट पर जाने से पहले मेजबानों की एक विशिष्ट संख्या / प्रतिशत में एक नाटक चलाने की अनुमति देता है

1
यहां कुछ महत्वपूर्ण चर प्रदान करने का प्रयास करें और संदर्भ के लिए लिंक का उपयोग करें ताकि यदि किसी भी कारण से लिंक टूट जाए तो आपका उत्तर अभी भी उपयोगी होगा।
M--

2
मैंने कुछ उदाहरण जोड़े। "महत्वपूर्ण" चर को सूचीबद्ध करना कठिन है क्योंकि आप जो हासिल करने की कोशिश कर रहे हैं, उसके आधार पर बहुत कुछ बदलता है
garettmd

आपके द्वारा प्रदान किया गया दस्तावेज़ीकरण लिंक अब मान्य नहीं है।
Arne Van Den Kerchove

0

https://github.com/f500/ansible-dumpall
FYI करें: यह github प्रोजेक्ट आपको दिखाता है कि सभी मेजबानों में 90% चर कैसे सूचीबद्ध करें। मुझे यह एकल होस्ट कमांड की तुलना में विश्व स्तर पर अधिक उपयोगी लगता है। README में एक सरल इन्वेंट्री रिपोर्ट बनाने के निर्देश शामिल हैं। सभी तथ्यों को देखने के लिए प्लेबुक के अंत में इसे चलाना और भी अधिक मूल्यवान है। टास्क व्यवहार उपयोग रजिस्टर को डीबग करने के लिए भी:

परिणाम कुछ आइटम याद कर रहा है: - इसमें YAML फ़ाइल चर शामिल हैं - अतिरिक्त-संस्करण - यहाँ वर्णित कई आंतरिक संस्करण हैं: Ans व्यवहार व्यवहार

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.