diff options
| author | Dean Troyer <dtroyer@gmail.com> | 2013-09-09 14:52:45 -0500 |
|---|---|---|
| committer | Dean Troyer <dtroyer@gmail.com> | 2013-09-09 14:52:50 -0500 |
| commit | 7a0a7d67ed639cf664f02e1148c7b4a9348f4672 (patch) | |
| tree | c706b3cfb5b59aa354375ab31ed46baed34a8155 /openstackclient/identity | |
| parent | 16edd97007a71129197e4b3df303ed97ccffe436 (diff) | |
| download | python-openstackclient-7a0a7d67ed639cf664f02e1148c7b4a9348f4672.tar.gz | |
Prepare for Identity v3 tests
* Split identity/fakes.py for v2_0 and v3
* Split identity/test_identity.py for v2_0 and v3
* Fix issues in commands with enable/disable
* Clean up v2 commands
Change-Id: I6e536b6a130fc556dbd7dcf9f2e76d939ca1bc1c
Diffstat (limited to 'openstackclient/identity')
| -rw-r--r-- | openstackclient/identity/v2_0/project.py | 22 | ||||
| -rw-r--r-- | openstackclient/identity/v2_0/service.py | 34 | ||||
| -rw-r--r-- | openstackclient/identity/v2_0/user.py | 75 |
3 files changed, 93 insertions, 38 deletions
diff --git a/openstackclient/identity/v2_0/project.py b/openstackclient/identity/v2_0/project.py index 0721a7ce..2d0acb8f 100644 --- a/openstackclient/identity/v2_0/project.py +++ b/openstackclient/identity/v2_0/project.py @@ -33,7 +33,7 @@ class CreateProject(show.ShowOne): def get_parser(self, prog_name): parser = super(CreateProject, self).get_parser(prog_name) parser.add_argument( - 'project_name', + 'name', metavar='<project-name>', help='New project name', ) @@ -57,13 +57,14 @@ class CreateProject(show.ShowOne): def take_action(self, parsed_args): self.log.debug('take_action(%s)' % parsed_args) - identity_client = self.app.client_manager.identity + enabled = True if parsed_args.disable: enabled = False + project = identity_client.tenants.create( - parsed_args.project_name, + parsed_args.name, description=parsed_args.description, enabled=enabled, ) @@ -90,10 +91,12 @@ class DeleteProject(command.Command): def take_action(self, parsed_args): self.log.debug('take_action(%s)' % parsed_args) identity_client = self.app.client_manager.identity + project = utils.find_resource( identity_client.tenants, parsed_args.project, ) + identity_client.tenants.delete(project.id) return @@ -164,8 +167,14 @@ class SetProject(command.Command): def take_action(self, parsed_args): self.log.debug('take_action(%s)' % parsed_args) - identity_client = self.app.client_manager.identity + + if (not parsed_args.name + and not parsed_args.description + and not parsed_args.enable + and not parsed_args.disable): + return + project = utils.find_resource( identity_client.tenants, parsed_args.project, @@ -180,7 +189,6 @@ class SetProject(command.Command): kwargs['enabled'] = True if parsed_args.disable: kwargs['enabled'] = False - if 'id' in kwargs: del kwargs['id'] if 'name' in kwargs: @@ -188,8 +196,8 @@ class SetProject(command.Command): kwargs['tenant_name'] = kwargs['name'] del kwargs['name'] - if len(kwargs): - identity_client.tenants.update(project.id, **kwargs) + identity_client.tenants.update(project.id, **kwargs) + return class ShowProject(show.ShowOne): diff --git a/openstackclient/identity/v2_0/service.py b/openstackclient/identity/v2_0/service.py index 2e81805b..92d1e099 100644 --- a/openstackclient/identity/v2_0/service.py +++ b/openstackclient/identity/v2_0/service.py @@ -28,7 +28,7 @@ from openstackclient.common import utils class CreateService(show.ShowOne): - """Create service command""" + """Create new service""" log = logging.getLogger(__name__ + '.CreateService') @@ -37,21 +37,25 @@ class CreateService(show.ShowOne): parser.add_argument( 'name', metavar='<service-name>', - help='New service name') + help='New service name', + ) parser.add_argument( '--type', metavar='<service-type>', required=True, - help='New service type') + help='New service type (compute, image, identity, volume, etc)', + ) parser.add_argument( '--description', metavar='<service-description>', - help='New service description') + help='New service description', + ) return parser def take_action(self, parsed_args): self.log.debug('take_action(%s)' % parsed_args) identity_client = self.app.client_manager.identity + service = identity_client.services.create( parsed_args.name, parsed_args.type, @@ -63,7 +67,7 @@ class CreateService(show.ShowOne): class DeleteService(command.Command): - """Delete service command""" + """Delete service""" log = logging.getLogger(__name__ + '.DeleteService') @@ -71,19 +75,26 @@ class DeleteService(command.Command): parser = super(DeleteService, self).get_parser(prog_name) parser.add_argument( 'service', - metavar='<service-id>', - help='ID of service to delete') + metavar='<service>', + help='Service to delete (name or ID)', + ) return parser def take_action(self, parsed_args): self.log.debug('take_action(%s)' % parsed_args) identity_client = self.app.client_manager.identity - identity_client.services.delete(parsed_args.service) + + service = utils.find_resource( + identity_client.services, + parsed_args.service, + ) + + identity_client.services.delete(service.id) return class ListService(lister.Lister): - """List service command""" + """List services""" log = logging.getLogger(__name__ + '.ListService') @@ -98,6 +109,7 @@ class ListService(lister.Lister): def take_action(self, parsed_args): self.log.debug('take_action(%s)' % parsed_args) + if parsed_args.long: columns = ('ID', 'Name', 'Type', 'Description') else: @@ -111,7 +123,7 @@ class ListService(lister.Lister): class ShowService(show.ShowOne): - """Show cloud service information""" + """Show service details""" log = logging.getLogger(__name__ + '.ShowService') @@ -120,7 +132,7 @@ class ShowService(show.ShowOne): parser.add_argument( 'service', metavar='<service>', - help='Type, name or ID of service to display', + help='Service to display (type, name or ID)', ) parser.add_argument( '--catalog', diff --git a/openstackclient/identity/v2_0/user.py b/openstackclient/identity/v2_0/user.py index 7174d4ce..371c45a9 100644 --- a/openstackclient/identity/v2_0/user.py +++ b/openstackclient/identity/v2_0/user.py @@ -26,7 +26,7 @@ from openstackclient.common import utils class CreateUser(show.ShowOne): - """Create user command""" + """Create new user""" log = logging.getLogger(__name__ + '.CreateUser') @@ -35,15 +35,18 @@ class CreateUser(show.ShowOne): parser.add_argument( 'name', metavar='<user-name>', - help='New user name') + help='New user name', + ) parser.add_argument( '--password', metavar='<user-password>', - help='New user password') + help='New user password', + ) parser.add_argument( '--email', metavar='<user-email>', - help='New user email address') + help='New user email address', + ) parser.add_argument( '--project', metavar='<project>', @@ -65,6 +68,7 @@ class CreateUser(show.ShowOne): def take_action(self, parsed_args): self.log.debug('take_action(%s)' % parsed_args) identity_client = self.app.client_manager.identity + if parsed_args.project: project_id = utils.find_resource( identity_client.tenants, @@ -72,9 +76,11 @@ class CreateUser(show.ShowOne): ).id else: project_id = None + enabled = True if parsed_args.disable: enabled = False + user = identity_client.users.create( parsed_args.name, parsed_args.password, @@ -95,7 +101,7 @@ class CreateUser(show.ShowOne): class DeleteUser(command.Command): - """Delete user command""" + """Delete user""" log = logging.getLogger(__name__ + '.DeleteUser') @@ -104,19 +110,25 @@ class DeleteUser(command.Command): parser.add_argument( 'user', metavar='<user>', - help='Name or ID of user to delete') + help='User to delete (name or ID)', + ) return parser def take_action(self, parsed_args): self.log.debug('take_action(%s)' % parsed_args) identity_client = self.app.client_manager.identity - user = utils.find_resource(identity_client.users, parsed_args.user) + + user = utils.find_resource( + identity_client.users, + parsed_args.user, + ) + identity_client.users.delete(user.id) return class ListUser(lister.Lister): - """List user command""" + """List users""" log = logging.getLogger(__name__ + '.ListUser') @@ -191,7 +203,7 @@ class ListUser(lister.Lister): class SetUser(command.Command): - """Set user command""" + """Set user properties""" log = logging.getLogger(__name__ + '.SetUser') @@ -200,19 +212,23 @@ class SetUser(command.Command): parser.add_argument( 'user', metavar='<user>', - help='Name or ID of user to change') + help='User to change (name or ID)', + ) parser.add_argument( '--name', metavar='<new-user-name>', - help='New user name') + help='New user name', + ) parser.add_argument( '--password', metavar='<user-password>', - help='New user password') + help='New user password', + ) parser.add_argument( '--email', metavar='<user-email>', - help='New user email address') + help='New user email address', + ) parser.add_argument( '--project', metavar='<project>', @@ -233,9 +249,21 @@ class SetUser(command.Command): def take_action(self, parsed_args): self.log.debug('take_action(%s)' % parsed_args) - identity_client = self.app.client_manager.identity - user = utils.find_resource(identity_client.users, parsed_args.user) + + if (not parsed_args.name + and not parsed_args.name + and not parsed_args.password + and not parsed_args.email + and not parsed_args.project + and not parsed_args.enable + and not parsed_args.disable): + return + + user = utils.find_resource( + identity_client.users, + parsed_args.user, + ) if parsed_args.password: identity_client.users.update_password( @@ -258,17 +286,18 @@ class SetUser(command.Command): kwargs['name'] = parsed_args.name if parsed_args.email: kwargs['email'] = parsed_args.email + kwargs['enabled'] = user.enabled if parsed_args.enable: kwargs['enabled'] = True if parsed_args.disable: kwargs['enabled'] = False - if len(kwargs): - identity_client.users.update(user.id, **kwargs) + identity_client.users.update(user.id, **kwargs) + return class ShowUser(show.ShowOne): - """Show user command""" + """Show user details""" log = logging.getLogger(__name__ + '.ShowUser') @@ -277,13 +306,19 @@ class ShowUser(show.ShowOne): parser.add_argument( 'user', metavar='<user>', - help='Name or ID of user to display') + help='User to display (name or ID)', + ) return parser def take_action(self, parsed_args): self.log.debug('take_action(%s)' % parsed_args) identity_client = self.app.client_manager.identity - user = utils.find_resource(identity_client.users, parsed_args.user) + + user = utils.find_resource( + identity_client.users, + parsed_args.user, + ) + if 'tenantId' in user._info: user._info.update( {'project_id': user._info.pop('tenantId')} |
