autotest: Expect BadStatusLine from XMLRPC servers

It seems that something (perhaps the new Python version) is causing
partially online Python XMLRPC servers to return bad status lines, which
breaks how we start said servers.

TEST=Starting XMLRPC server in a test doesn't break with BadStatusLine.
BUG=None

Change-Id: I01caa848791e2223f4d9601b2b832f8d311a2b11
Reviewed-on: https://gerrit.chromium.org/gerrit/47694
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Alex Miller <milleral@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
diff --git a/server/hosts/site_host.py b/server/hosts/site_host.py
index c7c14da..baff51e 100644
--- a/server/hosts/site_host.py
+++ b/server/hosts/site_host.py
@@ -3,6 +3,7 @@
 # found in the LICENSE file.
 
 import functools
+import httplib
 import logging
 import os
 import re
@@ -881,7 +882,9 @@
         if ready_test_name is not None:
             # retry.retry logs each attempt; calculate delay_sec to
             # keep log spam to a dull roar.
-            @retry.retry((socket.error, xmlrpclib.ProtocolError),
+            @retry.retry((socket.error,
+                          xmlrpclib.ProtocolError,
+                          httplib.BadStatusLine),
                          timeout_min=timeout_seconds/60.0,
                          delay_sec=min(max(timeout_seconds/20.0, 0.1), 1))
             def ready_test():