Skip to content

Chassisd to monitor cards in a modular chassis#5523

Merged
jleveque merged 6 commits intosonic-net:masterfrom
mprabhu-nokia:nokia-chassisd-pmon-1
Dec 16, 2020
Merged

Chassisd to monitor cards in a modular chassis#5523
jleveque merged 6 commits intosonic-net:masterfrom
mprabhu-nokia:nokia-chassisd-pmon-1

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 mprabhu-nokia dismissed stale reviews from Staphylo and judyjoseph via 6ece049 December 14, 2020 07:33
@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