test_suites: adds labqual test suite

Adds labqual test suite. This suite will be limited to tests that are
critical to pass before entering the low-touch lab.

BUG=b:155173602
TEST=test_that $IP suite:labqual

Change-Id: I830c370b2587e4dbd9f122b889124aca3f365c16
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/2393115
Commit-Queue: Rob Barnes <robbarnes@google.com>
Tested-by: Rob Barnes <robbarnes@google.com>
Auto-Submit: Rob Barnes <robbarnes@google.com>
Reviewed-by: Greg Edelston <gredelston@google.com>
diff --git a/site_utils/attribute_whitelist.txt b/site_utils/attribute_whitelist.txt
index 64fb6cb..92f1a06 100644
--- a/site_utils/attribute_whitelist.txt
+++ b/site_utils/attribute_whitelist.txt
@@ -148,6 +148,7 @@
 suite:kernel_usb_set1
 suite:kernel_weekly_regression
 suite:kiosk_longevity
+suite:labqual
 suite:labstation_verification
 suite:link_perf
 suite:longevity
diff --git a/test_suites/control.labqual b/test_suites/control.labqual
new file mode 100644
index 0000000..f42a334
--- /dev/null
+++ b/test_suites/control.labqual
@@ -0,0 +1,36 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+AUTHOR = "Chrome OS Team"
+NAME = "labqual"
+PURPOSE = "Suite to qualify firmware for low-touch lab"
+
+TIME = "MEDIUM"
+TEST_CATEGORY = "General"
+TEST_CLASS = "suite"
+TEST_TYPE = "Server"
+
+DOC = """
+This is the labqual test suite.
+
+It is used to qualify DUTs for low-touch lab deployment.
+This suite focuses on updating and recovery since these are critical for the low-touch lab. DUTs must pass these tests 100% before entering the lab, so only tests that are critical should be included.
+
+@param build: The name of the image to test.
+              Ex: x86-mario-release/R17-1412.33.0-a1-b29
+@param board: The board to test on.  Ex: x86-mario
+@param pool: The pool of machines to utilize for scheduling. If pool=None
+             board is used.
+@param check_hosts: require appropriate live hosts to exist in the lab.
+@param SKIP_IMAGE: (optional) If present and True, don't re-image devices.
+"""
+
+import common
+from autotest_lib.server.cros.dynamic_suite import dynamic_suite
+
+args_dict['name'] = 'labqual'
+args_dict['add_experimental'] = True
+args_dict['job'] = job
+
+dynamic_suite.reimage_and_run(**args_dict)