Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Mellanox] Changed platform summary to reflect HW revision from vpd_data #2

Closed
wants to merge 2 commits into from

Conversation

skr31
Copy link
Owner

@skr31 skr31 commented May 19, 2024

Why I did it

The command 'show platform summary' reflected the wrong HW revision.
In order to have the correct HW revision, we need to read it from vpd_data file that HW management provide.

Work item tracking
  • Microsoft ADO (number only):

How I did it

Changed the source from which the HW revision is taken

How to verify it

Which release branch to backport (provide reason below if selected)

  • 201811
  • 201911
  • 202006
  • 202012
  • 202106
  • 202111
  • 202205
  • 202211
  • 202305

Tested branch (Please provide the tested image version)

Description for the changelog

Link to config_db schema for YANG module changes

A picture of a cute animal (not mandatory but encouraged)

@skr31 skr31 force-pushed the master_reflect_hw_rev branch 2 times, most recently from f6496fc to a5917ff Compare May 22, 2024 08:43
@dprital
Copy link

dprital commented May 26, 2024

Please elaborate about the description.

For example:

The command 'show platform summary' reflected the wrong HW revision. In order to have the correct HW revision, we need to read it from vpd_data file that .......

DMI_ASSET_TAG: 4,
DMI_LOC: 5
}
VPD_DATA_FILE = "/var/run/hw-management/eeprom/vpd_data"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to make sure that the file is available for the current version of HW MNG and above. Please check.


def _parse_dmi(self, filename):
def _parse_vpd_data(self, filename):
"""
Read DMI data chassis data and returns a dictionary of values
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please update comment. Read VPD.....

@@ -324,7 +324,7 @@ def test_module(self):
assert len(module_list) == 3
assert chassis.module_initialized_count == 3

def test_revision_permission(self):
"""def test_revision_permission(self):
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be removed ?

@skr31 skr31 force-pushed the master_reflect_hw_rev branch from a5917ff to 279093c Compare May 27, 2024 10:35

for k, v in DMI_TABLE_MAP.items():
result[k] = records[v].decode("utf-8")
with open(filename, "r") as vpd_file:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please use utils.read_key_value_file

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

@skr31 skr31 force-pushed the master_reflect_hw_rev branch from 84728cb to cc3e3b5 Compare May 27, 2024 12:58
@@ -933,14 +919,14 @@ def get_revision(self):
Returns:
string: Revision value of device
"""
if self.dmi_data is None:
self.dmi_data = self._parse_dmi(DMI_FILE)
if self.vpd_data is None:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if not self.vpd_data. This will check both None and empty dictionary.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

@skr31 skr31 force-pushed the master_reflect_hw_rev branch from cc3e3b5 to 4a3a169 Compare May 27, 2024 13:07
@skr31 skr31 force-pushed the master_reflect_hw_rev branch from 4a3a169 to fc025e3 Compare May 27, 2024 14:01
dprital added a commit to dprital/sonic-buildimage that referenced this pull request May 27, 2024
@skr31 skr31 closed this May 28, 2024
skr31 pushed a commit that referenced this pull request Jan 9, 2025
…et#21095)

Adding the below fix from FRR FRRouting/frr#17297

This is to fix the following crash which is a statistical issue

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/lib/frr/zebra -A 127.0.0.1 -s 90000000 -M dplane_fpm_nl -M snmp'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007fccd7351e2c in ?? () from /lib/x86_64-linux-gnu/libc.so.6
[Current thread is 1 (Thread 0x7fccd6faf7c0 (LWP 36))]
(gdb) bt
#0  0x00007fccd7351e2c in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fccd7302fb2 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007fccd72ed472 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007fccd75bb3a9 in _zlog_assert_failed (xref=xref@entry=0x7fccd7652380 <_xref.16>, extra=extra@entry=0x0) at ../lib/zlog.c:678
#4  0x00007fccd759b2fe in route_node_delete (node=<optimized out>) at ../lib/table.c:352
#5  0x00007fccd759b445 in route_unlock_node (node=0x0) at ../lib/table.h:258
#6  route_next (node=<optimized out>) at ../lib/table.c:436
#7  route_next (node=node@entry=0x56029d89e560) at ../lib/table.c:410
#8  0x000056029b6b6b7a in if_lookup_by_name_per_ns (ns=ns@entry=0x56029d873d90, ifname=ifname@entry=0x7fccc0029340 "PortChannel1020")
    at ../zebra/interface.c:312
#9  0x000056029b6b8b36 in zebra_if_dplane_ifp_handling (ctx=0x7fccc0029310) at ../zebra/interface.c:1867
#10 zebra_if_dplane_result (ctx=0x7fccc0029310) at ../zebra/interface.c:2221
sonic-net#11 0x000056029b7137a9 in rib_process_dplane_results (thread=<optimized out>) at ../zebra/zebra_rib.c:4810
sonic-net#12 0x00007fccd75a0e0d in thread_call (thread=thread@entry=0x7ffe8e553cc0) at ../lib/thread.c:1990
sonic-net#13 0x00007fccd7559368 in frr_run (master=0x56029d65a040) at ../lib/libfrr.c:1198
sonic-net#14 0x000056029b6ac317 in main (argc=9, argv=0x7ffe8e5540d8) at ../zebra/main.c:478
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants