Skip to content

Commit c47998c

Browse files
diweizhustephenfin
andcommitted
Switch server dump create to using sdk
Change-Id: I8e2a4651bff1f739fa98533cd47074b143b2e3d6 Co-authored-by: Stephen Finucane <stephenfin@redhat.com>
1 parent b52ae93 commit c47998c

4 files changed

Lines changed: 34 additions & 16 deletions

File tree

openstackclient/compute/v2/server.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1874,12 +1874,10 @@ def get_parser(self, prog_name):
18741874
return parser
18751875

18761876
def take_action(self, parsed_args):
1877-
compute_client = self.app.client_manager.compute
1878-
for server in parsed_args.server:
1879-
utils.find_resource(
1880-
compute_client.servers,
1881-
server,
1882-
).trigger_crash_dump()
1877+
compute_client = self.app.client_manager.sdk_connection.compute
1878+
for name_or_id in parsed_args.server:
1879+
server = compute_client.find_server(name_or_id)
1880+
server.trigger_crash_dump(compute_client)
18831881

18841882

18851883
class DeleteServer(command.Command):

openstackclient/tests/unit/compute/v2/fakes.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
from novaclient import api_versions
2222
from openstack.compute.v2 import flavor as _flavor
2323
from openstack.compute.v2 import hypervisor as _hypervisor
24-
from openstack.compute.v2 import server
24+
from openstack.compute.v2 import server as _server
2525
from openstack.compute.v2 import server_group as _server_group
2626
from openstack.compute.v2 import server_interface as _server_interface
2727
from openstack.compute.v2 import service
@@ -605,7 +605,12 @@ def create_one_sdk_server(attrs=None, methods=None):
605605

606606
# Overwrite default attributes.
607607
server_info.update(attrs)
608-
return server.Server(**server_info)
608+
server = _server.Server(**server_info)
609+
610+
# Override methods
611+
server.trigger_crash_dump = mock.MagicMock()
612+
613+
return server
609614

610615
@staticmethod
611616
def create_sdk_servers(attrs=None, methods=None, count=2):

openstackclient/tests/unit/compute/v2/test_server.py

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4464,21 +4464,36 @@ def test_server_delete_wait_fails(self, mock_wait_for_delete):
44644464
class TestServerDumpCreate(TestServer):
44654465

44664466
def setUp(self):
4467-
super(TestServerDumpCreate, self).setUp()
4467+
super().setUp()
44684468

44694469
# Get the command object to test
44704470
self.cmd = server.CreateServerDump(self.app, None)
44714471

4472-
# Set methods to be tested.
4473-
self.methods = {
4474-
'trigger_crash_dump': None,
4475-
}
4472+
def run_test_server_dump(self, server_count):
4473+
servers = self.setup_sdk_servers_mock(server_count)
4474+
4475+
arglist = []
4476+
verifylist = []
4477+
4478+
for s in servers:
4479+
arglist.append(s.id)
4480+
4481+
verifylist = [
4482+
('server', arglist),
4483+
]
4484+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
4485+
4486+
result = self.cmd.take_action(parsed_args)
4487+
4488+
self.assertIsNone(result)
4489+
for s in servers:
4490+
s.trigger_crash_dump.assert_called_once_with(self.sdk_client)
44764491

44774492
def test_server_dump_one_server(self):
4478-
self.run_method_with_servers('trigger_crash_dump', 1)
4493+
self.run_test_server_dump(1)
44794494

44804495
def test_server_dump_multi_servers(self):
4481-
self.run_method_with_servers('trigger_crash_dump', 3)
4496+
self.run_test_server_dump(3)
44824497

44834498

44844499
class _TestServerList(TestServer):

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0
66

77
cliff>=3.5.0 # Apache-2.0
88
iso8601>=0.1.11 # MIT
9-
openstacksdk>=0.102.0 # Apache-2.0
9+
openstacksdk>=0.103.0 # Apache-2.0
1010
osc-lib>=2.3.0 # Apache-2.0
1111
oslo.i18n>=3.15.3 # Apache-2.0
1212
oslo.utils>=3.33.0 # Apache-2.0

0 commit comments

Comments
 (0)