audit: Add new verifier to check if DUT has correct RPM info

BUG=b:159957113
TEST=run local deployment action

./site_utils/admin_audit/main.py --hostname chromeos1-row4-rack8-host3   --results-dir /tr --host-info-file /tr/host_info_store/chromeos1-row4-rack8-host3.store  verify-rpm-config

Change-Id: Ief4bce2c0684558ba00049d74a5b0adf7d5602c7
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/2598470
Tested-by: Otabek Kasimov <otabek@google.com>
Commit-Queue: Otabek Kasimov <otabek@google.com>
Reviewed-by: Garry Wang <xianuowang@chromium.org>
diff --git a/site_utils/admin_audit/main.py b/site_utils/admin_audit/main.py
index 576f751..fcb7cac 100755
--- a/site_utils/admin_audit/main.py
+++ b/site_utils/admin_audit/main.py
@@ -38,16 +38,19 @@
 ACTION_VERIFY_SERVO_FW = 'verify-servo-fw'
 ACTION_FLASH_SERVO_KEYBOARD_MAP = 'flash-servo-keyboard-map'
 ACTION_VERIFY_DUT_MACADDR = 'verify-dut-macaddr'
+ACTION_VERIFY_RPM_CONFIG = 'verify-rpm-config'
 
 _LOG_FILE = 'audit.log'
 _SERVO_UART_LOGS = 'servo_uart'
 
 VERIFIER_MAP = {
-    ACTION_VERIFY_DUT_STORAGE: verifiers.VerifyDutStorage,
-    ACTION_VERIFY_SERVO_USB: verifiers.VerifyServoUsb,
-    ACTION_VERIFY_SERVO_FW: verifiers.VerifyServoFw,
-    ACTION_FLASH_SERVO_KEYBOARD_MAP: verifiers.FlashServoKeyboardMapVerifier,
-    ACTION_VERIFY_DUT_MACADDR: verifiers.VerifyDUTMacAddress,
+        ACTION_VERIFY_DUT_STORAGE: verifiers.VerifyDutStorage,
+        ACTION_VERIFY_SERVO_USB: verifiers.VerifyServoUsb,
+        ACTION_VERIFY_SERVO_FW: verifiers.VerifyServoFw,
+        ACTION_FLASH_SERVO_KEYBOARD_MAP:
+        verifiers.FlashServoKeyboardMapVerifier,
+        ACTION_VERIFY_DUT_MACADDR: verifiers.VerifyDUTMacAddress,
+        ACTION_VERIFY_RPM_CONFIG: verifiers.VerifyRPMConfig,
 }
 
 # Actions required Servod service
diff --git a/site_utils/admin_audit/verifiers.py b/site_utils/admin_audit/verifiers.py
index eed5876..b055ff2 100644
--- a/site_utils/admin_audit/verifiers.py
+++ b/site_utils/admin_audit/verifiers.py
@@ -17,6 +17,7 @@
 from autotest_lib.client.common_lib import utils as client_utils
 from autotest_lib.server.cros.storage import storage_validate as storage
 from autotest_lib.server.cros import servo_keyboard_utils
+from autotest_lib.site_utils.admin_audit import rpm_validator
 
 try:
     from chromite.lib import metrics
@@ -239,6 +240,19 @@
             force_update=True)
 
 
+class VerifyRPMConfig(base._BaseDUTVerifier):
+    """Check RPM config of the setup.
+
+    This check run against RPM configs settings.
+    """
+
+    def _verify(self):
+        if not self.host_is_up():
+            logging.info('Host is down; Skipping the verification')
+            return
+        rpm_validator.verify_unsafe(self.get_host())
+
+
 class FlashServoKeyboardMapVerifier(base._BaseDUTVerifier):
     """Flash the keyboard map on servo."""