summaryrefslogtreecommitdiff
path: root/openstackclient/compute/v2
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2020-10-14 03:45:54 +0000
committerGerrit Code Review <review@openstack.org>2020-10-14 03:45:54 +0000
commit91027a501f61e4e884b304544bbc2b729f8f8f20 (patch)
treec5ab332697de27a3ea44bcd1908a3cd3628435a7 /openstackclient/compute/v2
parent247ca75d2607ac09b0edbc3b10995e80526c66af (diff)
parent1c3cf11331a5734700e1c333c98928ab933c0e92 (diff)
downloadpython-openstackclient-91027a501f61e4e884b304544bbc2b729f8f8f20.tar.gz
Merge "Add 'server migration abort' command"
Diffstat (limited to 'openstackclient/compute/v2')
-rw-r--r--openstackclient/compute/v2/server.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index c4c1abb6..06f2a4c0 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -2032,6 +2032,44 @@ class ListMigration(command.Command):
return self.print_migrations(parsed_args, compute_client, migrations)
+class AbortMigration(command.Command):
+ """Cancel an ongoing live migration.
+
+ This command requires ``--os-compute-api-version`` 2.24 or greater.
+ """
+
+ def get_parser(self, prog_name):
+ parser = super(AbortMigration, self).get_parser(prog_name)
+ parser.add_argument(
+ 'server',
+ metavar='<server>',
+ help=_('Server (name or ID)'),
+ )
+ parser.add_argument(
+ 'migration',
+ metavar='<migration>',
+ help=_("Migration (ID)"),
+ )
+ return parser
+
+ def take_action(self, parsed_args):
+ compute_client = self.app.client_manager.compute
+
+ if compute_client.api_version < api_versions.APIVersion('2.24'):
+ msg = _(
+ '--os-compute-api-version 2.24 or greater is required to '
+ 'support the server migration abort command'
+ )
+ raise exceptions.CommandError(msg)
+
+ server = utils.find_resource(
+ compute_client.servers,
+ parsed_args.server,
+ )
+ compute_client.server_migrations.live_migration_abort(
+ server.id, parsed_args.migration)
+
+
class PauseServer(command.Command):
_description = _("Pause server(s)")