autotest: Re-image DUT if fail to read serial_number

New version can have bad flashrom which will block us to read vpd info.

BUG=b:176242173, b:169286392
TEST=run local repair

Change-Id: Idc37c31335e6860599e574e5cbf43cd2d59db5c2
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/2606844
Tested-by: Otabek Kasimov <otabek@google.com>
Reviewed-by: Garry Wang <xianuowang@chromium.org>
Reviewed-by: Gregory Nisbet <gregorynisbet@google.com>
Commit-Queue: Otabek Kasimov <otabek@google.com>
diff --git a/server/hosts/cros_repair.py b/server/hosts/cros_repair.py
index 671ff72..dec36c9 100644
--- a/server/hosts/cros_repair.py
+++ b/server/hosts/cros_repair.py
@@ -96,6 +96,7 @@
         'rwfw',
         'fwstatus',
         'python',
+        'hwid',
         'cros',
         'dev_default_boot',
 )
diff --git a/server/hosts/cros_repair_unittest.py b/server/hosts/cros_repair_unittest.py
index e4115c5..2b94ad9 100755
--- a/server/hosts/cros_repair_unittest.py
+++ b/server/hosts/cros_repair_unittest.py
@@ -75,15 +75,15 @@
          ('enrollment_state', )),
         (cros_repair.ProvisionRepair, 'provision',
          ('ping', 'ssh', 'writable', 'stop_start_ui', 'tpm', 'good_provision',
-          'ext4'), ('power', 'rwfw', 'fwstatus', 'python', 'cros',
+          'ext4'), ('power', 'rwfw', 'fwstatus', 'python', 'hwid', 'cros',
                     'dev_default_boot')),
         (cros_repair.PowerWashRepair, 'powerwash', ('ping', 'ssh', 'writable',
                                                     'stop_start_ui'),
          ('tpm', 'good_provision', 'ext4', 'power', 'rwfw', 'fwstatus',
-          'python', 'cros', 'dev_default_boot')),
+          'python', 'hwid', 'cros', 'dev_default_boot')),
         (cros_repair.ServoInstallRepair, 'usb', ('usb_drive', ),
          ('ping', 'ssh', 'writable', 'stop_start_ui', 'tpm', 'good_provision',
-          'ext4', 'power', 'rwfw', 'fwstatus', 'python', 'cros',
+          'ext4', 'power', 'rwfw', 'fwstatus', 'python', 'hwid', 'cros',
           'dev_default_boot', 'faft_tpm')),
         (cros_firmware.GeneralFirmwareRepair, 'general_firmware',
          ('usb_drive', ), (
@@ -163,20 +163,22 @@
          ('enrollment_state', )),
         (cros_repair.JetstreamTpmRepair, 'jetstream_tpm_repair',
          ('ping', 'ssh', 'writable', 'tpm', 'good_provision', 'ext4'),
-         ('power', 'rwfw', 'fwstatus', 'python', 'cros', 'dev_default_boot',
-          'jetstream_tpm', 'jetstream_attestation')),
+         ('power', 'rwfw', 'fwstatus', 'python', 'hwid', 'cros',
+          'dev_default_boot', 'jetstream_tpm', 'jetstream_attestation')),
         (cros_repair.JetstreamServiceRepair, 'jetstream_service_repair',
          ('ping', 'ssh', 'writable', 'tpm', 'good_provision', 'ext4',
           'jetstream_tpm', 'jetstream_attestation'),
-         ('power', 'rwfw', 'fwstatus', 'python', 'cros', 'dev_default_boot',
-          'jetstream_tpm', 'jetstream_attestation', 'jetstream_services')),
+         ('power', 'rwfw', 'fwstatus', 'python', 'hwid', 'cros',
+          'dev_default_boot', 'jetstream_tpm', 'jetstream_attestation',
+          'jetstream_services')),
         (cros_repair.ProvisionRepair, 'provision',
-         ('ping', 'ssh', 'writable', 'tpm', 'good_provision', 'ext4'),
-         ('power', 'rwfw', 'fwstatus', 'python', 'cros', 'dev_default_boot',
-          'jetstream_tpm', 'jetstream_attestation', 'jetstream_services')),
+         ('ping', 'ssh', 'writable', 'tpm', 'good_provision',
+          'ext4'), ('power', 'rwfw', 'fwstatus', 'python', 'hwid', 'cros',
+                    'dev_default_boot', 'jetstream_tpm',
+                    'jetstream_attestation', 'jetstream_services')),
         (cros_repair.PowerWashRepair, 'powerwash', ('ping', 'ssh', 'writable'),
          ('tpm', 'good_provision', 'ext4', 'power', 'rwfw', 'fwstatus',
-          'python', 'cros', 'dev_default_boot', 'jetstream_tpm',
+          'python', 'hwid', 'cros', 'dev_default_boot', 'jetstream_tpm',
           'jetstream_attestation', 'jetstream_services')),
         (cros_repair.ServoInstallRepair, 'usb', ('usb_drive', ), (
                 'ping',
@@ -189,6 +191,7 @@
                 'rwfw',
                 'fwstatus',
                 'python',
+                'hwid',
                 'cros',
                 'dev_default_boot',
                 'jetstream_tpm',