Skip to content

Commit d0a17d4

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "compute: Fix bug with start/stop server"
2 parents a272835 + 0a63f86 commit d0a17d4

3 files changed

Lines changed: 50 additions & 10 deletions

File tree

openstackclient/compute/v2/server.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4731,10 +4731,10 @@ def take_action(self, parsed_args):
47314731
for server in parsed_args.server:
47324732
try:
47334733
server_id = compute_client.find_server(
4734-
name=server,
4734+
server,
4735+
ignore_missing=False,
47354736
details=False,
47364737
all_projects=parsed_args.all_projects,
4737-
ignore_missing=False,
47384738
).id
47394739
except sdk_exceptions.HttpException as exc:
47404740
if exc.status_code == 403:
@@ -4771,10 +4771,10 @@ def take_action(self, parsed_args):
47714771
for server in parsed_args.server:
47724772
try:
47734773
server_id = compute_client.find_server(
4774-
name=server,
4774+
server,
4775+
ignore_missing=False,
47754776
details=False,
47764777
all_projects=parsed_args.all_projects,
4777-
ignore_missing=False,
47784778
).id
47794779
except sdk_exceptions.HttpException as exc:
47804780
if exc.status_code == 403:

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

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ class ServerTests(common.ComputeTestCase):
2727

2828
@classmethod
2929
def setUpClass(cls):
30-
super(ServerTests, cls).setUpClass()
30+
super().setUpClass()
3131
cls.haz_network = cls.is_service_enabled('network')
3232

3333
def test_server_list(self):
34-
"""Test server list, set"""
34+
"""Test server list"""
3535
cmd_output = self.server_create()
3636
name1 = cmd_output['name']
3737
cmd_output = self.server_create()
@@ -1447,6 +1447,46 @@ def test_server_add_remove_volume(self):
14471447
raw_output = self.openstack('server volume list ' + server_name)
14481448
self.assertEqual('\n', raw_output)
14491449

1450+
def test_server_stop_start(self):
1451+
"""Test server stop, start"""
1452+
server_name = uuid.uuid4().hex
1453+
cmd_output = self.openstack(
1454+
'server create '
1455+
+ '--network private '
1456+
+ '--flavor '
1457+
+ self.flavor_name
1458+
+ ' '
1459+
+ '--image '
1460+
+ self.image_name
1461+
+ ' '
1462+
+ '--wait '
1463+
+ server_name,
1464+
parse_output=True,
1465+
)
1466+
1467+
self.assertIsNotNone(cmd_output['id'])
1468+
self.assertEqual(server_name, cmd_output['name'])
1469+
self.addCleanup(self.openstack, 'server delete --wait ' + server_name)
1470+
server_id = cmd_output['id']
1471+
1472+
cmd_output = self.openstack(
1473+
'server stop ' + server_name,
1474+
)
1475+
self.assertEqual("", cmd_output)
1476+
1477+
# This is our test that the request succeeded. If it doesn't transition
1478+
# to SHUTOFF then it didn't work.
1479+
self.wait_for_status(server_id, "SHUTOFF")
1480+
1481+
cmd_output = self.openstack(
1482+
'server start ' + server_name,
1483+
)
1484+
self.assertEqual("", cmd_output)
1485+
1486+
# As above, this is our test that the request succeeded. If it doesn't
1487+
# transition to ACTIVE then it didn't work.
1488+
self.wait_for_status(server_id, "ACTIVE")
1489+
14501490
def test_server_migration_list(self):
14511491
# Verify that the command does not raise an exception when we list
14521492
# migrations, including when we specify a query.

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8634,10 +8634,10 @@ def test_server_start_with_all_projects(self):
86348634
self.cmd.take_action(parsed_args)
86358635

86368636
self.sdk_client.find_server.assert_called_once_with(
8637-
name=servers[0].id,
8637+
servers[0].id,
8638+
ignore_missing=False,
86388639
details=False,
86398640
all_projects=True,
8640-
ignore_missing=False,
86418641
)
86428642

86438643

@@ -8669,10 +8669,10 @@ def test_server_start_with_all_projects(self):
86698669
self.cmd.take_action(parsed_args)
86708670

86718671
self.sdk_client.find_server.assert_called_once_with(
8672-
name=servers[0].id,
8672+
servers[0].id,
8673+
ignore_missing=False,
86738674
details=False,
86748675
all_projects=True,
8675-
ignore_missing=False,
86768676
)
86778677

86788678

0 commit comments

Comments
 (0)