Hey Paul, My apologies for the delayed reply.
I can't see why you're getting the result you are. But I did notice a few errors in the snippets I posted. Here's a testing and working example: https://github.com/mephage/ansible-groups_users_example On Thursday, 30 October 2014 23:14:53 UTC+13, Paul Slootman wrote: > > Following up on myself: > > If I change the roles/groups_users/tasks/main.yml to this: > > --- > - name: Add groups > group: name={{ item.name }} > with_dict: groups > > - name: Add users > user: name={{ item.name }} > uid={{ item.uid }} > with_items: users > > i.e. *with_dict* instead of *with_items* in the Add groups task, then I > don't get an error. However the output of --check does not look like it is > doing what I'd expect. Also why does the "Add users" task not need > with_dict instead of "with_items"?! > > GATHERING FACTS > *************************************************************** > ok: [host1] > ok: [host3] > ok: [host2] > > TASK: [groups_users | Add groups] > ********************************************* > skipping: [host1] => (item={'key': 'ungrouped', 'value': []}) > skipping: [host1] => (item={'key': 'myhosts', 'value': ['host1', 'host2', > 'host3']}) > skipping: [host2] => (item={'key': 'ungrouped', 'value': []}) > skipping: [host1] => (item={'key': 'all', 'value': ['host1', 'host2', > 'host3']}) > skipping: [host2] => (item={'key': 'myhosts', 'value': ['host1', 'host2', > 'host3']}) > skipping: [host1] => (item={'key': 'groups_users_db', 'value': ['host3']}) > skipping: [host2] => (item={'key': 'all', 'value': ['host1', 'host2', > 'host3']}) > skipping: [host3] => (item={'key': 'ungrouped', 'value': []}) > skipping: [host1] => (item={'key': 'groups_users_sysadmins', 'value': > ['host1', 'host2', 'host3']}) > skipping: [host2] => (item={'key': 'groups_users_db', 'value': ['host3']}) > skipping: [host3] => (item={'key': 'myhosts', 'value': ['host1', 'host2', > 'host3']}) > skipping: [host2] => (item={'key': 'groups_users_sysadmins', 'value': > ['host1', 'host2', 'host3']}) > skipping: [host3] => (item={'key': 'all', 'value': ['host1', 'host2', > 'host3']}) > skipping: [host3] => (item={'key': 'groups_users_db', 'value': ['host3']}) > skipping: [host3] => (item={'key': 'groups_users_sysadmins', 'value': > ['host1', 'host2', 'host3']}) > > TASK: [groups_users | Add users] > ********************************************** > skipping: [host1] => (item={'name': 'username3', 'uid': 3456}) > skipping: [host1] => (item={'name': 'username4', 'uid': 4567}) > skipping: [host3] => (item={'name': 'username3', 'uid': 3456}) > skipping: [host2] => (item={'name': 'username3', 'uid': 3456}) > skipping: [host3] => (item={'name': 'username4', 'uid': 4567}) > skipping: [host2] => (item={'name': 'username4', 'uid': 4567}) > > PLAY RECAP > ******************************************************************** > host1 : ok=6 changed=0 unreachable=0 failed=0 > > host2 : ok=6 changed=0 unreachable=0 failed=0 > > host3 : ok=6 changed=0 unreachable=0 failed=0 > > > This is shown twice (identical output), once for each play. > > > Paul > > On Thursday, 30 October 2014 09:41:48 UTC+1, Paul Slootman wrote: >> >> Thanks for your example, I'm just about understanding how it works :-) I >> did need to add a .yml extension to the external_vars/groups_users_* files >> but that was obvious from how the playbook referenced those file. Also the >> role needs "group:" and not "groups:" (the error message could have been a >> bit clearer...). >> >> However, when I try this, the gathering facts works fine, then: >> >> TASK: [groups_users | Add groups] >> ********************************************* >> fatal: [host1] => with_items expects a list or a set >> fatal: [host2] => with_items expects a list or a set >> fatal: [host3] => with_items expects a list or a set >> >> FATAL: all hosts have already failed -- aborting >> >> This is the sort of thing that's probably trivial to fix with some >> experience but I have no clue how to proceed now :-( >> >> FWIW I'm running: >> ansible 1.8 (devel 44afa7facc) last updated 2014/10/27 14:31:42 (GMT +200) >> > -- 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/87dab43b-4af6-4c93-bfc7-cf955cd39c4b%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
