summaryrefslogtreecommitdiff
path: root/openstackclient/compute
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-01-15 17:44:01 +0000
committerGerrit Code Review <review@openstack.org>2016-01-15 17:44:01 +0000
commitaa041c52694c92434e4a3ca4ad4963c03624c73f (patch)
tree154666adafdcde09e55f5b9ba49b5454f4a6e484 /openstackclient/compute
parent8654e3e366166372c8f114ad9463dbceb599cd3d (diff)
parenta5267772186add4e37c454c5a97d0ea3a1c88a81 (diff)
downloadpython-openstackclient-aa041c52694c92434e4a3ca4ad4963c03624c73f.tar.gz
Merge "Make --image parameter optional in "server rebuild""
Diffstat (limited to 'openstackclient/compute')
-rw-r--r--openstackclient/compute/v2/server.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index 7afd18f2..f5876d4f 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -1088,8 +1088,8 @@ class RebuildServer(show.ShowOne):
parser.add_argument(
'--image',
metavar='<image>',
- required=True,
- help=_('Recreate server from this image'),
+ help=_('Recreate server from the specified image (name or ID).'
+ ' Defaults to the currently used one.'),
)
parser.add_argument(
'--password',
@@ -1107,12 +1107,13 @@ class RebuildServer(show.ShowOne):
def take_action(self, parsed_args):
compute_client = self.app.client_manager.compute
- # Lookup parsed_args.image
- image = utils.find_resource(compute_client.images, parsed_args.image)
-
server = utils.find_resource(
compute_client.servers, parsed_args.server)
+ # If parsed_args.image is not set, default to the currently used one.
+ image_id = parsed_args.image or server._info.get('image', {}).get('id')
+ image = utils.find_resource(compute_client.images, image_id)
+
server = server.rebuild(image, parsed_args.password)
if parsed_args.wait:
if utils.wait_for_status(