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 to monitor cards in a modular chassis #5523

Merged
merged 6 commits into from
Dec 16, 2020

Conversation

mprabhu-nokia
Copy link
Contributor

HLD: sonic-net/SONiC#646

Introducing chassisd process to monitor status of the control, line and fabric cards in a modular chassis.

- Why I did it
Modular Chassis has control-cards, line-cards and fabric-cards along with other peripherals. Chassisd will be a central entity that has visibility of the entire chassis.

- How I did it
Chassisd process will monitor cards in the main thread. Another configuation_handling_task is created to listen to CONFIG_DB for admin_status up/down events.
The monitored status is persisted in REDIS-DB.

- How to verify it
Vendor will need to implement card.py. Template APIs are provided to monitor the status of the line-card, fabric-card etc using new PMON 2.0 APIs. The assumption is that each vendor will have platform-drivers or implementation to detect the status of the cards in the chassis.

@minionatwork
Copy link
Contributor

retest broadcom please

@minionatwork
Copy link
Contributor

retest please

@minionatwork
Copy link
Contributor

retest vsimage please

@minionatwork
Copy link
Contributor

retest mellanox please

@mprabhu-nokia
Copy link
Contributor Author

retest please

@mprabhu-nokia
Copy link
Contributor Author

retest broadcom please

@mprabhu-nokia
Copy link
Contributor Author

retest vsimage please

@mprabhu-nokia
Copy link
Contributor Author

retest mellanox please

@mprabhu-nokia
Copy link
Contributor Author

@judyjoseph please review. Was able to get a clean run after @jleveque fixed UT issues.

@mprabhu-nokia
Copy link
Contributor Author

retest vsimage please

1 similar comment
@mprabhu-nokia
Copy link
Contributor Author

retest vsimage please

judyjoseph
judyjoseph previously approved these changes Nov 23, 2020
Copy link
Contributor

@judyjoseph judyjoseph left a comment

Choose a reason for hiding this comment

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

LGTM. Will be good if we could change this variable from HAVE_MODULAR_CHASSISDB_CONF --> to a more generic one "IS_MODULAR_CHASSIS" based on this file /usr/share/sonic/platform/chassisdb.conf presence.

@mprabhu-nokia
Copy link
Contributor Author

LGTM. Will be good if we could change this variable from HAVE_MODULAR_CHASSISDB_CONF --> to a more generic one "IS_MODULAR_CHASSIS" based on this file /usr/share/sonic/platform/chassisdb.conf presence.

Done. Will need approval again.

judyjoseph
judyjoseph previously approved these changes Nov 24, 2020
@jleveque jleveque added Chassis 🤖 Modular chassis support Enhancement ➕ labels Nov 24, 2020
@rlhui
Copy link
Contributor

rlhui commented Dec 10, 2020

@shyam77git, @Staphylo - do you approve?

Staphylo
Staphylo previously approved these changes Dec 10, 2020
Copy link
Contributor

@jleveque jleveque left a comment

Choose a reason for hiding this comment

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

We are in the process of migrating all Python code from Python 2 to Python 3. I would prefer if we start with this daemon as a Python 3-only daemon, rather than having to go back in the near future and convert it. If that is not possible, then we need to build and install both Python 2 and Python 3 versions of the daemon and use the new mechanism (in PR here) to assist with the transition.

@mprabhu-nokia
Copy link
Contributor Author

We are in the process of migrating all Python code from Python 2 to Python 3. I would prefer if we start with this daemon as a Python 3-only daemon, rather than having to go back in the near future and convert it. If that is not possible, then we need to build and install both Python 2 and Python 3 versions of the daemon and use the new mechanism (in PR here) to assist with the transition.

Done. Moved to python3.

@jleveque jleveque merged commit 00cea08 into sonic-net:master Dec 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Chassis 🤖 Modular chassis support Enhancement ➕
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants