I think you probably want this:

- shell: echo {{ item.0 }}-{{item.1 }}
  with_together:
      - groups['ceph-OSDs']
      - disks

this will print for the first host

osd0-sdb
osd1-sdb

and for the second host

osd0-sdb
osd0-sdc
osd1-sdb
osd1-sdc

Let me know if that works for you and if I'm missing something we'll figure
it out.

Thanks!





On Wed, Dec 11, 2013 at 8:21 AM, Guillaume Subiron <[email protected]>wrote:

> Le 13/12/11 08:05, Michael DeHaan claviotta :
> > Before we dive into a technical solution let me understand your use case
> > and what you are modelling a bit better.
> >
> > So groups['ceph-ODSs'] would be all machines in the ceph-ODSs group.
>
> That's right.
>
> >
> > I'd probably just define a variable like "disks" on the group, but I'm
> > unclear why that wouldn't work in your case.
> >
> > I could probably understand more if I could see how "disks" differs
> between
> > hosts.
>
> It's simple, my Ceph OSD (storage nodes) are all différents. Some
> contains 2 hard drives (sdb, sdc), some contains 10 (sdb, sdc, sdd…).
> "disks" is a list of hard drives, which is different from one host to
> another. ex:
>
>   inventory
>
> osd0
> osd1
>
> [ceph-OSDs]
> osd0
> osd1
>
>   host_vars/osd0
>
> disks:
>   - sdb
>
>   host_vars/osd1
>
> disks:
>   - sdb
>   - sdc
>
> In my nested loop, I need to loop over the Ceph Storage nodes and
> their hard drive. The hard drive list is an host variable (accessible
> by hostvars[osd0]['disks'], for instance).
>
> With the example above, I want my playbook to do :
>
> ceph_deploy osd prepare osd0:sda
> ceph_deploy osd prepare osd1:sda
> ceph_deploy osd prepare osd1:sdb
>
> > > > On 11 December 2013 09:53, Guillaume Subiron <[email protected]>
> > > wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > I'm trying to do a special kind of nesting loop, using the item of
> the
> > > > > first loop in the second loop:
> > > > >
> > > > > - name: Prepare OSDs
> > > > >   shell: ceph-deploy osd prepare {{ item[0] }}:{{ item[1] }}
> > > > >   with_nested:
> > > > >     - groups['ceph-ODSs']
> > > > >     - hostvars[item[0]]['disks']
> > > > >
> > > > > I'm not sure if this is possible, but I can't find any workaround.
> > > > >
>
> --
> Guillaume Subiron
>   Mail - [email protected]
>    GPG - C7C4 455C
> Jabber - [email protected]
>    IRC - maethor@(freenode|geeknode)
>
> --
> 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].
> For more options, visit https://groups.google.com/groups/opt_out.
>



-- 
Michael DeHaan <[email protected]>
CTO, AnsibleWorks, Inc.
http://www.ansibleworks.com/

-- 
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].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to