summaryrefslogtreecommitdiff
path: root/openstackclient/compute
diff options
context:
space:
mode:
authorxiexs <xiexs@cn.fujitsu.com>2015-11-10 02:39:28 -0500
committerxiexs <xiexs@cn.fujitsu.com>2015-11-11 23:47:02 -0500
commit8b23c2690c90a6cafc58f8a72f04c8e33234ce37 (patch)
tree601f994b5e724d9ac81a45ccc71f853c3307219d /openstackclient/compute
parent6611f3781be44e7981f319073b2cb737bc0d0d0c (diff)
downloadpython-openstackclient-8b23c2690c90a6cafc58f8a72f04c8e33234ce37.tar.gz
Split the vol_id from a dev mapping
Add a split into the dev mapping to get the right vol_id. Change-Id: I1a7bf6351491b1321c5ca0fa4a27f29825400eaf Closes-Bug: #1514394
Diffstat (limited to 'openstackclient/compute')
-rw-r--r--openstackclient/compute/v2/server.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index b5e7f004..ef9d24e7 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -425,10 +425,17 @@ class CreateServer(show.ShowOne):
dev_key, dev_vol = dev_map.split('=', 1)
block_volume = None
if dev_vol:
- block_volume = utils.find_resource(
- volume_client.volumes,
- dev_vol,
- ).id
+ vol = dev_vol.split(':', 1)[0]
+ if vol:
+ vol_id = utils.find_resource(
+ volume_client.volumes,
+ vol,
+ ).id
+ block_volume = dev_vol.replace(vol, vol_id)
+ else:
+ msg = _("Volume name or ID must be specified if "
+ "--block-device-mapping is specified")
+ raise exceptions.CommandError(msg)
block_device_mapping.update({dev_key: block_volume})
nics = []