summaryrefslogtreecommitdiff
path: root/openstackclient/compute
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2023-05-17 23:20:11 +0000
committerGerrit Code Review <review@openstack.org>2023-05-17 23:20:11 +0000
commita2728356af2537871f9da1d721b27abaec2e709d (patch)
tree7b7141199f6c3bb9301d2bb570ff70352a99053e /openstackclient/compute
parent938850bae17134c426855fd1b5c6475751adcd03 (diff)
parent417a7ad2039c09adbd497392c0199b7667e65ef7 (diff)
downloadpython-openstackclient-a2728356af2537871f9da1d721b27abaec2e709d.tar.gz
Merge "Allow server rebuild --wait for SHUTOFF servers"
Diffstat (limited to 'openstackclient/compute')
-rw-r--r--openstackclient/compute/v2/server.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index cde4ab05..73d66d19 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -3536,6 +3536,15 @@ class RebuildServer(command.ShowOne):
'future release.'
)
+ status = getattr(server, 'status', '').lower()
+ if status == 'shutoff':
+ success_status = ['shutoff']
+ elif status in ('error', 'active'):
+ success_status = ['active']
+ else:
+ msg = _("The server status is not ACTIVE, SHUTOFF or ERROR.")
+ raise exceptions.CommandError(msg)
+
try:
server = server.rebuild(image, parsed_args.password, **kwargs)
finally:
@@ -3547,6 +3556,7 @@ class RebuildServer(command.ShowOne):
compute_client.servers.get,
server.id,
callback=_show_progress,
+ success_status=success_status,
):
self.app.stdout.write(_('Complete\n'))
else: