Skip to content

Commit b515fe6

Browse files
author
Thrivikram Mudunuri
committed
Switch server pause and server unpause to SDK
Switch the server pause and server unpause commands from novaclient to SDK. Use the SDK versions of test fakes to support fake Server resources. Change-Id: Id626f06f3d7edd44b306b7fc7b9b00d04af09621
1 parent fae293d commit b515fe6

3 files changed

Lines changed: 36 additions & 15 deletions

File tree

openstackclient/compute/v2/server.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3130,12 +3130,13 @@ def get_parser(self, prog_name):
31303130
return parser
31313131

31323132
def take_action(self, parsed_args):
3133-
compute_client = self.app.client_manager.compute
3133+
compute_client = self.app.client_manager.sdk_connection.compute
31343134
for server in parsed_args.server:
3135-
utils.find_resource(
3136-
compute_client.servers,
3137-
server
3138-
).pause()
3135+
server_id = compute_client.find_server(
3136+
server,
3137+
ignore_missing=False,
3138+
).id
3139+
compute_client.pause_server(server_id)
31393140

31403141

31413142
class RebootServer(command.Command):
@@ -4674,7 +4675,6 @@ def get_parser(self, prog_name):
46744675
return parser
46754676

46764677
def take_action(self, parsed_args):
4677-
46784678
compute_client = self.app.client_manager.compute
46794679
for server in parsed_args.server:
46804680
utils.find_resource(
@@ -4697,13 +4697,13 @@ def get_parser(self, prog_name):
46974697
return parser
46984698

46994699
def take_action(self, parsed_args):
4700-
4701-
compute_client = self.app.client_manager.compute
4700+
compute_client = self.app.client_manager.sdk_connection.compute
47024701
for server in parsed_args.server:
4703-
utils.find_resource(
4704-
compute_client.servers,
4702+
server_id = compute_client.find_server(
47054703
server,
4706-
).unpause()
4704+
ignore_missing=False,
4705+
).id
4706+
compute_client.unpause_server(server_id)
47074707

47084708

47094709
class UnrescueServer(command.Command):

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

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,22 @@ def run_method_with_servers(self, method_name, server_count):
192192
method.assert_called_with()
193193
self.assertIsNone(result)
194194

195+
def run_method_with_sdk_servers(self, method_name, server_count):
196+
servers = self.setup_sdk_servers_mock(count=server_count)
197+
198+
arglist = [s.id for s in servers]
199+
verifylist = [
200+
('server', arglist),
201+
]
202+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
203+
204+
result = self.cmd.take_action(parsed_args)
205+
206+
calls = [call(s.id) for s in servers]
207+
method = getattr(self.sdk_client, method_name)
208+
method.assert_has_calls(calls)
209+
self.assertIsNone(result)
210+
195211

196212
class TestServerAddFixedIP(TestServer):
197213

@@ -6062,10 +6078,10 @@ def setUp(self):
60626078
}
60636079

60646080
def test_server_pause_one_server(self):
6065-
self.run_method_with_servers('pause', 1)
6081+
self.run_method_with_sdk_servers('pause_server', 1)
60666082

60676083
def test_server_pause_multi_servers(self):
6068-
self.run_method_with_servers('pause', 3)
6084+
self.run_method_with_sdk_servers('pause_server', 3)
60696085

60706086

60716087
class TestServerRebuild(TestServer):
@@ -8308,10 +8324,10 @@ def setUp(self):
83088324
}
83098325

83108326
def test_server_unpause_one_server(self):
8311-
self.run_method_with_servers('unpause', 1)
8327+
self.run_method_with_sdk_servers('unpause_server', 1)
83128328

83138329
def test_server_unpause_multi_servers(self):
8314-
self.run_method_with_servers('unpause', 3)
8330+
self.run_method_with_sdk_servers('unpause_server', 3)
83158331

83168332

83178333
class TestServerUnset(TestServer):
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
features:
3+
- |
4+
Migrate ``server pause`` and ``server unpause`` commands from novaclient
5+
to sdk.

0 commit comments

Comments
 (0)