diff options
author | Diwei Zhu <zhu.diw@northeastern.edu> | 2021-11-02 04:52:25 +0000 |
---|---|---|
committer | Stephen Finucane <sfinucan@redhat.com> | 2022-12-15 17:19:44 +0000 |
commit | c47998c59add9a0b9a2b8ab180104347653fbfcf (patch) | |
tree | 29a596431acec631743bfb80a6e0f268ff7812f6 | |
parent | b52ae93cd2f18e23185685b4984b466e92635531 (diff) | |
download | python-openstackclient-c47998c59add9a0b9a2b8ab180104347653fbfcf.tar.gz |
Switch server dump create to using sdk
Change-Id: I8e2a4651bff1f739fa98533cd47074b143b2e3d6
Co-authored-by: Stephen Finucane <stephenfin@redhat.com>
-rw-r--r-- | openstackclient/compute/v2/server.py | 10 | ||||
-rw-r--r-- | openstackclient/tests/unit/compute/v2/fakes.py | 9 | ||||
-rw-r--r-- | openstackclient/tests/unit/compute/v2/test_server.py | 29 | ||||
-rw-r--r-- | requirements.txt | 2 |
4 files changed, 34 insertions, 16 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index 3fb9bf09..f93031ec 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -1874,12 +1874,10 @@ class CreateServerDump(command.Command): return parser def take_action(self, parsed_args): - compute_client = self.app.client_manager.compute - for server in parsed_args.server: - utils.find_resource( - compute_client.servers, - server, - ).trigger_crash_dump() + compute_client = self.app.client_manager.sdk_connection.compute + for name_or_id in parsed_args.server: + server = compute_client.find_server(name_or_id) + server.trigger_crash_dump(compute_client) class DeleteServer(command.Command): diff --git a/openstackclient/tests/unit/compute/v2/fakes.py b/openstackclient/tests/unit/compute/v2/fakes.py index 7d8c29ad..4a27a941 100644 --- a/openstackclient/tests/unit/compute/v2/fakes.py +++ b/openstackclient/tests/unit/compute/v2/fakes.py @@ -21,7 +21,7 @@ import uuid from novaclient import api_versions from openstack.compute.v2 import flavor as _flavor from openstack.compute.v2 import hypervisor as _hypervisor -from openstack.compute.v2 import server +from openstack.compute.v2 import server as _server from openstack.compute.v2 import server_group as _server_group from openstack.compute.v2 import server_interface as _server_interface from openstack.compute.v2 import service @@ -605,7 +605,12 @@ class FakeServer(object): # Overwrite default attributes. server_info.update(attrs) - return server.Server(**server_info) + server = _server.Server(**server_info) + + # Override methods + server.trigger_crash_dump = mock.MagicMock() + + return server @staticmethod def create_sdk_servers(attrs=None, methods=None, count=2): diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py index d7e84ba3..ea8ded5c 100644 --- a/openstackclient/tests/unit/compute/v2/test_server.py +++ b/openstackclient/tests/unit/compute/v2/test_server.py @@ -4464,21 +4464,36 @@ class TestServerDelete(TestServer): class TestServerDumpCreate(TestServer): def setUp(self): - super(TestServerDumpCreate, self).setUp() + super().setUp() # Get the command object to test self.cmd = server.CreateServerDump(self.app, None) - # Set methods to be tested. - self.methods = { - 'trigger_crash_dump': None, - } + def run_test_server_dump(self, server_count): + servers = self.setup_sdk_servers_mock(server_count) + + arglist = [] + verifylist = [] + + for s in servers: + arglist.append(s.id) + + verifylist = [ + ('server', arglist), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.take_action(parsed_args) + + self.assertIsNone(result) + for s in servers: + s.trigger_crash_dump.assert_called_once_with(self.sdk_client) def test_server_dump_one_server(self): - self.run_method_with_servers('trigger_crash_dump', 1) + self.run_test_server_dump(1) def test_server_dump_multi_servers(self): - self.run_method_with_servers('trigger_crash_dump', 3) + self.run_test_server_dump(3) class _TestServerList(TestServer): diff --git a/requirements.txt b/requirements.txt index c787ef76..1ae8cec4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0 cliff>=3.5.0 # Apache-2.0 iso8601>=0.1.11 # MIT -openstacksdk>=0.102.0 # Apache-2.0 +openstacksdk>=0.103.0 # Apache-2.0 osc-lib>=2.3.0 # Apache-2.0 oslo.i18n>=3.15.3 # Apache-2.0 oslo.utils>=3.33.0 # Apache-2.0 |