summaryrefslogtreecommitdiff
path: root/openstackclient/compute
diff options
context:
space:
mode:
authorStephen Finucane <sfinucan@redhat.com>2022-12-19 16:50:16 +0000
committerStephen Finucane <sfinucan@redhat.com>2023-04-04 13:40:38 +0100
commit864f51f427c01d13c8408782dd03be4b473f7b2e (patch)
treeed04d48421ac8cb0ae6a0040f8263d15ce725449 /openstackclient/compute
parent5282bd26221892e0aa80a556d1bcd2d96d83cdbc (diff)
downloadpython-openstackclient-864f51f427c01d13c8408782dd03be4b473f7b2e.tar.gz
compute: Migrate 'reboot server' to SDK
Change-Id: Ibad4078f680d3b2615b9ca6f6c72c4fd28030b55 Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Diffstat (limited to 'openstackclient/compute')
-rw-r--r--openstackclient/compute/v2/server.py29
1 files changed, 15 insertions, 14 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index 0c062a9e..b3da7321 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -25,7 +25,6 @@ import os
from cliff import columns as cliff_columns
import iso8601
from novaclient import api_versions
-from novaclient.v2 import servers
from openstack import exceptions as sdk_exceptions
from openstack import utils as sdk_utils
from osc_lib.cli import format_columns
@@ -3064,7 +3063,7 @@ class RebootServer(command.Command):
_description = _("Perform a hard or soft server reboot")
def get_parser(self, prog_name):
- parser = super(RebootServer, self).get_parser(prog_name)
+ parser = super().get_parser(prog_name)
parser.add_argument(
'server',
metavar='<server>',
@@ -3075,16 +3074,16 @@ class RebootServer(command.Command):
'--hard',
dest='reboot_type',
action='store_const',
- const=servers.REBOOT_HARD,
- default=servers.REBOOT_SOFT,
+ const='HARD',
+ default='SOFT',
help=_('Perform a hard reboot'),
)
group.add_argument(
'--soft',
dest='reboot_type',
action='store_const',
- const=servers.REBOOT_SOFT,
- default=servers.REBOOT_SOFT,
+ const='SOFT',
+ default='SOFT',
help=_('Perform a soft reboot'),
)
parser.add_argument(
@@ -3101,21 +3100,23 @@ class RebootServer(command.Command):
self.app.stdout.write('\rProgress: %s' % progress)
self.app.stdout.flush()
- compute_client = self.app.client_manager.compute
- server = utils.find_resource(
- compute_client.servers, parsed_args.server)
- server.reboot(parsed_args.reboot_type)
+ compute_client = self.app.client_manager.sdk_connection.compute
+ server_id = compute_client.find_server(
+ parsed_args.server,
+ ignore_missing=False,
+ ).id
+ compute_client.reboot_server(server_id, parsed_args.reboot_type)
if parsed_args.wait:
+ # We use osc-lib's wait_for_status since that allows for a callback
if utils.wait_for_status(
- compute_client.servers.get,
- server.id,
+ compute_client.get_server,
+ server_id,
callback=_show_progress,
):
self.app.stdout.write(_('Complete\n'))
else:
- LOG.error(_('Error rebooting server: %s'),
- server.id)
+ LOG.error(_('Error rebooting server: %s'), server_id)
self.app.stdout.write(_('Error rebooting server\n'))
raise SystemExit