Add platform mapping CSVs for Wedge800BA#578
Conversation
|
To check why it is failure of "Build & Run Platform Mapping Generation Verification ...", the log shows there is Network is unreachable in (https://productionresultssa0.blob.core.windows.net/actions-results/14487795-73ce-4762-8c3e-71ccff40af4e/workflow-job-run-d9e1d85b-8532-5688-be78-2bb2bffe6a34/logs/job/job-logs.txt?rsct=text%2Fplain&se=2025-10-09T00%3A52%3A25Z&sig=NEOH68xNCHMhureOwAEOkNXTKqWcSVXhffWjq8VxAys%3D&ske=2025-10-09T10%3A36%3A37Z&skoid=ca7593d4-ee42-46cd-af88-8b886a2f84eb&sks=b&skt=2025-10-08T22%3A36%3A37Z&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skv=2025-11-05&sp=r&spr=https&sr=b&st=2025-10-09T00%3A42%3A20Z&sv=2025-11-05)
|
|
This PR might be closed accidentally, reopen it again! |
Summary: This change introduces platform mapping CSV files for the Wedge800BA platform. The platform mapping CSV files have **not yet been tested**. Updates will be made following validation with the hardware. Following [Platform Mapping Config Generation](https://facebook.github.io/fboss/docs/developing/platform_mapping) 1. Add platform mapping CSV files into fboss/lib/platform_mapping_v2/platforms/wedge800ba/. 2. Generate the corresponding platform mapping json file. 3. Add platform mapping CSV files to support the following Profile ID for Front ports and Service ports. Front Ports(OPTICAL) 1x 800GE,(100G PAM4) FEC: PROFILE_800G_8_PAM4_RS544X2N_OPTICAL = 39 2x 400GE,(100G PAM4) FEC:PROFILE_400G_4_PAM4_RS544X2N_OPTICAL = 38 2x 200GE,(50G PAM4) FEC: PROFILE_200G_4_PAM4_RS544X2N_OPTICAL = 25 2x 100GE,(25G NRZ) FEC: PROFILE_100G_4_NRZ_RS528_OPTICAL = 23 8x 100GE, (100G PAM4) FEC: PROFILE_100G_1_PAM4_RS544_OPTICAL = 47 Front Ports(COPPER) 1x 800GE, (100G PAM4) FEC: PROFILE_800G_8_PAM4_RS544X2N_COPPER = 50 2x 400GE, (100G PAM4) FEC: PROFILE_400G_4_PAM4_RS544X2N_COPPER = 45 2x 200GE, (50G PAM4) FEC: PROFILE_200G_4_PAM4_RS544X2N_COPPER = 24 2x 100GE, (25G NRZ) FEC: PROFILE_100G_4_NRZ_RS528_COPPER = 22 2x 100GE, (25G NRZ) NONE: PROFILE_100G_4_NRZ_NOFEC_COPPER = 32 4x 200GE, (100G PAM4) FEC: PROFILE_200G_2_PAM4_RS544_COPPER=54 4x 100GE, (50G PAM4) FEC: PROFILE_100G_2_PAM4_RS544_COPPER = 55 4x 50GE, (25G NRZ) FEC: PROFILE_50G_2_NRZ_RS528_COPPER = 21 4x 50GE, (25G NRZ) NONE: PROFILE_50G_2_NRZ_NOFEC_COPPER = 19 8x 100GE, (100G PAM4) FEC: PROFILE_100G_1_PAM4_RS544_COPPER = 56 8x 50GE, (50G PAM4) FEC: PROFILE_50G_1_PAM4_RS544_COPPER = 43 For Service Ports(OPTICAL) 1x100GE,(25G NRZ) FEC: PROFILE_100G_4_NRZ_RS528_OPTICAL = 23 2x50GE,(25G NRZ) FEC: PROFILE_50G_2_NRZ_RS528_OPTICAL = 48 2x50GE (25G NRZ) NONE: PROFILE_50G_2_NRZ_NOFEC_OPTICAL = 31 2x25GE (25G NRZ) NONE: PROFILE_25G_1_NRZ_NOFEC_OPTICAL = 30 2x10GE (10G NRZ) NONE: PROFILE_10G_1_NRZ_NOFEC_OPTICAL = 12 For Service Ports(COPPER) 1x100GE (25G NRZ) FEC: PROFILE_100G_4_NRZ_RS528_COPPER = 22 2x50GE (25G NRZ) FEC: PROFILE_50G_2_NRZ_RS528_COPPER = 21 2x50GE (25G NRZ) NONE: PROFILE_50G_2_NRZ_NOFEC_COPPER = 19 2x25GE (25G NRZ) FEC: PROFILE_25G_1_NRZ_RS528_COPPER = 16 2x25GE (25G NRZ) NONE: PROFILE_25G_1_NRZ_NOFEC_COPPER = 14 2x10GE (10G NRZ) NONE: PROFILE_10G_1_NRZ_NOFEC_COPPER = 11
87fa8d6 to
1ea7480
Compare
|
To investigate the failure in "Platform-Mapping-Generation-Verification", it appears that the issue occurs on other platforms, but not on the wedge800ba platform.
|
|
@Protick666 has imported this pull request. If you are a Meta employee, you can view this in D84951226. |
|
@Protick666 merged this pull request in 549b078. |
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` When building only a specific cmake target to save time, getdeps removes the "built marker” under `$builddir/installed/fboss/.built-by-getdeps`, which makes it impossible to subsequently run the unit tests as without this file getdeps bails out with `project fboss has not been built`. What’s more, because of a missing `return` the exit code was 0, which was confusing. This fix ensures that the return code is propagated properly and also improves the cmake test runner to automatically detect missing executables and build them on the fly. This will not rebuild the test binaries if they've already been built and are merely stale (because the source code has changed) but that was already the prior behavior. At least now it's possible to rebuild a single cmake test target and re-run the tests in one shot. Pull Request resolved: #722 Test Plan: - Manually removed one unit test target, running `getdeps.py test` now can detect the missing test executables, and then rebuild such executables before running the tests ``` [root@5f196107a3a6 fboss]# ls -al /var/FBOSS/tmp_bld_dir/build/fboss/fboss2_cmd_test -rwxr-xr-x 1 root root 116548584 Feb 17 20:48 /var/FBOSS/tmp_bld_dir/build/fboss/fboss2_cmd_test [root@5f196107a3a6 fboss]# rm -rf /var/FBOSS/tmp_bld_dir/build/fboss/fboss2_cmd_test [root@5f196107a3a6 fboss]# ./build/fbcode_builder/getdeps.py test --allow-system-packages --extra-cmake-defines='{"CMAKE_BUILD_TYPE": "MinSizeRel", "CMAKE_CXX_STANDARD": "20"}' --scratch-path /var/FBOSS/tmp_bld_dir --num-jobs 16 --src-dir . fboss Testing ENV[BOOST_ROOT_1_69_0]: None Building missing test executables: fboss2_cmd_test ... + cd /var/FBOSS/tmp_bld_dir/build/fboss && \ + /usr/bin/cmake \ + --build \ + /var/FBOSS/tmp_bld_dir/build/fboss \ + --target \ + fboss2_cmd_test \ + --config \ + RelWithDebInfo \ + -j \ + 16 [1/1] Linking CXX executable fboss2_cmd_test --- ... 103/689 Test #110: CmdShowAggregatePortTestFixture.queryClient ...................................................................................................... Passed 0.10 sec Start 141: CmdShowRouteDetailsTestFixture.queryClient 104/689 Test #113: CmdShowExampleTestFixture.queryClient ............................................................................................................ Passed 0.09 sec Start 94: CmdShowArpTestFixture.queryClient 105/689 Test #126: CmdShowInterfaceErrorsTestFixture.queryClient .................................................................................................... Passed 0.10 sec Start 87: CmdSetPortStateTestFixture.enableOnePort 106/689 Test #129: CmdShowMirrorTestFixture.queryClientWithoutTunnel ................................................................................................ Passed 0.10 sec Start 123: CmdShowInterfaceCountersTestFixture.queryClient ... 100% tests passed, 0 tests failed out of 689 Total Test time (real) = 20.93 sec ``` - Confirmed the test executable was actually build, noticed timestamp of such binary is different than before ``` [root@5f196107a3a6 fboss]# ls -al /var/FBOSS/tmp_bld_dir/build/fboss/fboss2_cmd_test -rwxr-xr-x 1 root root 116548584 Feb 17 22:26 /var/FBOSS/tmp_bld_dir/build/fboss/fboss2_cmd_test ``` - Now run the test command again when all the test binaries exist without any issue ``` [root@5f196107a3a6 fboss]# ./build/fbcode_builder/getdeps.py test --allow-system-packages --extra-cmake-defines='{"CMAKE_BUILD_TYPE": "MinSizeRel", "CMAKE_CXX_STANDARD": "20"}' --scratch-path /var/FBOSS/tmp_bld_dir --num-jobs 16 --src-dir . fboss Testing ENV[BOOST_ROOT_1_69_0]: None --- ... 686/689 Test #578: ThriftStructNodeTestSuite.ThriftStructNodeRemovePathOnThriftMapTest<TestParams<true>> ............................................................ Passed 0.01 sec 687/689 Test #579: ThriftStructNodeTestSuite.ThriftStructNodeRemovePathOnThriftListTest<TestParams<true>> ........................................................... Passed 0.01 sec 688/689 Test #580: ThriftStructNodeTestSuite.ThriftStructNodeRemovePathOnThriftSetTest<TestParams<true>> ............................................................ Passed 0.01 sec 689/689 Test #550: ThriftStructNodeTests.ThriftStructNodeSetAlreadyPublished ........................................................................................ Passed 0.18 sec 100% tests passed, 0 tests failed out of 689 Total Test time (real) = 21.00 sec ``` Reviewed By: bigfootjon Differential Revision: D93524014 Pulled By: joseph5wu fbshipit-source-id: d58055430e181f4efa6901985b7b2e7de4626a11


Summary:
This change introduces platform mapping CSV files for the Wedge800BA platform.
The platform mapping CSV files have not yet been tested. Updates will be made following validation with the hardware.
Following Platform Mapping Config Generation
Add platform mapping CSV files into fboss/lib/platform_mapping_v2/platforms/wedge800ba/.
Generate the corresponding platform mapping json file.
Add platform mapping CSV files to support the following Profile ID for Front ports and Service ports.
Front Ports(OPTICAL)
1x 800GE,(100G PAM4) FEC: PROFILE_800G_8_PAM4_RS544X2N_OPTICAL = 39
2x 400GE,(100G PAM4) FEC:PROFILE_400G_4_PAM4_RS544X2N_OPTICAL = 38
2x 200GE,(50G PAM4) FEC: PROFILE_200G_4_PAM4_RS544X2N_OPTICAL = 25
2x 100GE,(25G NRZ) FEC: PROFILE_100G_4_NRZ_RS528_OPTICAL = 23
8x 100GE, (100G PAM4) FEC: PROFILE_100G_1_PAM4_RS544_OPTICAL = 47
Front Ports(COPPER)
1x 800GE, (100G PAM4) FEC: PROFILE_800G_8_PAM4_RS544X2N_COPPER = 50
2x 400GE, (100G PAM4) FEC: PROFILE_400G_4_PAM4_RS544X2N_COPPER = 45
2x 200GE, (50G PAM4) FEC: PROFILE_200G_4_PAM4_RS544X2N_COPPER = 24
2x 100GE, (25G NRZ) FEC: PROFILE_100G_4_NRZ_RS528_COPPER = 22
2x 100GE, (25G NRZ) NONE: PROFILE_100G_4_NRZ_NOFEC_COPPER = 32
4x 200GE, (100G PAM4) FEC: PROFILE_200G_2_PAM4_RS544_COPPER=54
4x 100GE, (50G PAM4) FEC: PROFILE_100G_2_PAM4_RS544_COPPER = 55
4x 50GE, (25G NRZ) FEC: PROFILE_50G_2_NRZ_RS528_COPPER = 21
4x 50GE, (25G NRZ) NONE: PROFILE_50G_2_NRZ_NOFEC_COPPER = 19
8x 100GE, (100G PAM4) FEC: PROFILE_100G_1_PAM4_RS544_COPPER = 56
8x 50GE, (50G PAM4) FEC: PROFILE_50G_1_PAM4_RS544_COPPER = 43
For Service Ports(OPTICAL)
1x100GE,(25G NRZ) FEC: PROFILE_100G_4_NRZ_RS528_OPTICAL = 23
2x50GE,(25G NRZ) FEC: PROFILE_50G_2_NRZ_RS528_OPTICAL = 48
2x50GE (25G NRZ) NONE: PROFILE_50G_2_NRZ_NOFEC_OPTICAL = 31
2x25GE (25G NRZ) NONE: PROFILE_25G_1_NRZ_NOFEC_OPTICAL = 30
2x10GE (10G NRZ) NONE: PROFILE_10G_1_NRZ_NOFEC_OPTICAL = 12
For Service Ports(COPPER)
1x100GE (25G NRZ) FEC: PROFILE_100G_4_NRZ_RS528_COPPER = 22
2x50GE (25G NRZ) FEC: PROFILE_50G_2_NRZ_RS528_COPPER = 21
2x50GE (25G NRZ) NONE: PROFILE_50G_2_NRZ_NOFEC_COPPER = 19
2x25GE (25G NRZ) FEC: PROFILE_25G_1_NRZ_RS528_COPPER = 16
2x25GE (25G NRZ) NONE: PROFILE_25G_1_NRZ_NOFEC_COPPER = 14
2x10GE (10G NRZ) NONE: PROFILE_10G_1_NRZ_NOFEC_COPPER = 11