Whitespace in comma-delimited lists

I was hunting down the cause to an error message I received when adding a user to some groups.

- name: users | create app remote user
  user:
    name: "{{ app_remote_user }}"
    groups: adm, wheel
    createhome: yes

The error message was:

msg: Group wheel does not exist

This error message was not true in the sense that the target system definitely had a wheel group, but I noticed the extra space in the error message, so the fix was:

- name: users | create app remote user
  user:
    name: "{{ app_remote_user }}"
    groups: adm,wheel
    createhome: yes

My question: Is this a bug in Ansible’s interpretation of the groups parameter value?

groups for the user module are handled differently than most other modules allowing multiple values. It explicitly requires a comma separated string, and only splits on commas and doesn’t strip the value.

It has been brought up before that the way it is handled is not ideal, but never been fixed. I’m not sure if there is a bug filed or not.

So right now, we’ll just call it a “well known feature” :wink:

But there are improvements that could be made. Especially by setting that parameter as a list, and not relying on a comma delimited string for things.