Facts 變數查詢

  1. ansible 使用 setup 模組可以列出 ansible_facts 變數,增加 filter=.. 參數可以過濾變數。
    [deyu1@kvm19 ansible]$ ansible dev -m setup -a "filter=ansible_hostname"
    kvm11 | SUCCESS => {
        "ansible_facts": {
            "ansible_hostname": "kvm11",
            "discovered_interpreter_python": "/usr/bin/python3"
        },
        "changed": false
    }
    
  2. 如果不知變數完整名稱,可列出所有 ansible_facts 變數,使用管線處理過濾字串,例如:memory,得知總記憶體大小的變數為 ansible_memory_mb.real.total
    [deyu1@kvm19 ansible]$ ansible dev -m setup | grep memory -A16
            "ansible_memory_mb": {
                "nocache": {
                    "free": 1555,
                    "used": 216
                },
                "real": {
                    "free": 1334,
                    "total": 1771,
                    "used": 437
                },
                "swap": {
                    "cached": 0,
                    "free": 95,
                    "total": 95,
                    "used": 0
                }
            },
    
  3. 總記憶體大小有另一變數 ansible_memtotal_mb
    [deyu1@kvm19 ansible]$ ansible dev -m setup -a "filter=ansible_memtotal_mb"
    kvm11 | SUCCESS => {
        "ansible_facts": {
            "ansible_memtotal_mb": 1771,
            "discovered_interpreter_python": "/usr/bin/python3"
        },
        "changed": false
    }
    
  4. 列出所有 ansible_facts 變數,使用管線處理過濾字串 bios,得知 bios 版本變數為 ansible_bios_version
    [deyu1@kvm19 ansible]$ ansible dev -m setup | grep bios
            "ansible_bios_date": "04/01/2014",
            "ansible_bios_vendor": "SeaBIOS",
            "ansible_bios_version": "1.16.0-4.el9",
    
  5. 如果變數內容太多,管線處理過濾字串不好判斷,可先將整個 ansible_facgts 變數存檔再查。
    [deyu1@kvm19 ansible]$ ansible dev -m setup > setup.txt
    
  6. 例如 ansible_devices 變數有很多資料,vda 大小變數為 ansible_devices.vda.size
    [deyu1@kvm19 ansible]$ grep ansible_devices setup.txt -A218
            "ansible_devices": {
                "dm-0": {
                    "holders": [],
                    "host": "",
                    "links": {
    ........................................................
                },
                "dm-1": {
                    "holders": [],
                    "host": "",
                    "links": {
    ........................................................
                },
                "dm-2": {
                    "holders": [],
                    "host": "",
                    "links": {
    ........................................................
                    "sectors": "409600",
                    "sectorsize": "512",
                    "size": "200.00 MB",
                    "support_discard": "512",
                    "vendor": null,
                    "virtual": 1
                },
                "vda": {
    ........................................................
                    "partitions": {
                        "vda1": {
                            "holders": [],
                            "links": {
                                "ids": [],
                                "labels": [],
                                "masters": [],
                                "uuids": []
                            },
                            "sectors": "2048",
                            "sectorsize": 512,
                            "size": "1.00 MB",
                            "start": "2048",
                            "uuid": null
                        },
                        "vda2": {
    ........................................................
                            "sectors": "819200",
                            "sectorsize": 512,
                            "size": "400.00 MB",
                            "start": "4096",
                            "uuid": "51b32fc8-95cd-4f2e-b14b-209d8205871b"
                        },
                        "vda3": {
                            "holders": [
                                "vg_kvm11-swap",
                                "vg_kvm11-root"
                            ],
    ........................................................
                            "sectors": "7168000",
                            "sectorsize": 512,
                            "size": "3.42 GB",
                            "start": "823296",
                            "uuid": null
                        },
                        "vda4": {
    ........................................................
                            "sectors": "2",
                            "sectorsize": 512,
                            "size": "1.00 KB",
                            "start": "7991296",
                            "uuid": null
                        },
                        "vda5": {
                            "holders": [
                                "fieldwork-test"
                            ],
    ........................................................
                            "sectors": "614400",
                            "sectorsize": 512,
                            "size": "300.00 MB",
                            "start": "7995392",
                            "uuid": null
                        }
                    },
                    "removable": "0",
                    "rotational": "1",
                    "sas_address": null,
                    "sas_device_handle": null,
                    "scheduler_mode": "mq-deadline",
                    "sectors": "12582912",
                    "sectorsize": "512",
                    "size": "6.00 GB",
                    "support_discard": "512",
                    "vendor": "0x1af4",
                    "virtual": 1
                },
                "vdb": {
    ........................................................
                    "holders": [],
                    "partitions": {},
                    "removable": "0",
                    "rotational": "1",
                    "sas_address": null,
                    "sas_device_handle": null,
                    "scheduler_mode": "mq-deadline",
                    "sectors": "3145728",
                    "sectorsize": "512",
                    "size": "1.50 GB",
                    "support_discard": "512",
                    "vendor": "0x1af4",
                    "virtual": 1
                }
            },