Skip to content

Commit 432698f

Browse files
committed
Use CommandError, not SystemExit, to exit
Change-Id: Id2bcc18420b17cf3afed5584ef5104c3ef413830 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
1 parent 885f591 commit 432698f

2 files changed

Lines changed: 40 additions & 47 deletions

File tree

openstackclient/compute/v2/server.py

Lines changed: 22 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1987,9 +1987,10 @@ def _match_image(image_api, wanted_properties):
19871987
):
19881988
self.app.stdout.write('\n')
19891989
else:
1990-
LOG.error('Error creating server: %s', parsed_args.server_name)
1991-
self.app.stdout.write(_('Error creating server\n'))
1992-
raise SystemExit
1990+
msg = (
1991+
_('Error unshelving server: %s') % parsed_args.server_name
1992+
)
1993+
raise exceptions.CommandError(msg)
19931994

19941995
details = _prep_server_detail(compute_client, image_client, server)
19951996
return zip(*sorted(details.items()))
@@ -2081,10 +2082,8 @@ def _show_progress(progress):
20812082
server_obj.id,
20822083
callback=_show_progress,
20832084
):
2084-
msg = _('Error deleting server: %s')
2085-
LOG.error(msg, server_obj.id)
2086-
self.app.stdout.write(_('Error deleting server\n'))
2087-
raise SystemExit
2085+
msg = _('Error deleting server: %s') % server_obj.id
2086+
raise exceptions.CommandError(msg)
20882087

20892088

20902089
def percent_type(x):
@@ -3110,9 +3109,8 @@ def _show_progress(progress):
31103109
):
31113110
self.app.stdout.write(_('Complete\n'))
31123111
else:
3113-
LOG.error(_('Error migrating server: %s'), server.id)
3114-
self.app.stdout.write(_('Error migrating server\n'))
3115-
raise SystemExit
3112+
msg = _('Error migrating server: %s') % server.id
3113+
raise exceptions.CommandError(msg)
31163114

31173115

31183116
class PauseServer(command.Command):
@@ -3194,9 +3192,8 @@ def _show_progress(progress):
31943192
):
31953193
self.app.stdout.write(_('Complete\n'))
31963194
else:
3197-
LOG.error(_('Error rebooting server: %s'), server_id)
3198-
self.app.stdout.write(_('Error rebooting server\n'))
3199-
raise SystemExit
3195+
msg = _('Error rebooting server: %s') % server_id
3196+
raise exceptions.CommandError(msg)
32003197

32013198

32023199
class RebuildServer(command.ShowOne):
@@ -3566,9 +3563,8 @@ def _show_progress(progress):
35663563
):
35673564
self.app.stdout.write(_('Complete\n'))
35683565
else:
3569-
LOG.error(_('Error rebuilding server: %s'), server.id)
3570-
self.app.stdout.write(_('Error rebuilding server\n'))
3571-
raise SystemExit
3566+
msg = _('Error rebuilding server: %s') % server.id
3567+
raise exceptions.CommandError(msg)
35723568

35733569
details = _prep_server_detail(
35743570
compute_client, image_client, server, refresh=False
@@ -3689,9 +3685,8 @@ def _show_progress(progress):
36893685
):
36903686
self.app.stdout.write(_('Complete\n'))
36913687
else:
3692-
LOG.error(_('Error evacuating server: %s'), server.id)
3693-
self.app.stdout.write(_('Error evacuating server\n'))
3694-
raise SystemExit
3688+
msg = _('Error evacuating server: %s') % server.id
3689+
raise exceptions.CommandError(msg)
36953690

36963691
details = _prep_server_detail(
36973692
compute_client, image_client, server, refresh=True
@@ -4042,9 +4037,8 @@ def _show_progress(progress):
40424037
):
40434038
self.app.stdout.write(_('Complete\n'))
40444039
else:
4045-
LOG.error(_('Error resizing server: %s'), server.id)
4046-
self.app.stdout.write(_('Error resizing server\n'))
4047-
raise SystemExit
4040+
msg = _('Error resizing server: %s') % server.id
4041+
raise exceptions.CommandError(msg)
40484042
elif parsed_args.confirm:
40494043
self.log.warning(
40504044
_(
@@ -4445,11 +4439,8 @@ def _show_progress(progress):
44454439
success_status=('shelved', 'shelved_offloaded'),
44464440
callback=_show_progress,
44474441
):
4448-
LOG.error(_('Error shelving server: %s'), server_id)
4449-
self.app.stdout.write(
4450-
_('Error shelving server: %s\n') % server_id
4451-
)
4452-
raise SystemExit
4442+
msg = _('Error shelving server: %s') % server_id
4443+
raise exceptions.CommandError(msg)
44534444

44544445
if not parsed_args.offload:
44554446
return
@@ -4474,14 +4465,8 @@ def _show_progress(progress):
44744465
success_status=('shelved_offloaded',),
44754466
callback=_show_progress,
44764467
):
4477-
LOG.error(
4478-
_('Error offloading shelved server %s'),
4479-
server_id,
4480-
)
4481-
self.app.stdout.write(
4482-
_('Error offloading shelved server: %s\n') % server_id
4483-
)
4484-
raise SystemExit
4468+
msg = _('Error offloading shelved server: %s') % server_id
4469+
raise exceptions.CommandError(msg)
44854470

44864471

44874472
class ShowServer(command.ShowOne):
@@ -5073,8 +5058,5 @@ def _show_progress(progress):
50735058
success_status=('active', 'shutoff'),
50745059
callback=_show_progress,
50755060
):
5076-
LOG.error(_('Error unshelving server %s'), server_obj.id)
5077-
self.app.stdout.write(
5078-
_('Error unshelving server: %s\n') % server_obj.id
5079-
)
5080-
raise SystemExit
5061+
msg = _('Error unshelving server: %s') % server_obj.id
5062+
raise exceptions.CommandError(msg)

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

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2327,7 +2327,9 @@ def test_server_create_with_wait_fails(self, mock_wait_for_status):
23272327

23282328
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
23292329

2330-
self.assertRaises(SystemExit, self.cmd.take_action, parsed_args)
2330+
self.assertRaises(
2331+
exceptions.CommandError, self.cmd.take_action, parsed_args
2332+
)
23312333

23322334
mock_wait_for_status.assert_called_once_with(
23332335
self.servers_mock.get,
@@ -4569,7 +4571,9 @@ def test_server_delete_wait_fails(self, mock_wait_for_delete):
45694571
]
45704572
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
45714573

4572-
self.assertRaises(SystemExit, self.cmd.take_action, parsed_args)
4574+
self.assertRaises(
4575+
exceptions.CommandError, self.cmd.take_action, parsed_args
4576+
)
45734577

45744578
self.servers_mock.delete.assert_called_with(servers[0].id)
45754579
mock_wait_for_delete.assert_called_once_with(
@@ -5984,7 +5988,9 @@ def test_server_migrate_with_wait_fails(self, mock_wait_for_status):
59845988
]
59855989
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
59865990

5987-
self.assertRaises(SystemExit, self.cmd.take_action, parsed_args)
5991+
self.assertRaises(
5992+
exceptions.CommandError, self.cmd.take_action, parsed_args
5993+
)
59885994

59895995
self.servers_mock.get.assert_called_with(self.server.id)
59905996
self.server.migrate.assert_called_with()
@@ -6090,9 +6096,10 @@ def test_server_reboot_with_wait_fails(
60906096
]
60916097
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
60926098

6093-
self.assertRaises(SystemExit, self.cmd.take_action, parsed_args)
6099+
self.assertRaises(
6100+
exceptions.CommandError, self.cmd.take_action, parsed_args
6101+
)
60946102

6095-
self.assertIn('Error rebooting server', mock_log.call_args[0][0])
60966103
self.compute_sdk_client.reboot_server.assert_called_once_with(
60976104
servers[0].id,
60986105
'SOFT',
@@ -6351,7 +6358,9 @@ def test_rebuild_with_wait_fails(self, mock_wait_for_status):
63516358
]
63526359
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
63536360

6354-
self.assertRaises(SystemExit, self.cmd.take_action, parsed_args)
6361+
self.assertRaises(
6362+
exceptions.CommandError, self.cmd.take_action, parsed_args
6363+
)
63556364

63566365
mock_wait_for_status.assert_called_once_with(
63576366
self.servers_mock.get,
@@ -7519,7 +7528,9 @@ def test_server_resize_with_wait_fails(self, mock_wait_for_status):
75197528
]
75207529
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
75217530

7522-
self.assertRaises(SystemExit, self.cmd.take_action, parsed_args)
7531+
self.assertRaises(
7532+
exceptions.CommandError, self.cmd.take_action, parsed_args
7533+
)
75237534

75247535
self.servers_mock.get.assert_called_with(
75257536
self.server.id,

0 commit comments

Comments
 (0)