summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2023-05-17 23:20:17 +0000
committerGerrit Code Review <review@openstack.org>2023-05-17 23:20:17 +0000
commitd0a17d48a9972a572f22cc6f73525ec8a87c44ef (patch)
treee6e5ef24c2bc19a3999ec76fa29956feb039470a
parenta2728356af2537871f9da1d721b27abaec2e709d (diff)
parent0a63f8603e37542a9758db4ed2db73c781b48e4f (diff)
downloadpython-openstackclient-d0a17d48a9972a572f22cc6f73525ec8a87c44ef.tar.gz
Merge "compute: Fix bug with start/stop server"
-rw-r--r--openstackclient/compute/v2/server.py8
-rw-r--r--openstackclient/tests/functional/compute/v2/test_server.py44
-rw-r--r--openstackclient/tests/unit/compute/v2/test_server.py8
3 files changed, 50 insertions, 10 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index 73d66d19..844ac737 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -4731,10 +4731,10 @@ class StartServer(command.Command):
for server in parsed_args.server:
try:
server_id = compute_client.find_server(
- name=server,
+ server,
+ ignore_missing=False,
details=False,
all_projects=parsed_args.all_projects,
- ignore_missing=False,
).id
except sdk_exceptions.HttpException as exc:
if exc.status_code == 403:
@@ -4771,10 +4771,10 @@ class StopServer(command.Command):
for server in parsed_args.server:
try:
server_id = compute_client.find_server(
- name=server,
+ server,
+ ignore_missing=False,
details=False,
all_projects=parsed_args.all_projects,
- ignore_missing=False,
).id
except sdk_exceptions.HttpException as exc:
if exc.status_code == 403:
diff --git a/openstackclient/tests/functional/compute/v2/test_server.py b/openstackclient/tests/functional/compute/v2/test_server.py
index 7ce1ddcb..d04fe31d 100644
--- a/openstackclient/tests/functional/compute/v2/test_server.py
+++ b/openstackclient/tests/functional/compute/v2/test_server.py
@@ -27,11 +27,11 @@ class ServerTests(common.ComputeTestCase):
@classmethod
def setUpClass(cls):
- super(ServerTests, cls).setUpClass()
+ super().setUpClass()
cls.haz_network = cls.is_service_enabled('network')
def test_server_list(self):
- """Test server list, set"""
+ """Test server list"""
cmd_output = self.server_create()
name1 = cmd_output['name']
cmd_output = self.server_create()
@@ -1447,6 +1447,46 @@ class ServerTests(common.ComputeTestCase):
raw_output = self.openstack('server volume list ' + server_name)
self.assertEqual('\n', raw_output)
+ def test_server_stop_start(self):
+ """Test server stop, start"""
+ server_name = uuid.uuid4().hex
+ cmd_output = self.openstack(
+ 'server create '
+ + '--network private '
+ + '--flavor '
+ + self.flavor_name
+ + ' '
+ + '--image '
+ + self.image_name
+ + ' '
+ + '--wait '
+ + server_name,
+ parse_output=True,
+ )
+
+ self.assertIsNotNone(cmd_output['id'])
+ self.assertEqual(server_name, cmd_output['name'])
+ self.addCleanup(self.openstack, 'server delete --wait ' + server_name)
+ server_id = cmd_output['id']
+
+ cmd_output = self.openstack(
+ 'server stop ' + server_name,
+ )
+ self.assertEqual("", cmd_output)
+
+ # This is our test that the request succeeded. If it doesn't transition
+ # to SHUTOFF then it didn't work.
+ self.wait_for_status(server_id, "SHUTOFF")
+
+ cmd_output = self.openstack(
+ 'server start ' + server_name,
+ )
+ self.assertEqual("", cmd_output)
+
+ # As above, this is our test that the request succeeded. If it doesn't
+ # transition to ACTIVE then it didn't work.
+ self.wait_for_status(server_id, "ACTIVE")
+
def test_server_migration_list(self):
# Verify that the command does not raise an exception when we list
# migrations, including when we specify a query.
diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py
index aee34ae9..6abe7759 100644
--- a/openstackclient/tests/unit/compute/v2/test_server.py
+++ b/openstackclient/tests/unit/compute/v2/test_server.py
@@ -8634,10 +8634,10 @@ class TestServerStart(TestServer):
self.cmd.take_action(parsed_args)
self.sdk_client.find_server.assert_called_once_with(
- name=servers[0].id,
+ servers[0].id,
+ ignore_missing=False,
details=False,
all_projects=True,
- ignore_missing=False,
)
@@ -8669,10 +8669,10 @@ class TestServerStop(TestServer):
self.cmd.take_action(parsed_args)
self.sdk_client.find_server.assert_called_once_with(
- name=servers[0].id,
+ servers[0].id,
+ ignore_missing=False,
details=False,
all_projects=True,
- ignore_missing=False,
)