You need to read up on roles.

http://docs.ansible.com/playbooks_roles.html


On Tue, Jan 7, 2014 at 4:38 AM, hafizh <hafizh...@gmail.com> wrote:

> Hi,
>
> I've been playing with Ansible for some time and I'm hitting the wall when
> it comes to re-usability.
> I find that Ansible requires me to duplicate many of my tasks just to
> cater that specific needs.
> Maybe it's the lacking on my side. So, I hope you guys can kindly shed
> some light on this.
>
> I notice that the tasks are very 'strict'. Once we provide an optional
> param, the rest of the lists must provide it too.
>
> Say. I want to create two users:
>     vars:
>       - users:
>         - { name: test1, uid: 1234 }
>         - { name: test2 }
>
> Ideal case would be:
>     tasks:
>         - name: creating user
>           user: name={{ item.name }} uid={{ item.uid }}
>           with_items: users
>
>     ie, I hope Ansible will be smart enough to ignore the optional 'uid'
> for 'test2' but it wont.
>
> The implication is big. Instead of creating a role name 'os_create_user'
> and passing "users" with the neeeded param as the var,
> I need to identify the needed users/param beforehand and create the same
> tasks for each. To put in short, I cannot create them dynamically.
>
> Worse,I cannot share it between different playbooks because of the
> 'strict' requirement.
> So, I ended up creating the same thing for other roles, this time with
> just an extra parameter.
>
> Actually thats some others that I'm having prob with, but I will keep it
> at that first.
> Many thanks in advance for any guidance on this.
>
>  --
> 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 ansible-project+unsubscr...@googlegroups.com.
> To post to this group, send email to ansible-project@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>



-- 
Michael DeHaan <mich...@ansibleworks.com>
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 ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to