diff options
| author | Stephen Finucane <sfinucan@redhat.com> | 2022-12-19 16:50:16 +0000 |
|---|---|---|
| committer | Stephen Finucane <sfinucan@redhat.com> | 2023-04-04 13:40:38 +0100 |
| commit | 864f51f427c01d13c8408782dd03be4b473f7b2e (patch) | |
| tree | ed04d48421ac8cb0ae6a0040f8263d15ce725449 /openstackclient/compute | |
| parent | 5282bd26221892e0aa80a556d1bcd2d96d83cdbc (diff) | |
| download | python-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.py | 29 |
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 |
