summaryrefslogtreecommitdiff
path: root/openstackclient/compute
diff options
context:
space:
mode:
authorTang Chen <tangchen@cn.fujitsu.com>2015-10-24 12:05:50 +0800
committerTang Chen <tangchen@cn.fujitsu.com>2015-11-05 15:43:15 +0800
commit1809faaf1fbffea497cfbe2f1c7adde6bf449234 (patch)
treed88795d9d1a263d62d2b507bd2aadcec4f72e01c /openstackclient/compute
parentd4fb5cefda8425e6e0ea6c46878c4a717aadc304 (diff)
downloadpython-openstackclient-1809faaf1fbffea497cfbe2f1c7adde6bf449234.tar.gz
Add "server start" command to osc.
There is no start command in osc. Add it. Change-Id: Ic50f83413ab17c53396065aabb3f5a1506b52959 Implements: blueprint cmd-with-multi-servers
Diffstat (limited to 'openstackclient/compute')
-rw-r--r--openstackclient/compute/v2/server.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index ac717405..2768951d 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -1483,6 +1483,31 @@ class SshServer(command.Command):
os.system(cmd % (login, ip_address))
+class StartServer(command.Command):
+ """Start server(s)."""
+
+ log = logging.getLogger(__name__ + '.StartServer')
+
+ def get_parser(self, prog_name):
+ parser = super(StartServer, self).get_parser(prog_name)
+ parser.add_argument(
+ 'server',
+ metavar='<server>',
+ nargs="+",
+ help=_('Server(s) to start (name or ID)'),
+ )
+ return parser
+
+ @utils.log_method(log)
+ def take_action(self, parsed_args):
+ compute_client = self.app.client_manager.compute
+ for server in parsed_args.server:
+ utils.find_resource(
+ compute_client.servers,
+ server,
+ ).start()
+
+
class SuspendServer(command.Command):
"""Suspend server"""