def test_reboot_server_wrong_status(self): """ Attempt to reboot a server while in a status that doesn't allow it """ server = StartedOpenStackServerFactory() with self.assertRaises(ServerNotReady): server.reboot()
def test_reboot_server_wrong_status(self): """ Attempt to reboot a server while in a status that doesn't allow it """ server = StartedOpenStackServerFactory() with self.assertRaises(WrongStateException): server.reboot()
def test_reboot_provisioned_server(self, mock_sleep): """ Reboot a provisioned server """ server = StartedOpenStackServerFactory(status=OpenStackServer.PROVISIONING) server.reboot() self.assertEqual(server.status, server.REBOOTING) server.os_server.reboot.assert_called_once_with(reboot_type='SOFT') mock_sleep.assert_called_once_with(30)
def test_reboot_provisioned_server(self, mock_sleep): """ Reboot a provisioned server """ server = StartedOpenStackServerFactory(_status=ServerStatus.Provisioning.state_id) server.reboot() self.assertEqual(server.status, ServerStatus.Rebooting) server.os_server.reboot.assert_called_once_with(reboot_type='SOFT') mock_sleep.assert_called_once_with(30)
def test_update_status_provisioned_to_rebooting(self, _mock_sleep, mock_is_port_open): """ Update status when the server is rebooted, after being provisioned """ server = StartedOpenStackServerFactory( os_server_fixture='openstack/api_server_2_active.json', _status=ServerStatus.Provisioning.state_id, _progress=ServerProgress.Success.state_id) # If server is in Status.Rebooting, update_status calls is_port_open # to determine if server should transition to Status.Ready. # When using a fixture for server.os_server, is_port_open will eventually return False, # but only after a delay of about two minutes. # So we mock out is_port_open here to speed up testing: mock_is_port_open.return_value = False self.assertIsInstance(server.update_status(), ServerStatus.Provisioning) self.assertEqual(server.progress, ServerProgress.Success) server.reboot() self.assertEqual(server.status, ServerStatus.Rebooting) self.assertIsInstance(server.update_status(), ServerStatus.Rebooting) self.assertEqual(server.status, ServerStatus.Rebooting) self.assertEqual(server.progress, ServerProgress.Running)