Skip to content

[Nexthop][fboss2-dev] Add hitless/warmboot/coldboot options for config reload - #1542

Open
benoit-nexthop wants to merge 1 commit into
facebook:mainfrom
nexthop-ai:no-devx-add-hitless-warmboot-coldboot
Open

[Nexthop][fboss2-dev] Add hitless/warmboot/coldboot options for config reload#1542
benoit-nexthop wants to merge 1 commit into
facebook:mainfrom
nexthop-ai:no-devx-add-hitless-warmboot-coldboot

Conversation

@benoit-nexthop

Copy link
Copy Markdown
Contributor

Summary

Add an ending token for hitless|warmboot|coldboot to the fboss2-dev config reload command, with hitless being the default (existing) behavior if unspecified. This allows loading an arbitrary agent config and reliably doing a cold agent restart using the new config.

Test Plan

Added new unit tests.

Manually verified:

# fboss2-dev config reload
Config reloaded successfully

# fboss2-dev config reload hitless
Config reloaded successfully

# fboss2-dev config reload warmboot
I0521 21:58:49.517317  4001 SystemdInterface.cpp:85] fboss_hw_agent@0 is now active
I0521 21:58:49.528407  4001 SystemdInterface.cpp:85] fboss_sw_agent is now active
Config reloaded successfully via fboss_hw_agent@0 (warmboot), fboss_sw_agent (warmboot) restart.

# fboss2-dev config reload coldboot
I0521 21:56:00.869602  3598 SystemdInterface.cpp:85] fboss_hw_agent@0 is now active
I0521 21:56:00.880660  3598 SystemdInterface.cpp:85] fboss_sw_agent is now active
Config reloaded successfully via fboss_hw_agent@0 (coldboot), fboss_sw_agent (coldboot) restart.

Signed-off-by: rtl-nexthop <rtl@nexthop.ai>
@benoit-nexthop
benoit-nexthop requested review from a team as code owners August 20, 2026 22:53
@meta-cla meta-cla Bot added the CLA Signed label Aug 20, 2026
@benoit-nexthop

Copy link
Copy Markdown
Contributor Author

Original change by @rtl-nexthop

@joseph5wu joseph5wu left a comment

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 don't remove cpp files from the targets without any reason.
Also should we also specify reload which service's config?

fboss/agent/hw/sai/store/tests/UdfStoreTest.cpp
fboss/agent/hw/sai/store/tests/VlanStoreTest.cpp
fboss/agent/hw/sai/store/tests/WredStoreTest.cpp
fboss/agent/hw/sai/store/tests/UdfStoreTest.cpp

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.

Why this PR is trying to remove a bunch of cpp files?

using ObjectArgType = std::monostate;
static void addCliArg(CLI::App& cmd, std::vector<std::string>& args) {
cmd.add_option(
"boot_type",

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 now we can support config bgp, do we also need to consider specifying which service to reload their configs? Based on the implementation here, we can only support reload agent config?

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