[autotest] Do not log servo reboot during servo update

If servo reboot is logged, i.e., we wait for reboot to complete, a failed reboot
will leave a failure record in status.log, and that leads to test job failure
even if the test is already finished and does not require servo.

The fix is to reboot servo without waiting in self.reboot call, thus avoid
logging the reboot record.

BUG=chromium:367997
TEST=None
The local setup with test network makes it impossible to reboot a local servo
without hacking the code.

Change-Id: Iaab2b5c09a5793ba7c6a757cc16c1291cc433baa
Reviewed-on: https://chromium-review.googlesource.com/197526
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
Tested-by: Dan Shi <dshi@chromium.org>
diff --git a/server/hosts/servo_host.py b/server/hosts/servo_host.py
index 8caccde..3a5fc3f 100644
--- a/server/hosts/servo_host.py
+++ b/server/hosts/servo_host.py
@@ -390,12 +390,24 @@
                                '</dev/null >/dev/null 2>&1 &)'),
                 'fastsync': True,
                 'label': None,
-                'wait': True,
+                'wait': False,
             }
+            # Do not wait for reboot to complete. Otherwise, self.reboot call
+            # will log reboot failure if servo does not come back. The logged
+            # reboot failure will lead to test job failure. If the test does not
+            # require servo, we don't want servo failure to fail the test with
+            # error: `Host did not return from reboot` in status.log
+            # If servo does not come back after reboot, exception needs to be
+            # raised, so test requires servo should fail.
             self.reboot(**kwargs)
-            current_build_number = updater.get_build_id()
-            logging.info('servo host %s back from reboot, with build %s',
-                         self.hostname, current_build_number)
+            if self.wait_up(timeout=120):
+                current_build_number = updater.get_build_id()
+                logging.info('servo host %s back from reboot, with build %s',
+                             self.hostname, current_build_number)
+            else:
+                raise error.AutoservHostError(
+                            'servo host %s failed to come back from reboot.' %
+                             self.hostname)
 
         if status in autoupdater.UPDATER_PROCESSING_UPDATE:
             logging.info('servo host %s already processing an update, update '