Hey Jonathan,

Thanks for this.

I've figured it out using the previous examples and some more googleing :)

I got it to execute a shell command which i what I needed it to do:

  - shell: pvcreate /dev/"{{ item.key }}" 
    with_dict: ansible_devices
    when: not item.value.partitions and item.key != "sr0" and item.key != 
"fd0"

Thanks again

On Monday, November 16, 2015 at 5:34:32 PM UTC+2, Jonathan Davila wrote:
>
> DS, 
>
> Try this. 
>
> This simple example will print the device name whenever the device has no 
> partitions
>
>
> - name: Loop facts
>   hosts: localhost
>   connection: local
>   tasks:
>     - name: looping
>       debug:
>         msg: "{{ item.key }}"
>       when: "not {{ item.value.partitions }}"
>       with_dict: ansible_devices
>
>
>
>
>
> On Saturday, November 14, 2015 at 5:34:11 PM UTC-5, DS wrote:
>>
>> 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/98e1c20d-c6fb-45a7-85a6-6297e00c0a73%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to