Advertisement
Guest User

Untitled

a guest
Jan 18th, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. def update_user(self, name_or_id, **kwargs):
  2. self.list_users.invalidate(self)
  3. user = self.get_user(name_or_id)
  4. # normalized dict won't work
  5. kwargs['user'] = self.get_user_by_id(user['id'], normalize=False)
  6.  
  7. password = None
  8. if self.cloud_config.get_api_version('identity') != '3':
  9. # Do not pass v3 args to a v2 keystone.
  10. kwargs.pop('domain_id', None)
  11. password = kwargs.pop('password', None)
  12. kwargs.pop('description', None)
  13. kwargs.pop('default_project', None)
  14. elif 'domain_id' in kwargs:
  15. # The incoming parameter is domain_id in order to match the
  16. # parameter name in create_user(), but UserUpdate() needs it
  17. # to be domain.
  18. kwargs['domain'] = kwargs.pop('domain_id')
  19.  
  20. with _utils.shade_exceptions("Error in updating user {user}".format(
  21. user=name_or_id)):
  22. user = self.manager.submitTask(_tasks.UserUpdate(**kwargs))
  23. if password is not None:
  24. with _utils.shade_exceptions(
  25. "Error updating password for {user}".format(
  26. user=name_or_id)):
  27. user = self.manager.submitTask(_tasks.UserPasswordUpdate(
  28. user=user.id, password=password))
  29. self.list_users.invalidate(self)
  30. return _utils.normalize_users([user])[0]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement