Skip to content

Commit fff4051

Browse files
authored
Fixing serial number read to get from DB if it is populated (sonic-net#1580)
#### What I did Modified show version command to pick serial number from STATE_DB if it was populated instead of getting it from EEPROM. #### How I did it Check state_db to see if serial number EEPROM section is populated. If yes use the data from DB. If not, read it from the decode-syseeprom
1 parent be974bf commit fff4051

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

show/main.py

+10-3
Original file line numberDiff line numberDiff line change
@@ -960,8 +960,15 @@ def version(verbose):
960960
asic_type = version_info['asic_type']
961961
asic_count = multi_asic.get_num_asics()
962962

963-
serial_number_cmd = "sudo decode-syseeprom -s"
964-
serial_number = subprocess.Popen(serial_number_cmd, shell=True, text=True, stdout=subprocess.PIPE)
963+
serial_number = None
964+
db = SonicV2Connector()
965+
db.connect(db.STATE_DB)
966+
eeprom_table = db.get_all(db.STATE_DB, 'EEPROM_INFO|0x23')
967+
if "Name" in eeprom_table and eeprom_table["Name"] == "Serial Number" and "Value" in eeprom_table:
968+
serial_number = eeprom_table["Value"]
969+
else:
970+
serial_number_cmd = "sudo decode-syseeprom -s"
971+
serial_number = subprocess.Popen(serial_number_cmd, shell=True, text=True, stdout=subprocess.PIPE).stdout.read()
965972

966973
sys_uptime_cmd = "uptime"
967974
sys_uptime = subprocess.Popen(sys_uptime_cmd, shell=True, text=True, stdout=subprocess.PIPE)
@@ -976,7 +983,7 @@ def version(verbose):
976983
click.echo("HwSKU: {}".format(hwsku))
977984
click.echo("ASIC: {}".format(asic_type))
978985
click.echo("ASIC Count: {}".format(asic_count))
979-
click.echo("Serial Number: {}".format(serial_number.stdout.read().strip()))
986+
click.echo("Serial Number: {}".format(serial_number.strip()))
980987
click.echo("Uptime: {}".format(sys_uptime.stdout.read().strip()))
981988
click.echo("\nDocker images:")
982989
cmd = 'sudo docker images --format "table {{.Repository}}\\t{{.Tag}}\\t{{.ID}}\\t{{.Size}}"'

0 commit comments

Comments
 (0)