Skip to content

Thrift update#56

Closed
capveg wants to merge 5 commits into
facebook:masterfrom
capveg:thrift_update
Closed

Thrift update#56
capveg wants to merge 5 commits into
facebook:masterfrom
capveg:thrift_update

Conversation

@capveg

@capveg capveg commented Oct 13, 2017

Copy link
Copy Markdown

Should make OSS build again :-(

Rob Sherwood added 5 commits October 2, 2017 15:15
* added `./getdeps.sh pkgsonly` to only install dependent packages
Thrift is building with cmake now for more stability.

To adopt to this change, had to:
* frob the ThriftLibrary.cmake function to generate thrift files
* add a lot more circulate dependency resolution in libraries
* auto-generate thrift dependencies rather than tracking them explicitly
@capveg capveg closed this Oct 13, 2017
arajeev-ARISTA pushed a commit to arajeev-ARISTA/fboss that referenced this pull request Sep 26, 2023
Arista: add support for building against different Linux kernels
meta-codesync Bot pushed a commit that referenced this pull request Feb 14, 2026
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`

1. Add QoS buffer pool configuration commands
```
- fboss2 config qos buffer-pool <name> shared-bytes <value>
- fboss2 config qos buffer-pool <name> headroom-bytes <value>
- fboss2 config qos buffer-pool <name> reserved-bytes <value>
```
2. Some of the configuration commands like QoS buffer pool modification requires an agent restart and some are hitless. Inorder to take appropriate action during the commit, track the highest impact action by storing the same in `$HOME/.fboss2/conf_metadata.jso`n at the end of each configuration change. And at the end of the commit, it will perform the agent restart. Current proposal has the `wedge_agent` to be restarted. Other agent restart can be added in future.

Note: this change is part of a series, the previous one is #783.

Pull Request resolved: #789

Test Plan:
1. Tests for the new commands are added in `CmdConfigQosBufferPool`.
```
Test project /var/FBOSS/tmp_bld_dir/build/fboss
    Start 25: CmdConfigQosBufferPoolTestFixture.bufferPoolNameValidation
1/8 Test #25: CmdConfigQosBufferPoolTestFixture.bufferPoolNameValidation ..........   Passed    0.01 sec
    Start 26: CmdConfigQosBufferPoolTestFixture.bufferBytesValueValidation
2/8 Test #26: CmdConfigQosBufferPoolTestFixture.bufferBytesValueValidation ........   Passed    0.01 sec
    Start 27: CmdConfigQosBufferPoolTestFixture.sharedBytesCreatesBufferPool
3/8 Test #27: CmdConfigQosBufferPoolTestFixture.sharedBytesCreatesBufferPool ......   Passed    0.02 sec
    Start 28: CmdConfigQosBufferPoolTestFixture.headroomBytesCreatesBufferPool
4/8 Test #28: CmdConfigQosBufferPoolTestFixture.headroomBytesCreatesBufferPool ....   Passed    0.02 sec
    Start 29: CmdConfigQosBufferPoolTestFixture.reservedBytesCreatesBufferPool
5/8 Test #29: CmdConfigQosBufferPoolTestFixture.reservedBytesCreatesBufferPool ....   Passed    0.02 sec
    Start 30: CmdConfigQosBufferPoolTestFixture.updateExistingBufferPool
6/8 Test #30: CmdConfigQosBufferPoolTestFixture.updateExistingBufferPool ..........   Passed    0.03 sec
    Start 31: CmdConfigQosBufferPoolTestFixture.commandsHaveColdBootActionLevel
7/8 Test #31: CmdConfigQosBufferPoolTestFixture.commandsHaveColdBootActionLevel ...   Passed    0.01 sec
    Start 32: CmdConfigQosBufferPoolTestFixture.printOutputSharedBytes
8/8 Test #32: CmdConfigQosBufferPoolTestFixture.printOutputSharedBytes ............   Passed    0.01 sec

100% tests passed, 0 tests failed out of 8

Total Test time (real) =   0.14 sec
```

2. Tests for the action on commit are added to existing test `ConfigSessionTestFixture`.
```
Test project /var/FBOSS/tmp_bld_dir/build/fboss
      Start 45: ConfigSessionTestFixture.sessionInitialization
 1/18 Test #45: ConfigSessionTestFixture.sessionInitialization ...............   Passed    0.01 sec
      Start 46: ConfigSessionTestFixture.sessionConfigModified
 2/18 Test #46: ConfigSessionTestFixture.sessionConfigModified ...............   Passed    0.02 sec
      Start 47: ConfigSessionTestFixture.sessionCommit
 3/18 Test #47: ConfigSessionTestFixture.sessionCommit .......................   Passed    0.12 sec
      Start 48: ConfigSessionTestFixture.multipleChangesInOneSession
 4/18 Test #48: ConfigSessionTestFixture.multipleChangesInOneSession .........   Passed    0.02 sec
      Start 49: ConfigSessionTestFixture.sessionPersistsAcrossCommands
 5/18 Test #49: ConfigSessionTestFixture.sessionPersistsAcrossCommands .......   Passed    0.01 sec
      Start 50: ConfigSessionTestFixture.symlinkRollbackOnFailure
 6/18 Test #50: ConfigSessionTestFixture.symlinkRollbackOnFailure ............   Passed    0.04 sec
      Start 51: ConfigSessionTestFixture.atomicRevisionCreation
 7/18 Test #51: ConfigSessionTestFixture.atomicRevisionCreation ..............   Passed    0.05 sec
      Start 52: ConfigSessionTestFixture.concurrentSessionCreationSameUser
 8/18 Test #52: ConfigSessionTestFixture.concurrentSessionCreationSameUser ...   Passed    0.04 sec
      Start 53: ConfigSessionTestFixture.revisionNumberExtraction
 9/18 Test #53: ConfigSessionTestFixture.revisionNumberExtraction ............   Passed    0.01 sec
      Start 54: ConfigSessionTestFixture.rollbackCreatesNewRevision
10/18 Test #54: ConfigSessionTestFixture.rollbackCreatesNewRevision ..........   Passed    0.05 sec
      Start 55: ConfigSessionTestFixture.rollbackToPreviousRevision
11/18 Test #55: ConfigSessionTestFixture.rollbackToPreviousRevision ..........   Passed    0.04 sec
      Start 56: ConfigSessionTestFixture.actionLevelDefaultIsHitless
12/18 Test #56: ConfigSessionTestFixture.actionLevelDefaultIsHitless .........   Passed    0.01 sec
      Start 57: ConfigSessionTestFixture.actionLevelUpdateAndGet
13/18 Test #57: ConfigSessionTestFixture.actionLevelUpdateAndGet .............   Passed    0.01 sec
      Start 58: ConfigSessionTestFixture.actionLevelHigherTakesPrecedence
14/18 Test #58: ConfigSessionTestFixture.actionLevelHigherTakesPrecedence ....   Passed    0.01 sec
      Start 59: ConfigSessionTestFixture.actionLevelReset
15/18 Test #59: ConfigSessionTestFixture.actionLevelReset ....................   Passed    0.02 sec
      Start 60: ConfigSessionTestFixture.actionLevelPersistsToMetadataFile
16/18 Test #60: ConfigSessionTestFixture.actionLevelPersistsToMetadataFile ...   Passed    0.01 sec
      Start 61: ConfigSessionTestFixture.actionLevelLoadsFromMetadataFile
17/18 Test #61: ConfigSessionTestFixture.actionLevelLoadsFromMetadataFile ....   Passed    0.01 sec
      Start 62: ConfigSessionTestFixture.actionLevelPersistsAcrossSessions
18/18 Test #62: ConfigSessionTestFixture.actionLevelPersistsAcrossSessions ...   Passed    0.01 sec

100% tests passed, 0 tests failed out of 18

Total Test time (real) =   0.51 sec
```

Reviewed By: kevin645

Differential Revision: D91714907

Pulled By: joseph5wu

fbshipit-source-id: 7f11ebbe1984247a6c1005d8599858033cfebfbe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

2 participants