diff options
| author | Dean Troyer <dtroyer@gmail.com> | 2013-04-11 16:02:53 -0500 |
|---|---|---|
| committer | Dean Troyer <dtroyer@gmail.com> | 2013-10-25 12:21:41 -0500 |
| commit | 9137cc304d73aa60548fa255d2bf668600aa0ec4 (patch) | |
| tree | b1b3cd6349477ebb33e04de89503fe313ab97d6c /openstackclient/volume/v1 | |
| parent | 1fa1330e1d8bc9361bbe8c88490a20f9b8fddec1 (diff) | |
| download | python-openstackclient-9137cc304d73aa60548fa255d2bf668600aa0ec4.tar.gz | |
Do lookups for user, project in volume create
This required https://review.openstack.org/26323 in keystoneclient,
merged long ago...
Also adds some tests for 'volume create'
Change-Id: I55bededbc20b5dcf2833c59eb2b6b069703d8a9a
Diffstat (limited to 'openstackclient/volume/v1')
| -rw-r--r-- | openstackclient/volume/v1/volume.py | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/openstackclient/volume/v1/volume.py b/openstackclient/volume/v1/volume.py index c6690fd6..0253bc1d 100644 --- a/openstackclient/volume/v1/volume.py +++ b/openstackclient/volume/v1/volume.py @@ -61,14 +61,14 @@ class CreateVolume(show.ShowOne): help='Type of volume', ) parser.add_argument( - '--user-id', - metavar='<user-id>', - help='Override user id derived from context (admin only)', + '--user', + metavar='<user>', + help='Specify a different user (admin only)', ) parser.add_argument( - '--project-id', - metavar='<project-id>', - help='Override project id derived from context (admin only)', + '--project', + metavar='<project>', + help='Specify a diffeent project (admin only)', ) parser.add_argument( '--availability-zone', @@ -98,6 +98,7 @@ class CreateVolume(show.ShowOne): def take_action(self, parsed_args): self.log.debug('take_action(%s)' % parsed_args) + identity_client = self.app.client_manager.identity volume_client = self.app.client_manager.volume source_volume = None @@ -107,6 +108,16 @@ class CreateVolume(show.ShowOne): parsed_args.source, ).id + project = None + if parsed_args.project: + project = utils.find_resource( + identity_client.tenants, parsed_args.project).id + + user = None + if parsed_args.user: + user = utils.find_resource( + identity_client.users, parsed_args.user).id + volume = volume_client.volumes.create( parsed_args.size, parsed_args.snapshot_id, @@ -114,8 +125,8 @@ class CreateVolume(show.ShowOne): parsed_args.name, parsed_args.description, parsed_args.volume_type, - parsed_args.user_id, - parsed_args.project_id, + user, + project, parsed_args.availability_zone, parsed_args.property, parsed_args.image |
