diff options
| author | Stephen Finucane <sfinucan@redhat.com> | 2020-10-13 14:47:25 +0100 |
|---|---|---|
| committer | Stephen Finucane <sfinucan@redhat.com> | 2020-10-13 15:14:09 +0100 |
| commit | bf35f04682fa2bdd00a7cff7b9a963b4ffb80eff (patch) | |
| tree | be831e7089f46639fc9dc69b62f3b0d5d7a29ae2 | |
| parent | 5fd399eabaff7c7994d4ba79c7e9d77131436c5d (diff) | |
| download | python-openstackclient-bf35f04682fa2bdd00a7cff7b9a963b4ffb80eff.tar.gz | |
Add 'openstack server migration list --type' option
Another gap with novaclient closed.
Change-Id: Id3ca95ceda6f438fa72496ab9ab15ac09bb64fa5
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
| -rw-r--r-- | openstackclient/compute/v2/server.py | 19 | ||||
| -rw-r--r-- | openstackclient/tests/unit/compute/v2/test_server.py | 2 |
2 files changed, 17 insertions, 4 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index 2fa0c524..dec6eb62 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -1890,6 +1890,14 @@ class ListMigration(command.Command): help=_('Filter migrations by status') ) parser.add_argument( + '--type', + metavar='<type>', + choices=[ + 'evacuation', 'live-migration', 'cold-migration', 'resize', + ], + help=_('Filter migrations by type'), + ) + parser.add_argument( '--marker', metavar='<marker>', help=_( @@ -1964,10 +1972,6 @@ class ListMigration(command.Command): if compute_client.api_version >= api_versions.APIVersion("2.59"): columns.insert(0, "UUID") - # TODO(brinzhang): It also suppports filter migrations by type - # since 2.1. https://review.opendev.org/#/c/675117 supported - # filtering the migrations by 'migration_type' and 'source_compute' - # in novaclient, that will be added in OSC by follow-up. if compute_client.api_version >= api_versions.APIVersion("2.23"): columns.insert(0, "Id") columns.insert(len(columns) - 2, "Type") @@ -1992,6 +1996,13 @@ class ListMigration(command.Command): 'status': parsed_args.status, } + if parsed_args.type: + migration_type = parsed_args.type + # we're using an alias because the default value is confusing + if migration_type == 'cold-migration': + migration_type = 'migration' + search_opts['type'] = migration_type + if parsed_args.marker: if compute_client.api_version < api_versions.APIVersion('2.59'): msg = _( diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py index 4b000180..51a3beb5 100644 --- a/openstackclient/tests/unit/compute/v2/test_server.py +++ b/openstackclient/tests/unit/compute/v2/test_server.py @@ -3781,6 +3781,7 @@ class TestListMigration(TestServer): '--server', 'server1', '--host', 'host1', '--status', 'migrating', + '--type', 'cold-migration', ] verifylist = [ ('server', 'server1'), @@ -3795,6 +3796,7 @@ class TestListMigration(TestServer): 'status': 'migrating', 'host': 'host1', 'server': 'server1', + 'type': 'migration', } self.migrations_mock.list.assert_called_with(**kwargs) |
