Skip to content

Commit f40a04c

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Add "server stop" command to osc."
2 parents 334ef75 + 7107b55 commit f40a04c

4 files changed

Lines changed: 43 additions & 1 deletion

File tree

doc/source/command-objects/server.rst

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -610,6 +610,21 @@ Start server(s)
610610
611611
Server(s) to start (name or ID)
612612
613+
server stop
614+
-----------
615+
616+
Stop server(s)
617+
618+
.. program:: server stop
619+
.. code:: bash
620+
621+
os server stop
622+
<server> [<server> ...]
623+
624+
.. describe:: <server>
625+
626+
Server(s) to stop (name or ID)
627+
613628
server suspend
614629
--------------
615630

doc/source/commands.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,8 @@ Those actions with an opposite action are noted in parens if applicable.
183183
* ``save`` - download an object locally
184184
* ``set`` (``unset``) - set a property on the object, formerly called metadata
185185
* ``show`` - display detailed information about the specific object
186-
* ``start`` - start one or more servers
186+
* ``start`` (``stop``) - start one or more servers
187+
* ``stop`` (``start``) - stop one or more servers
187188
* ``suspend`` (``resume``) - stop a server and save to disk freeing memory
188189
* ``unlock`` (``lock``) - unlock a server
189190
* ``unpause`` (``pause``) - return a paused server to running state

openstackclient/compute/v2/server.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1508,6 +1508,31 @@ def take_action(self, parsed_args):
15081508
).start()
15091509

15101510

1511+
class StopServer(command.Command):
1512+
"""Stop server(s)."""
1513+
1514+
log = logging.getLogger(__name__ + '.StopServer')
1515+
1516+
def get_parser(self, prog_name):
1517+
parser = super(StopServer, self).get_parser(prog_name)
1518+
parser.add_argument(
1519+
'server',
1520+
metavar='<server>',
1521+
nargs="+",
1522+
help=_('Server(s) to stop (name or ID)'),
1523+
)
1524+
return parser
1525+
1526+
@utils.log_method(log)
1527+
def take_action(self, parsed_args):
1528+
compute_client = self.app.client_manager.compute
1529+
for server in parsed_args.server:
1530+
utils.find_resource(
1531+
compute_client.servers,
1532+
server,
1533+
).stop()
1534+
1535+
15111536
class SuspendServer(command.Command):
15121537
"""Suspend server"""
15131538

setup.cfg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ openstack.compute.v2 =
134134
server_show = openstackclient.compute.v2.server:ShowServer
135135
server_ssh = openstackclient.compute.v2.server:SshServer
136136
server_start = openstackclient.compute.v2.server:StartServer
137+
server_stop = openstackclient.compute.v2.server:StopServer
137138
server_suspend = openstackclient.compute.v2.server:SuspendServer
138139
server_unlock = openstackclient.compute.v2.server:UnlockServer
139140
server_unpause = openstackclient.compute.v2.server:UnpauseServer

0 commit comments

Comments
 (0)