From be4f03e9fe5378d076c4f4d5e4bff95275fe47ba Mon Sep 17 00:00:00 2001 From: Andriy Moroz Date: Tue, 26 Jun 2018 18:51:34 +0300 Subject: [PATCH] Optimize platform info fetch (#276) Signed-off-by: Andriy Moroz --- scripts/decode-syseeprom | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/scripts/decode-syseeprom b/scripts/decode-syseeprom index 6b70a4daabe6..8a54ea0493b0 100755 --- a/scripts/decode-syseeprom +++ b/scripts/decode-syseeprom @@ -17,40 +17,22 @@ try: import imp from sonic_eeprom import eeprom_dts import glob + from sonic_platform import get_machine_info + from sonic_platform import get_platform_info except ImportError, e: raise ImportError (str(e) + "- required module not found") - -SONIC_CFGGEN = '/usr/local/bin/sonic-cfggen' -PLATFORM_KEY = 'DEVICE_METADATA.localhost.platform' - PLATFORM_ROOT = '/usr/share/sonic/device' - CACHE_ROOT = '/var/cache/sonic/decode-syseeprom' CACHE_FILE = 'syseeprom_cache' -# Returns platform and HW SKU -def get_platform(): - try: - proc = subprocess.Popen([SONIC_CFGGEN, '-H', '-v', PLATFORM_KEY], - stdout=subprocess.PIPE, - shell=False, - stderr=subprocess.STDOUT) - stdout = proc.communicate()[0] - proc.wait() - platform = stdout.rstrip('\n') - except OSError, e: - raise OSError("Cannot detect platform") - - return platform - def main(): if not os.geteuid() == 0: raise RuntimeError("must be root to run") # Get platform name - platform = get_platform() + platform = get_platform_info(get_machine_info()) platform_path = '/'.join([PLATFORM_ROOT, platform])