Allow creation of Mongo user via localhost exception (#22792)
* Allow creation of user with localhost exception. Fixes #22791 When access control is enabled, Mongo allows a user to be created from localhost (called the "localhost exception": https://docs.mongodb.com/v3.2/core/security-users/#localhost-exception). When the `update_password` parameter was added to this module in Ansible 2.1, this functionality was broken due to a query performed before `user_add()` is called. This fix only performs the query when when `update_password` is set to `on-create`, allowing a user to be created via the localhost exception. * Only set `password = None` when user exists.
This commit is contained in:
parent
640131c464
commit
44730c28cc
1 changed files with 6 additions and 5 deletions
|
@ -434,11 +434,12 @@ def main():
|
||||||
module.fail_json(msg='password parameter required when adding a user unless update_password is set to on_create')
|
module.fail_json(msg='password parameter required when adding a user unless update_password is set to on_create')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
uinfo = user_find(client, user, db_name)
|
if update_password != 'always':
|
||||||
if update_password != 'always' and uinfo:
|
uinfo = user_find(client, user, db_name)
|
||||||
password = None
|
if uinfo:
|
||||||
if not check_if_roles_changed(uinfo, roles, db_name):
|
password = None
|
||||||
module.exit_json(changed=False, user=user)
|
if not check_if_roles_changed(uinfo, roles, db_name):
|
||||||
|
module.exit_json(changed=False, user=user)
|
||||||
|
|
||||||
if module.check_mode:
|
if module.check_mode:
|
||||||
module.exit_json(changed=True, user=user)
|
module.exit_json(changed=True, user=user)
|
||||||
|
|
Loading…
Reference in a new issue