Added new host protection level (repair software only) that would allow any
type of repair except the hardware repairs. Updated users. Added
Host.request_hardware_repair() function to be called by repair_full when 
software repair fails. Added error.AutoservHardwareRepairRequestedError to be 
raised when hardware repair has been requested and updated server_job.repair()
to let it propagate through.

Signed-off-by: Mihai Rusu <dizzy@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2686 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/client/common_lib/error.py b/client/common_lib/error.py
index a3ed4be..852a689 100644
--- a/client/common_lib/error.py
+++ b/client/common_lib/error.py
@@ -217,6 +217,15 @@
                 (self.func, self.exit_code))
 
 
+class AutoservHardwareRepairRequestedError(AutoservError):
+    """
+    Exception class raised from Host.repair_full() (or overrides) when software
+    repair fails but it successfully managed to request a hardware repair (by
+    notifying the staff, sending mail, etc)
+    """
+    pass
+
+
 # This MUST remain at the end of the file.
 # Limit 'from error import *' to only import the exception instances.
 for _name, _thing in locals().items():