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

[chassisd] Monitor midplane status #127

Merged
merged 4 commits into from
Dec 16, 2020

Conversation

mprabhu-nokia
Copy link
Contributor

Enhance chassisd to monitor midplane status of the cards in modular chassis

HLD: sonic-net/SONiC#646

-What I did
Add monitoring of the midplane or internal ethernet network between supervisor and line-card modules.

-How I did it
Along with status monitoring, also monitor the midplane reachability between supervisor and modules.
It updates the STATE_DB with the status information. 'show chassis-modules midplane-status' will read from the STATE_DB

-How I verified it
With UT and platform specific validation

CLI output
sonic-net/sonic-utilities#1267

UT output

platform linux2 -- Python 2.7.16, pytest-3.10.1, py-1.7.0, pluggy-0.8.0
rootdir: /sonic/src/sonic-platform-daemons/sonic-chassisd, inifile: pytest.ini
plugins: cov-2.6.0
collected 10 items

tests/test_chassisd.py ..........                                                                                                                                                      [100%]

---------- coverage: platform linux2, python 2.7.16-final-0 ----------
Name               Stmts   Miss  Cover
--------------------------------------
scripts/chassisd     209     69    67%
Coverage HTML written to dir htmlcov
Coverage XML written to file coverage.xml

sonic-chassisd/scripts/chassisd Outdated Show resolved Hide resolved
@jleveque
Copy link
Contributor

Please fix conflicts

@mprabhu-nokia
Copy link
Contributor Author

Please fix conflicts

Done. Thanks.

@jleveque
Copy link
Contributor

@Staphylo: Please review, also.

sonic-chassisd/scripts/chassisd Outdated Show resolved Hide resolved
sonic-chassisd/tests/mock_platform.py Outdated Show resolved Hide resolved
Monitor the status of line-cards from supervisor
Monitor the status of supervisor from line-cards
sonic-chassisd/tests/mock_platform.py Outdated Show resolved Hide resolved
@jleveque jleveque changed the title Modular-chassis: Enhance chassisd to monitor midplane status [chassisd] Monitor midplane status Dec 16, 2020
@jleveque jleveque merged commit b674dff into sonic-net:master Dec 16, 2020
sujinmkang pushed a commit to sujinmkang/sonic-platform-daemons that referenced this pull request Jan 16, 2021
Enhance chassisd to monitor midplane status of the cards in modular chassis

HLD: sonic-net/SONiC#646

-What I did
Add monitoring of the midplane or internal ethernet network between supervisor and line-card modules.

-How I did it
Along with status monitoring, also monitor the midplane reachability between supervisor and modules.
It updates the STATE_DB with the status information. 'show chassis-modules midplane-status' will read from the STATE_DB
vdahiya12 pushed a commit to vdahiya12/sonic-platform-daemons that referenced this pull request Apr 4, 2022
The `string` type has changed between Python 2 and 3. Therefore, the Python 3 version of this library is broken.

This PR changes the data type of the raw EEPROM data to a `bytearray`, which is treated the same in both Python 2 and Python 3, and is technically a more appropriate data type for the raw bytes anyway.

However, this PR could cause issues if any vendors are overriding the `read_eeprom_bytes()` or `read_eeprom()` functions and returning a `string`. Any vendors doing so will need to refactor their implementation to return a `bytearray` instead.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants