Skip to content

Commit b216bf0

Browse files
dgsudharsandaall
authored andcommitted
Fixing serial number read to get from DB if it is populated (#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 fa7230c commit b216bf0

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
@@ -1097,8 +1097,15 @@ def version(verbose):
10971097
asic_type = version_info['asic_type']
10981098
asic_count = multi_asic.get_num_asics()
10991099

1100-
serial_number_cmd = "sudo decode-syseeprom -s"
1101-
serial_number = subprocess.Popen(serial_number_cmd, shell=True, text=True, stdout=subprocess.PIPE)
1100+
serial_number = None
1101+
db = SonicV2Connector()
1102+
db.connect(db.STATE_DB)
1103+
eeprom_table = db.get_all(db.STATE_DB, 'EEPROM_INFO|0x23')
1104+
if "Name" in eeprom_table and eeprom_table["Name"] == "Serial Number" and "Value" in eeprom_table:
1105+
serial_number = eeprom_table["Value"]
1106+
else:
1107+
serial_number_cmd = "sudo decode-syseeprom -s"
1108+
serial_number = subprocess.Popen(serial_number_cmd, shell=True, text=True, stdout=subprocess.PIPE).stdout.read()
11021109

11031110
sys_uptime_cmd = "uptime"
11041111
sys_uptime = subprocess.Popen(sys_uptime_cmd, shell=True, text=True, stdout=subprocess.PIPE)
@@ -1113,7 +1120,7 @@ def version(verbose):
11131120
click.echo("HwSKU: {}".format(hwsku))
11141121
click.echo("ASIC: {}".format(asic_type))
11151122
click.echo("ASIC Count: {}".format(asic_count))
1116-
click.echo("Serial Number: {}".format(serial_number.stdout.read().strip()))
1123+
click.echo("Serial Number: {}".format(serial_number.strip()))
11171124
click.echo("Uptime: {}".format(sys_uptime.stdout.read().strip()))
11181125
click.echo("\nDocker images:")
11191126
cmd = 'sudo docker images --format "table {{.Repository}}\\t{{.Tag}}\\t{{.ID}}\\t{{.Size}}"'

0 commit comments

Comments
 (0)