[autotest] Make DUT repair flow not blocked by servo repair failure

TEST=manually make create_healthy_servo raise an exception and confirm
the dut repair flow continues.
BUG=chromium:305022

Change-Id: I40e532dec1a513576a2f7cbcd44902fbcd976215
Reviewed-on: https://chromium-review.googlesource.com/172192
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Commit-Queue: Fang Deng <fdeng@chromium.org>
Tested-by: Fang Deng <fdeng@chromium.org>
diff --git a/server/hosts/cros_host.py b/server/hosts/cros_host.py
index 70c5412..a9e12d0 100644
--- a/server/hosts/cros_host.py
+++ b/server/hosts/cros_host.py
@@ -906,8 +906,7 @@
         Chrome OS test lab.
 
         It first verifies and repairs servo if it is a DUT in CrOS
-        lab and a servo is attached. On success, it proceeds to
-        the following steps to repair the DUT.
+        lab and a servo is attached.
 
         If `self.verify()` fails, the following procedures are
         attempted:
@@ -933,7 +932,11 @@
 
         """
         if self._servo_host:
-            self.servo = self._servo_host.create_healthy_servo_object()
+            try:
+                self.servo = self._servo_host.create_healthy_servo_object()
+            except Exception as e:
+                self.servo = None
+                logging.error('Could not create a healthy servo: %s', e)
 
         # TODO(scottz): This should use something similar to label_decorator,
         # but needs to be populated in order so DUTs are repaired with the