diff options
| author | hackertron <jayadityagupta11@gmail.com> | 2020-04-02 13:47:02 +0200 |
|---|---|---|
| committer | Stephen Finucane <sfinucan@redhat.com> | 2020-10-13 14:17:25 +0100 |
| commit | 1c3cf11331a5734700e1c333c98928ab933c0e92 (patch) | |
| tree | 0f88dbb281dcb84a49324106d15f0ec7d6d1df92 /openstackclient/compute | |
| parent | 375fe315255535ad0a6451aa0d9270ca5c3ba3b9 (diff) | |
| download | python-openstackclient-1c3cf11331a5734700e1c333c98928ab933c0e92.tar.gz | |
Add 'server migration abort' command
This is equivalent to nova client's 'live-migration-abort' command.
Change-Id: I0ff520ccfdf2de52c427affad7bef4554c86a06f
Story: 2007489
Task: 39210
Diffstat (limited to 'openstackclient/compute')
| -rw-r--r-- | openstackclient/compute/v2/server.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index f8d6aad0..0a96eb86 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -2026,6 +2026,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)") |
