Skip to content

Conversation

@ec-michael-shih
Copy link
Contributor

@ec-michael-shih ec-michael-shih commented Nov 11, 2025

Pre-submission checklist

  • I've already run the test commands for theled_service, specifically the two test cases: LED color change and LED color blinking.

    i Test led color change:
    ./led_service_hw_test --gtest_filter=LedServiceTest.checkLedColorChange --led-config /tmp/led.conf --visual_delay_sec 2
    (2 seconds is easy to observe)

    ii Test led color blinking:
    ./led_service_hw_test --gtest_filter=LedServiceTest.checkLedBlinking --led-config /tmp/led.conf --visual_delay_sec 4
    (4 seconds is easy to observe)

    Note:
    (led-config)

    {
      "defaultCommandLineArgs": {
        "mode": "wedge800cact"
      },
      "ledControlledThroughService": false
    }
    
  • I have tested the QSFP hardware test item for t0_qsfp_hw_test. The test commands is as follows:

    run_test.py qsfp
    --filter_file=./share/hw_sanity_tests/t0_qsfp_hw_tests.conf \
    --qsfp-config ./share/qsfp_test_configs/wedge800cact.materialized_JSON
    

Description:

The new wedge800cact platform requires the execution of the following T0 Validation Tests:

  1. LED Service Hardware Test
  2. QSFP Hardware Tests

Based on the above requirements, I need to add new files to support the new platform for testing.
Following the "New Platform Support" section in the fboss documentation, I have added and modified the following files:

Add:

    fboss/lib/bsp/wedge800cact/BUCK
    fboss/lib/bsp/wedge800cact/Wedge800CACTBspPlatformMapping.h
    fboss/lib/bsp/wedge800cact/Wedge800CACTBspPlatformMapping.cpp
    fboss/led_service/Wedge800CACTLedManager.cpp 
    fboss/led_service/Wedge800CACTLedManager.h

Modify:

    fboss/led_service/LedManagerInit.cpp 
    fboss/qsfp_service/platforms/wedge/WedgeManagerInit.cpp 

Despite the files added and modified above, further changes to the following files are necessary to ensure the tests run successfully:

Additional changes:

    cmake/QsfpService.cmake
    cmake/LedService.cmake 
    cmake/QsfpServicePlatformsWedge.cmake
    fboss/lib/bsp/BUCK 
    fboss/lib/bsp/BspGenericSystemContainer.cpp 
    fboss/util/BUCK 
    fboss/util/wedge_qsfp_util.cpp
    fboss/qsfp_service/test/BUCK
    fboss/qsfp_service/test/BspPlatformMapTest.cpp
    fboss/lib/bsp/bspmapping/input/Wedge800CACT_BspMapping.csv
    fboss/lib/bsp/bspmapping/Main.cpp
    fboss/lib/bsp/bspmapping/Parser.h
    fboss/lib/bsp/bspmapping/test/ParserTest.cpp

Test Plan

  1. LED Service Hw Test:

    To verify the LED colors and blinking status are correct,
    based on the specifications defined in Wedge800CACTBspPlatformMapping.cpp.

    (1) Test led color change:
    Test command: ./led_service_hw_test --gtest_filter=LedServiceTest.checkLedColorChange --led-config /tmp/led.conf --visual_delay_sec 1
    1111_color_change_test

    Checking: Observe whether the LED color changes align with the messages in the test log.

    (2) Test led blinking:
    Test command: ./led_service_hw_test --gtest_filter=LedServiceTest.checkLedBlinking --led-config /tmp/led.conf --visual_delay_sec 1
    1111_color_blinking_test

    Checking: Observe whether the LED color and blinking rate (or speed) correspond to the messages in the test log.

  2. QSFP Hardware Tests:
    Ensure that the test is executed using the t0_qsfp_hw_tests.conf configuration file,
    and all test items contained within it are successful.

    Test Setup:
    (Port 1 and Port 2),
    (Port 3 and Port 4),
    (Port 5 and Port 6)
    ...
    (Port 31 and Port 32) are connected, utilizing the allowed vendor's module: INNOLIGHT (T-OL8CNT-NFM), Eoptolink(EOLO-168HG-02-1B).

    Test command: run_test.py qsfp \ --filter_file=./share/hw_sanity_tests/t0_qsfp_hw_tests.conf \ --qsfp-config ./share/qsfp_test_configs/wedge800cact.materialized_JSON
    1111_qsfp_hw_t0_test

    Test log: 20251111_led_and_qsfp_hw_t0_test_log.zip

@meta-cla
Copy link

meta-cla bot commented Nov 11, 2025

Hi @ec-michael-shih!

Thank you for your pull request and welcome to our community.

Action Required

In order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you.

Process

In order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.

If you have received this in error or have any questions, please contact us at cla@meta.com. Thanks!

@ec-michael-shih
Copy link
Contributor Author

Relate to: PR #621.

Signed-off-by: michael_shih <michael_shih@accton.com>
@ec-michael-shih
Copy link
Contributor Author

@CliffyWong Could you please kindly approve the workflow for me?

@meta-codesync
Copy link

meta-codesync bot commented Nov 25, 2025

@shiva-menta has imported this pull request. If you are a Meta employee, you can view this in D87871130.

@ec-michael-shih
Copy link
Contributor Author

The necessary changes for the wedge800cact platform, which are relevant to this PR, have already been merged into PR #621.

This PR is required as a dependency on PR #621 to ensure that the qsfp_hw_test and led_test functions are fully operational and complete.

Could you please review and merge this at your earliest convenience?

@meta-codesync
Copy link

meta-codesync bot commented Dec 4, 2025

@shiva-menta merged this pull request in 1945fed.

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.

2 participants