summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThrivikram Mudunuri <mthrivikram+opendev@gmail.com>2021-11-13 02:37:44 -0500
committerThrivikram Mudunuri <mthrivikram+opendev@gmail.com>2021-11-29 11:47:58 -0500
commitb515fe61b27408e78639da8abb3acaa485ebca4e (patch)
treecae2724e128aa18f3b18a3489914c91c91341d33
parentfae293dd5218cf4ea03d0a4c44d17b97987dea12 (diff)
downloadpython-openstackclient-b515fe61b27408e78639da8abb3acaa485ebca4e.tar.gz
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
-rw-r--r--openstackclient/compute/v2/server.py22
-rw-r--r--openstackclient/tests/unit/compute/v2/test_server.py24
-rw-r--r--releasenotes/notes/migrate-server-pause-unpause-to-sdk-d74ec8536b764af6.yaml5
3 files changed, 36 insertions, 15 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index 121a7b82..09954c49 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -3130,12 +3130,13 @@ class PauseServer(command.Command):
return parser
def take_action(self, parsed_args):
- compute_client = self.app.client_manager.compute
+ compute_client = self.app.client_manager.sdk_connection.compute
for server in parsed_args.server:
- utils.find_resource(
- compute_client.servers,
- server
- ).pause()
+ server_id = compute_client.find_server(
+ server,
+ ignore_missing=False,
+ ).id
+ compute_client.pause_server(server_id)
class RebootServer(command.Command):
@@ -4674,7 +4675,6 @@ class UnlockServer(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(
@@ -4697,13 +4697,13 @@ class UnpauseServer(command.Command):
return parser
def take_action(self, parsed_args):
-
- compute_client = self.app.client_manager.compute
+ compute_client = self.app.client_manager.sdk_connection.compute
for server in parsed_args.server:
- utils.find_resource(
- compute_client.servers,
+ server_id = compute_client.find_server(
server,
- ).unpause()
+ ignore_missing=False,
+ ).id
+ compute_client.unpause_server(server_id)
class UnrescueServer(command.Command):
diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py
index 10ea07ad..435ddb47 100644
--- a/openstackclient/tests/unit/compute/v2/test_server.py
+++ b/openstackclient/tests/unit/compute/v2/test_server.py
@@ -192,6 +192,22 @@ class TestServer(compute_fakes.TestComputev2):
method.assert_called_with()
self.assertIsNone(result)
+ def run_method_with_sdk_servers(self, method_name, server_count):
+ servers = self.setup_sdk_servers_mock(count=server_count)
+
+ arglist = [s.id for s in servers]
+ verifylist = [
+ ('server', arglist),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+
+ calls = [call(s.id) for s in servers]
+ method = getattr(self.sdk_client, method_name)
+ method.assert_has_calls(calls)
+ self.assertIsNone(result)
+
class TestServerAddFixedIP(TestServer):
@@ -6062,10 +6078,10 @@ class TestServerPause(TestServer):
}
def test_server_pause_one_server(self):
- self.run_method_with_servers('pause', 1)
+ self.run_method_with_sdk_servers('pause_server', 1)
def test_server_pause_multi_servers(self):
- self.run_method_with_servers('pause', 3)
+ self.run_method_with_sdk_servers('pause_server', 3)
class TestServerRebuild(TestServer):
@@ -8308,10 +8324,10 @@ class TestServerUnpause(TestServer):
}
def test_server_unpause_one_server(self):
- self.run_method_with_servers('unpause', 1)
+ self.run_method_with_sdk_servers('unpause_server', 1)
def test_server_unpause_multi_servers(self):
- self.run_method_with_servers('unpause', 3)
+ self.run_method_with_sdk_servers('unpause_server', 3)
class TestServerUnset(TestServer):
diff --git a/releasenotes/notes/migrate-server-pause-unpause-to-sdk-d74ec8536b764af6.yaml b/releasenotes/notes/migrate-server-pause-unpause-to-sdk-d74ec8536b764af6.yaml
new file mode 100644
index 00000000..e2d40034
--- /dev/null
+++ b/releasenotes/notes/migrate-server-pause-unpause-to-sdk-d74ec8536b764af6.yaml
@@ -0,0 +1,5 @@
+---
+features:
+ - |
+ Migrate ``server pause`` and ``server unpause`` commands from novaclient
+ to sdk.