Hi,
that explains it. When is part of task, it cannot be used i variables (i
guess).
In this specific case you do not need at all, just define something like:
sudo_group: "{% if ansible_family == 'RedHat' %}wheel{% else %}sudo{% endif
%}"
in your host_vars, or main.yml in role vars/defaults.
Than just user sudo_group in task.
David
2014-09-04 9:07 GMT+02:00 John Ross Tasipit <[email protected]>:
> Yes I forgot to mention, I'm aware that it is a variable definition. The
> task was located in roles/users/tasks/main.yml which contains:
>
> ---
> - name: Per-user group creation
> group: name="{{item.username}}" gid="{{item.uid}}"
> with_items: users
> when: users_create_per_user_group
> tags: ['users','configuration']
>
> - name: User creation
> user: name="{{item.username}}"
> group="{{item.username if users_create_per_user_group
> else users_group}}"
> groups="{{item.groups | join(',')}}"
> shell={{item.shell if item.shell is defined else
> users_default_shell}}
> comment="{{item.name}}"
> uid="{{item.uid}}"
> createhome="{{'yes' if users_create_homedirs else 'no'}}"
> with_items: users
> tags: ['users','configuration']
>
> - name: SSH keys
> authorized_key: user="{{item.0.username}}" key="{{item.1}}"
> with_subelements:
> - users
> - ssh_key
> tags: ['users','configuration']
>
> - name: Deleted user removal
> user: name="{{item.username}}" state=absent
> with_items: users_deleted
> tags: ['users','configuration']
>
> - name: Deleted per-user group removal
> group: name="{{item.username}}" state=absent
> with_items: users_deleted
> when: users_create_per_user_group
> tags: ['users','configuration']
>
>
>
>
>
> On Thursday, September 4, 2014 3:01:50 PM UTC+8, David Karban wrote:
>
>> Hi John,
>>
>> it does not seem like a task, more like variable definition. For example,
>> user module does not have username param, name is used for user name, where
>> you are defining real name.
>>
>> For examples how to use user module look here:
>> http://docs.ansible.com/user_module.html#examples
>>
>> David
>>
>>
>>
>>
>>
>> 2014-09-04 3:46 GMT+02:00 John Ross Tasipit <[email protected]>:
>>
>>> On Wednesday, September 3, 2014 7:36:40 PM UTC+8, Michael DeHaan wrote:
>>>>
>>>> In your second example, is this a task, or is this a data definition?
>>>> I can't tell because there is not a module named "username" and once again
>>>> your indentation is all messed up :)
>>>>
>>>> *Sorry I pasted it wrong (for unknown cause), here is the correct one:*
>>> ---
>>> # Create a group for every user and make that their primary group
>>> users_create_per_user_group: true
>>> # If we're not creating a per-user group, then this is the group all
>>> users
>>> # belong to
>>> users_group: users
>>> # The default shell for a user if none is specified
>>> users_default_shell: /bin/bash
>>> # Create home dirs for new users? Set this to false if you manage home
>>> # directories in some other way.
>>> users_create_homedirs: true
>>>
>>> users:
>>> - username: John
>>> name: John Ross
>>> groups: ['sudo']
>>> uid: 1001
>>> *when: ansible_os_family == "Debian"*
>>> ssh_key:
>>>
>>> - "ssh-dss AAAAB3N...Enter code here...
>>>
>>> - username: John
>>> name: John Ross
>>> groups: ['wheel']
>>> uid: 1001
>>> *when: ansible_os_family == "RedHat"*
>>> ssh_key:
>>> - "ssh-dss AAAAB3N...
>>> *This is a task, revision of my first example.*
>>>
>>> If this is your first ansible task, let me know and I can point you to
>>>> the proper documentation sections, if not, please take a critical eye to
>>>> how it looks relative to your other tasks and it should be easy to spot.
>>>>
>>>> *Yes its my first ansible task (could you teach me what maGIC DID YOU
>>> USED TO KNOW THAT!!!)*
>>>
>>> Again, in failure scenarios, it's helpful to post the error message. I
>>>> suspect it's not only "not skipping", but the module is telling you what's
>>>> wrong.
>>>>
>>>> *Yes I will post error message next time *
>>>
>>>>
>>>>
>>>>
>>>> On Wed, Sep 3, 2014 at 7:35 AM, Michael DeHaan <[email protected]>
>>>> wrote:
>>>>
>>>>> In your first example, you can't stick a "when:" twice in a single
>>>>> task.
>>>>>
>>>>> You can feed it a list of multiple conditionals, but I think your
>>>>> problem is you are missing a "-" to seperate two different tasks.
>>>>>
>>>>> However, in the text below, there are other questions and problems,
>>>>> such as "username" vs "user", which I suspect selects a module, and other
>>>>> duplicated fields, like "groups".
>>>>>
>>>>> Another problem is the when is indented and not at "task" level,
>>>>> though the module should yell to you about being sent a parameter it
>>>>> doesn't know about.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Tue, Sep 2, 2014 at 11:52 PM, John Ross Tasipit <[email protected]
>>>>> > wrote:
>>>>>
>>>>>> Sorry for the mistype, on 2nd highlighted code syntax, below is the
>>>>>> correct one:
>>>>>>
>>>>>>
>>>>>> On Wednesday, September 3, 2014 11:45:32 AM UTC+8, John Ross Tasipit
>>>>>> wrote:
>>>>>>>
>>>>>>> # The default shell for a user if none is specified
>>>>>>> users_default_shell: /bin/bash
>>>>>>> # Create home dirs for new users? Set this to false if you manage
>>>>>>> home
>>>>>>> # directories in some other way.
>>>>>>> users_create_homedirs: true
>>>>>>>
>>>>>>> # Lists of users to create and delete
>>>>>>> users:
>>>>>>> - username: username
>>>>>>> name: full_name_of_user
>>>>>>> groups: ['sudo']
>>>>>>> *when: ansible_os_family == "Debian"*
>>>>>>> groups: ['wheel']
>>>>>>> *when: ansible_os_family == "RedHat"*
>>>>>>> uid: 2001
>>>>>>> ssh_key:
>>>>>>> - "ssh-dss AAAAB3N...Enter code here...
>>>>>>>
>>>>>>> When conditionals not skipping "RedHat" tasks using the above
>>>>>>> roles/users/default/main.yml syntax, which is for an ubuntu system
>>>>>>>
>>>>>>> I also tried doing this:
>>>>>>>
>>>>>>>
>>>>>> # The default shell for a user if none is specified
>>>>>>> users_default_shell: /bin/bash
>>>>>>> # Create home dirs for new users? Set this to false if you manage
>>>>>>> home
>>>>>>> # directories in some other way.
>>>>>>> users_create_homedirs: true
>>>>>>>
>>>>>>> # Lists of users to create and delete
>>>>>>> users:
>>>>>>> - username: username
>>>>>>> name: full_name_of_user
>>>>>>> groups: ['sudo']
>>>>>>>
>>>>>>> uid: 1001
>>>>>>> *when: ansible_os_family == "Debian"*
>>>>>>> ssh_key:
>>>>>>>
>>>>>>> - "ssh-dss AAAAB3N...Enter code here...
>>>>>>>
>>>>>>> - username: same_as_above_username
>>>>>>> name: full_name_of_user
>>>>>>> groups: ['wheel']
>>>>>>> uid: 1001
>>>>>>> *when: ansible_os_family == "RedHat"*
>>>>>>> ssh_key:
>>>>>>> - "ssh-dss AAAAB3N...
>>>>>>>
>>>>>>>
>>>>>>> ... but still not skipping "redhat" tasks
>>>>>>>
>>>>>>> Hope someone can help. TIA
>>>>>>>
>>>>>> --
>>>>>> 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/076420b3-8abc-40e7-9d1e-0c5c186cd650%
>>>>>> 40googlegroups.com
>>>>>> <https://groups.google.com/d/msgid/ansible-project/076420b3-8abc-40e7-9d1e-0c5c186cd650%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>>> --
>>> 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/74633885-9860-45cc-b848-
>>> 134d30ea8d61%40googlegroups.com
>>> <https://groups.google.com/d/msgid/ansible-project/74633885-9860-45cc-b848-134d30ea8d61%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> David Karban
>> Specialista na správu linuxových serverů
>> www.karban.eu
>>
> --
> 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/95636bc8-c98e-4730-91a2-64c9a66261fe%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/95636bc8-c98e-4730-91a2-64c9a66261fe%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>
--
David Karban
Specialista na správu linuxových serverů
www.karban.eu
--
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/CAOBFM94cog-qo8u1%2BxaVfeinr%2B%3D2JHArxwUafOBiQ96aKtHq4w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.