Hi
I have some troubles to understand how to loop over facts in playbook. Suppose I have the following:
ansible node01 -m setup -a 'filter=ansible_devices' SSH password: SU password[defaults to SSH password]: node01 | success >> { "ansible_facts": { "ansible_devices": { "sda": { "holders": [], "host": "Serial Attached SCSI controller: VMware PVSCSI SCSI Controller (rev 02)", "model": "Virtual disk", "partitions": { "sda1": { "sectors": "204800", "sectorsize": 512, "size": "100.00 MB", "start": "2048" }, "sda2": { "sectors": "104650752", "sectorsize": 512, "size": "49.90 GB", "start": "206848" } }, "removable": "0", "rotational": "1", "scheduler_mode": "noop", "sectors": "104857600", "sectorsize": "512", "size": "50.00 GB", "support_discard": "0", "vendor": "VMware" }, "sdb": { "holders": [], "host": "Serial Attached SCSI controller: VMware PVSCSI SCSI Controller (rev 02)", "model": "Virtual disk", "partitions": { "sdb1": { "sectors": "10469376", "sectorsize": 512, "size": "4.99 GB", "start": "16384" } }, "removable": "0", "rotational": "1", "scheduler_mode": "noop", "sectors": "10485760", "sectorsize": "512", "size": "5.00 GB", "support_discard": "0", "vendor": "VMware" }, "sdc": { "holders": [], "host": "Serial Attached SCSI controller: VMware PVSCSI SCSI Controller (rev 02)", "model": "Virtual disk", "partitions": {}, "removable": "0", "rotational": "1", "scheduler_mode": "noop", "sectors": "14680064", "sectorsize": "512", "size": "7.00 GB", "support_discard": "0", "vendor": "VMware" } } }, "changed": false }
So there are 3 disks: sda, sdb and sdc. Two of them has partitions, one does not. So I want to loop over all disks and check which disk have partitions and which does not have and then do something about it. I know I can do something like this:
{{ ansible_devices['sda']['partitions'] }}
But when I will run this playbook I will not know neither disk labels nor number of disks.
Any ideas?
Thanks
Edgars