Hey Guys,
I have the exact same issue where I need to find the drive that does not
have any partitions on it.
so I have the exact same output from ansible_devices but I can't figure out
how I load the output into ansible so I can run the filter on it
basically i need an output like /dev/sdb or /dev/sdb or whatever the
actual device name is that does not have partitions on it so I can then use
that value in a subsequent - command: /usr/sbin//fdisk -l <device> for
example - command: /usr/sbin/fdisk -l /dev/sdb
any help will be much appreciated
Thanks
On Tuesday, March 24, 2015 at 12:23:41 PM UTC+2, Edgars wrote:
>
> 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
>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/b772c1ca-b20c-45e7-a370-fb2bd3dfca78%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.