[FAFT]Mistral: Modify warm_reset call

power_state updated to include warm_reset definition. Update same in
autotest to call power_state:warm_reset. Add fallback method if
power_state:warm_reset is not present.

BUG=b:132730701
TEST=test_that --args='servo_board=mistral' --board=mistral
100.107.180.133 firmware_DevBootUSB

Change-Id: I65845d9b8a2eb490abd697213d1d5f7fe0e0183d
Reviewed-on: https://chromium-review.googlesource.com/1613439
Tested-by: Ravutappa Bhosagi <rbhosagi@google.com>
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Mary Ruthven <mruthven@chromium.org>
diff --git a/server/cros/servo/servo.py b/server/cros/servo/servo.py
index 92accc8..134e389 100644
--- a/server/cros/servo/servo.py
+++ b/server/cros/servo/servo.py
@@ -104,7 +104,13 @@
         Generally, this causes the board to restart.
 
         """
-        self._servo.set_get_all(['warm_reset:on',
+        # TODO: warm_reset support has added to power_state.py. Once it
+        # available to labstation remove fallback method.
+        try:
+            self._servo.set_nocheck('power_state', 'warm_reset')
+        except error.TestFail as err:
+            logging.info("Fallback to warm_reset control method")
+            self._servo.set_get_all(['warm_reset:on',
                                  'sleep:%.4f' % self._RESET_HOLD_TIME,
                                  'warm_reset:off'])