Merge "evacuate: respect original SHUTOFF state in --wait completion"
This commit is contained in:
commit
88b59d8975
openstackclient
@ -3882,9 +3882,15 @@ host."""
|
||||
compute_client.evacuate_server(server, **kwargs)
|
||||
|
||||
if parsed_args.wait:
|
||||
orig_status = server.status
|
||||
success = ['ACTIVE']
|
||||
if orig_status == 'SHUTOFF':
|
||||
success.append('SHUTOFF')
|
||||
|
||||
if utils.wait_for_status(
|
||||
compute_client.get_server,
|
||||
server.id,
|
||||
success_status=success,
|
||||
callback=_show_progress,
|
||||
):
|
||||
self.app.stdout.write(_('Complete\n'))
|
||||
|
@ -7039,6 +7039,7 @@ class TestServerEvacuate(TestServer):
|
||||
'image': self.image,
|
||||
'networks': {},
|
||||
'adminPass': 'passw0rd',
|
||||
'status': 'ACTIVE',
|
||||
}
|
||||
self.server = compute_fakes.create_one_server(attrs=attrs)
|
||||
attrs['id'] = self.server.id
|
||||
@ -7176,6 +7177,33 @@ class TestServerEvacuate(TestServer):
|
||||
mock_wait_for_status.assert_called_once_with(
|
||||
self.compute_client.get_server,
|
||||
self.server.id,
|
||||
success_status=['ACTIVE'],
|
||||
callback=mock.ANY,
|
||||
)
|
||||
|
||||
@mock.patch.object(common_utils, 'wait_for_status', return_value=True)
|
||||
def test_evacuate_with_wait_ok_shutoff(self, mock_wait_for_status):
|
||||
self.server.status = 'SHUTOFF'
|
||||
self.compute_client.get_server.return_value = self.server
|
||||
|
||||
args = [
|
||||
self.server.id,
|
||||
'--wait',
|
||||
]
|
||||
verify_args = [
|
||||
('server', self.server.id),
|
||||
('wait', True),
|
||||
]
|
||||
evac_args = {
|
||||
'host': None,
|
||||
'on_shared_storage': False,
|
||||
'admin_pass': None,
|
||||
}
|
||||
self._test_evacuate(args, verify_args, evac_args)
|
||||
mock_wait_for_status.assert_called_once_with(
|
||||
self.compute_client.get_server,
|
||||
self.server.id,
|
||||
success_status=['ACTIVE', 'SHUTOFF'],
|
||||
callback=mock.ANY,
|
||||
)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user