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
}{{ ansible_devices['sda']['partitions'] }}
# This is the sample with_dict loop
- debug: msg="The device {{ item.key }} with these partitions {{ item.value.partitions }}"
with_dict: ansible_devices
# This msg will only be printed on the condition that a device has no partitions
- debug: msg="The device {{ item.key }} has no partitions"
with_dict: ansible_devices
when: not item.value.partitions
- name: Loop facts
hosts: localhost
connection: local
tasks:
- name: looping
debug:
msg: "{{ item.key }}"
when: "not {{ item.value.partitions }}"
with_dict: ansible_devices