Skip to content

[Nexthop] Improve PlatformManager and platform configuration documentation#943

Closed
marif-nexthop wants to merge 2 commits intofacebook:mainfrom
nexthop-ai:marif.fboss-platform-docs
Closed

[Nexthop] Improve PlatformManager and platform configuration documentation#943
marif-nexthop wants to merge 2 commits intofacebook:mainfrom
nexthop-ai:marif.fboss-platform-docs

Conversation

@marif-nexthop
Copy link
Copy Markdown
Contributor

@marif-nexthop marif-nexthop commented Feb 19, 2026

Pre-submission checklist

  • I've ran the linters locally and fixed lint errors related to the files I modified in this PR. You can install the linters by running pip install -r requirements-dev.txt && pre-commit install
  • pre-commit run

Summary

PlatformManager is a core component of FBOSS platform software responsible for hardware discovery and device management. This PR improves the documentation by adding more information about PlatformManager and platform configuration.

  • Create PlatformManager category (sidebar menu)
  • Split platform_manager.md into overview.md and modeling.md
  • Added total nine pages covering information about PlatformManager and platform configuration

Test Plan

Viewed in a local docusaurus instance.

Screenshot 2026-02-09 at 3 32 08 PM

@marif-nexthop marif-nexthop force-pushed the marif.fboss-platform-docs branch from bcfd299 to 37c259b Compare March 10, 2026 18:24
Copy link
Copy Markdown
Contributor

@Scott8440 Scott8440 left a comment

Choose a reason for hiding this comment

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

I really appreciate all the work put into this documentation, but most of this feels unnecessary. In general we want to keep documentation as close to the code that it describes as possible. Most of the time this means comments in .thrift files.

I would also love to see some of this documentation effort put into improving the --help messages. There are several parts here which would fit nicely there.

There are a couple of pieces here which I do think are valuable, and I mentioned where we should move them.

@@ -0,0 +1,55 @@
---
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I feel like this should be handled by platform_manager --help. Any documentation here feels redundant and prone to becoming outdated if we make any changes to the CLI interface

@@ -0,0 +1,85 @@
---
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I believe documentation here fits better as comments in the thrift service definition itself.

@@ -0,0 +1,129 @@
---
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

An explanation of presence detection as a feature is useful, but I feel the amount of documentation here is too much. Perhaps this would fit better in a "Features" section of the existing platform_manager.md

Just explain the basics of what this provides and enables. Details about actual config implementation should be left to the thrift file or the sample config.

@@ -0,0 +1,88 @@
---
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Since kmods.json is a requirement of the BSP, documentation of that should stay there.

Other pieces of the documentation here should be provided by --help

Details about what exactly happens during the package management step feels too detailed to be in documentation.

@@ -0,0 +1,91 @@
---
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

See the existing platform_manager.md doc which provides a high-level overview

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Please note that this PR splits the previous platform_manager.md into overview.md and modeling.md in order to create space in the structure for the additions. This high-level overview mostly is from platform_manager.md.

See b3319ae where this split is performed.

@@ -0,0 +1,75 @@
---
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Overview of exploration flow is valuable. If it doesn't already exist in platform_manager.md I would add that there.

Details of the status and error enums feels redundant/obvious.


## Naming Conventions

Symlink names should:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

These conventions (except for "be descriptive") should be codified in ConfigValidator instead of a doc.

@@ -0,0 +1,208 @@
---
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Since block configs are probably the most confusing part of the configs it makes sense to have some documentation on them, but if i remember correctly there's already some pretty good documenation in the thrift file itself.

Examples should be put into the sample config instead of a doc.

@Scott8440 Scott8440 self-requested a review March 31, 2026 21:35
@meta-codesync
Copy link
Copy Markdown
Contributor

meta-codesync Bot commented Mar 31, 2026

@Scott8440 has imported this pull request. If you are a Meta employee, you can view this in D98980604.

@meta-codesync
Copy link
Copy Markdown
Contributor

meta-codesync Bot commented Apr 1, 2026

@Scott8440 merged this pull request in 6c15fbc.

itskittycisco pushed a commit to itskittycisco/fboss that referenced this pull request Apr 3, 2026
…ebook#943)

Summary:
**Pre-submission checklist**
- [x] I've ran the linters locally and fixed lint errors related to the files I modified in this PR. You can install the linters by running `pip install -r requirements-dev.txt && pre-commit install`
- [x] `pre-commit run`

PlatformManager is a core component of FBOSS platform software responsible for hardware discovery and device management. This PR improves the documentation by adding more information about PlatformManager and platform configuration.

- Create PlatformManager category (sidebar menu)
- Split `platform_manager.md` into `overview.md` and `modeling.md`
- Added total nine pages covering information about PlatformManager and platform configuration

Pull Request resolved: facebook#943

Test Plan:
Viewed in a local docusaurus instance.

<img width="1419" height="1458" alt="Screenshot 2026-02-09 at 3 32 08 PM" src="https://github.com/user-attachments/assets/55e4c87a-be94-4c80-a02d-4e1434f55fc6" />

Reviewed By: KevinYakar

Differential Revision: D98980604

Pulled By: Scott8440

fbshipit-source-id: 12a7b2f3e61d73c08c7df9db39df5b35e0003676
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