diff --git a/shade/_tasks.py b/shade/_tasks.py index 1025ab7b7..b6b319048 100644 --- a/shade/_tasks.py +++ b/shade/_tasks.py @@ -22,11 +22,6 @@ class UserPasswordUpdate(task_manager.Task): return client.keystone_client.users.update_password(**self.args) -class UserRemoveFromGroup(task_manager.Task): - def main(self, client): - return client.keystone_client.users.remove_from_group(**self.args) - - class MachineCreate(task_manager.Task): def main(self, client): return client.ironic_client.node.create(**self.args) diff --git a/shade/openstackcloud.py b/shade/openstackcloud.py index 3785b654f..64651d318 100644 --- a/shade/openstackcloud.py +++ b/shade/openstackcloud.py @@ -1140,13 +1140,11 @@ class OpenStackCloud( """ user, group = self._get_user_and_group(name_or_id, group_name_or_id) - with _utils.shade_exceptions( - "Error removing user {user} from group {group}".format( - user=name_or_id, group=group_name_or_id) - ): - self.manager.submit_task( - _tasks.UserRemoveFromGroup(user=user['id'], group=group['id']) - ) + error_msg = "Error removing user {user} from group {group}".format( + user=name_or_id, group=group_name_or_id) + self._identity_client.delete( + '/groups/{g}/users/{u}'.format(g=group['id'], u=user['id']), + error_message=error_msg) def get_template_contents( self, template_file=None, template_url=None,