summaryrefslogtreecommitdiff
path: root/openstackclient/volume
diff options
context:
space:
mode:
authorDean Troyer <dtroyer@gmail.com>2014-11-18 09:02:04 -0600
committerDean Troyer <dtroyer@gmail.com>2014-11-18 09:35:08 -0600
commit39116bf594e780caa924c46465205a110a4c8023 (patch)
treeabc00ac10425e2c98d97f3d16a9404a820b93151 /openstackclient/volume
parent57364804f612f47518210fdb4a89472eca4fbd30 (diff)
downloadpython-openstackclient-39116bf594e780caa924c46465205a110a4c8023.tar.gz
Fix volume create --image
'volume create --image' should allow an image name to be used. Closes-Bug: #1383333 Change-Id: I996d46db321eef2d75c3d19b480319f8a78c09b3
Diffstat (limited to 'openstackclient/volume')
-rw-r--r--openstackclient/volume/v1/volume.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/openstackclient/volume/v1/volume.py b/openstackclient/volume/v1/volume.py
index 99abac52..84c216d3 100644
--- a/openstackclient/volume/v1/volume.py
+++ b/openstackclient/volume/v1/volume.py
@@ -99,6 +99,7 @@ class CreateVolume(show.ShowOne):
self.log.debug('take_action(%s)', parsed_args)
identity_client = self.app.client_manager.identity
+ image_client = self.app.client_manager.image
volume_client = self.app.client_manager.volume
source_volume = None
@@ -111,12 +112,23 @@ class CreateVolume(show.ShowOne):
project = None
if parsed_args.project:
project = utils.find_resource(
- identity_client.tenants, parsed_args.project).id
+ identity_client.tenants,
+ parsed_args.project,
+ ).id
user = None
if parsed_args.user:
user = utils.find_resource(
- identity_client.users, parsed_args.user).id
+ identity_client.users,
+ parsed_args.user,
+ ).id
+
+ image = None
+ if parsed_args.image:
+ image = utils.find_resource(
+ image_client.images,
+ parsed_args.image,
+ ).id
volume = volume_client.volumes.create(
parsed_args.size,
@@ -129,7 +141,7 @@ class CreateVolume(show.ShowOne):
project,
parsed_args.availability_zone,
parsed_args.property,
- parsed_args.image
+ image,
)
# Map 'metadata' column to 'properties'
volume._info.update(