summaryrefslogtreecommitdiff
path: root/openstackclient/compute
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2017-10-27 18:29:07 +0000
committerGerrit Code Review <review@openstack.org>2017-10-27 18:29:07 +0000
commitd215982ce04302a95086e574322046ef5a4b439c (patch)
tree11a8b226c221faca8a1f0a7d31f0dc4083d136b2 /openstackclient/compute
parent21212cabd52c85fdd572fc0c230868106a7f8eda (diff)
parentfd23ebfbf3080b96f7ef8ba516b64e67a111971d (diff)
downloadpython-openstackclient-d215982ce04302a95086e574322046ef5a4b439c.tar.gz
Merge "Add missing parameters on openstack server rescue"
Diffstat (limited to 'openstackclient/compute')
-rw-r--r--openstackclient/compute/v2/server.py29
1 files changed, 24 insertions, 5 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index 151c6783..d4edf8c5 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -1576,7 +1576,7 @@ class RemoveServerVolume(command.Command):
)
-class RescueServer(command.ShowOne):
+class RescueServer(command.Command):
_description = _("Put server in rescue mode")
def get_parser(self, prog_name):
@@ -1586,16 +1586,35 @@ class RescueServer(command.ShowOne):
metavar='<server>',
help=_('Server (name or ID)'),
)
+ parser.add_argument(
+ '--image',
+ metavar='<image>',
+ help=_('Image (name or ID) to use for the rescue mode.'
+ ' Defaults to the currently used one.'),
+ )
+ parser.add_argument(
+ '--password',
+ metavar='<password>',
+ help=_("Set the password on the rescued instance"),
+ )
return parser
def take_action(self, parsed_args):
-
compute_client = self.app.client_manager.compute
- _, body = utils.find_resource(
+ image_client = self.app.client_manager.image
+
+ image = None
+ if parsed_args.image:
+ image = utils.find_resource(
+ image_client.images,
+ parsed_args.image,
+ )
+
+ utils.find_resource(
compute_client.servers,
parsed_args.server,
- ).rescue()
- return zip(*sorted(six.iteritems(body)))
+ ).rescue(image=image,
+ password=parsed_args.password)
class ResizeServer(command.Command):