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."""