summaryrefslogtreecommitdiff
path: root/openstackclient/compute
diff options
context:
space:
mode:
authorMatt Riedemann <mriedem@us.ibm.com>2015-05-29 11:55:09 -0700
committerMatt Riedemann <mriedem@us.ibm.com>2015-05-29 14:32:51 -0700
commit224d375ef4120998dc51fbf55f1778d1ccf118a0 (patch)
tree0347f83242d39d28c8164c860e4d9c834fff4337 /openstackclient/compute
parent211c14c638b9bf393932be42d4f04a4dd12a84bc (diff)
downloadpython-openstackclient-224d375ef4120998dc51fbf55f1778d1ccf118a0.tar.gz
Add --wait to server delete
This allows the server delete command to wait for the server to be deleted (obviously). The wait method is the same model that Tempest uses, i.e. wait for a 404 on server GET (successful deletion), fail if the server went to ERROR status, or fail if a timeout is reached. The default timeout of 300 seconds is also what Tempest uses. Closes-Bug: #1460112 Change-Id: I0e66c400903e82832944d1cad61e7eb30177c3e8
Diffstat (limited to 'openstackclient/compute')
-rw-r--r--openstackclient/compute/v2/server.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index 41c1b904..5007b072 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -572,6 +572,11 @@ class DeleteServer(command.Command):
nargs="+",
help=_('Server(s) to delete (name or ID)'),
)
+ parser.add_argument(
+ '--wait',
+ action='store_true',
+ help=_('Wait for delete to complete'),
+ )
return parser
def take_action(self, parsed_args):
@@ -581,6 +586,18 @@ class DeleteServer(command.Command):
server_obj = utils.find_resource(
compute_client.servers, server)
compute_client.servers.delete(server_obj.id)
+ if parsed_args.wait:
+ if utils.wait_for_delete(
+ compute_client.servers,
+ server_obj.id,
+ callback=_show_progress,
+ ):
+ sys.stdout.write('\n')
+ else:
+ self.log.error(_('Error deleting server: %s'),
+ server_obj.id)
+ sys.stdout.write(_('\nError deleting server'))
+ raise SystemExit
return