summaryrefslogtreecommitdiff
path: root/openstackclient/identity
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient/identity')
-rw-r--r--openstackclient/identity/v3/group.py26
-rw-r--r--openstackclient/identity/v3/role.py29
2 files changed, 18 insertions, 37 deletions
diff --git a/openstackclient/identity/v3/group.py b/openstackclient/identity/v3/group.py
index a03a86eb..2afdabc1 100644
--- a/openstackclient/identity/v3/group.py
+++ b/openstackclient/identity/v3/group.py
@@ -62,18 +62,13 @@ class AddUserToGroup(command.Command):
try:
identity_client.users.add_to_group(user_id, group_id)
- except Exception:
- msg = _("%(user)s not added to group %(group)s\n") % {
- 'user': parsed_args.user,
- 'group': parsed_args.group,
- }
- sys.stderr.write(msg)
- else:
- msg = _("%(user)s added to group %(group)s\n") % {
+ except Exception as e:
+ msg = _("%(user)s not added to group %(group)s: %(e)s") % {
'user': parsed_args.user,
'group': parsed_args.group,
+ 'e': e,
}
- sys.stdout.write(msg)
+ raise exceptions.CommandError(msg)
class CheckUserInGroup(command.Command):
@@ -306,18 +301,13 @@ class RemoveUserFromGroup(command.Command):
try:
identity_client.users.remove_from_group(user_id, group_id)
- except Exception:
- msg = _("%(user)s not removed from group %(group)s\n") % {
- 'user': parsed_args.user,
- 'group': parsed_args.group,
- }
- sys.stderr.write(msg)
- else:
- msg = _("%(user)s removed from group %(group)s\n") % {
+ except Exception as e:
+ msg = _("%(user)s not removed from group %(group)s: %(e)s") % {
'user': parsed_args.user,
'group': parsed_args.group,
+ 'e': e,
}
- sys.stdout.write(msg)
+ raise exceptions.CommandError(msg)
class SetGroup(command.Command):
diff --git a/openstackclient/identity/v3/role.py b/openstackclient/identity/v3/role.py
index 994ecc9c..1bbf5f07 100644
--- a/openstackclient/identity/v3/role.py
+++ b/openstackclient/identity/v3/role.py
@@ -16,7 +16,6 @@
"""Identity v3 Role action implementations"""
import logging
-import sys
from keystoneauth1 import exceptions as ks_exc
from osc_lib.command import command
@@ -129,7 +128,9 @@ class AddRole(command.Command):
if (not parsed_args.user and not parsed_args.domain
and not parsed_args.group and not parsed_args.project):
- return
+ msg = _("Role not added, incorrect set of arguments "
+ "provided. See openstack --help for more details")
+ raise exceptions.CommandError(msg)
domain_id = None
if parsed_args.role_domain:
@@ -143,11 +144,6 @@ class AddRole(command.Command):
kwargs = _process_identity_and_resource_options(
parsed_args, self.app.client_manager.identity)
- if not kwargs:
- sys.stderr.write(_("Role not added, incorrect set of arguments "
- "provided. See openstack --help for more "
- "details\n"))
- return
identity_client.roles.grant(role.id, **kwargs)
@@ -372,10 +368,10 @@ class ListRole(command.Lister):
'<group-name> --project <project-name> --names '
'instead.'))
else:
- sys.stderr.write(_("Error: If a user or group is specified, "
- "either --domain or --project must also be "
- "specified to list role grants.\n"))
- return ([], [])
+ msg = _("Error: If a user or group is specified, "
+ "either --domain or --project must also be "
+ "specified to list role grants.")
+ raise exceptions.CommandError(msg)
return (columns,
(utils.get_item_properties(
@@ -405,9 +401,9 @@ class RemoveRole(command.Command):
if (not parsed_args.user and not parsed_args.domain
and not parsed_args.group and not parsed_args.project):
- sys.stderr.write(_("Incorrect set of arguments provided. "
- "See openstack --help for more details\n"))
- return
+ msg = _("Incorrect set of arguments provided. "
+ "See openstack --help for more details")
+ raise exceptions.CommandError(msg)
domain_id = None
if parsed_args.role_domain:
@@ -421,11 +417,6 @@ class RemoveRole(command.Command):
kwargs = _process_identity_and_resource_options(
parsed_args, self.app.client_manager.identity)
- if not kwargs:
- sys.stderr.write(_("Role not removed, incorrect set of arguments "
- "provided. See openstack --help for more "
- "details\n"))
- return
identity_client.roles.revoke(role.id, **kwargs)