ipauser: Make return value depending on users parameter

The way how randompasswords are returned by the ipauser module depends
so far on the number of users that are handled by the module.

This is unexpected if for example a json file is provided with the users
parameter. As it might be unknown how many users are in the json file,
this behaviour is unexpected. The return should not vary in this case.

This chamge makes the return simply depend on the use of the users
paramater. As soon as this parameter is used, the return will always be:

"user": { "<the user>": { "randompassword": "<the user random password>" } }

In the simply case with one user it will be still

"user": { "randompassword": "<the user random password>" }

Fixes: #1052 (ipauser should consitently return randompasswords when
              used with users)
This commit is contained in:
Thomas Woerner
2023-03-02 11:42:32 +01:00
parent 0c23ae5b37
commit 61caa57801
3 changed files with 31 additions and 8 deletions

View File

@@ -36,6 +36,27 @@
- user1
state: absent
- name: User user1 is present with random password using users parameter
ipauser:
ipaadmin_password: SomeADMINpassword
users:
- name: user1
first: first1
last: last1
random: yes
update_password: on_create
register: ipauser
failed_when: not ipauser.changed or
ipauser.user.user1.randompassword is not defined or
ipauser.failed
- name: User user1 absent
ipauser:
ipaadmin_password: SomeADMINpassword
name:
- user1
state: absent
- name: Users user1 and user2 present with random password
ipauser:
ipaadmin_password: SomeADMINpassword