-
Notifications
You must be signed in to change notification settings - Fork 271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
show_techsupport & saidump errors during testbed testing #1387
Comments
@JunhongMao you recently added json parser to saidump (previous version didn't support json) #1288, please investigate |
@kcudnik I found the root reason below: https://github.com/sripathikrishnan/redis-rdb-tools I tested the PR: sripathikrishnan/redis-rdb-tools#193, and it works perfectly. But unfortunately, this PR is still in open status. So I plan to add this PR's code by patch command. I.e., to update dockers/docker-base-bullseye/Dockerfile.j2 of repo sonic-buildimage by add a command, such as:
Dockerfile.j2 was included in PR: But I'm not sure where the patch file should be in the repo https://github.com/sonic-net/sonic-buildimage. I have made the patch file below. Any comments are welcome and appreciated. Thank you. |
is this a bug in rdb-tools or format changes or what ? maybe our code could woakaround that instead of waiting for rdb-tools ? for example if parrsing format fails, lets try other new one ? |
@kcudnik @mlok-nokia Motivation behind this project I tested librdb, it works well. But how to add the librdb into the syncd0 container? Please give some suggestions. Thanks. |
depending on which container you are talking, if az pipeline then you need to add librdb-dev https://packages.ubuntu.com/search?keywords=librbd-dev probably somwwhere here: https://github.com/sonic-net/sonic-sairedis/blob/master/.azure-pipelines/build-template.yml#L91 |
It's librdb other than librbd-dev. They are different. The only way to install it is by building from source codes https://github.com/redis/librdb.git. I'm trying the below method for repo sonic-buildimage.
But this method doesn't work. How to do it? Thanks. |
then you will need to probably install it manually from source in the docker |
What do you mean that method dont work ? what errors do you get ? |
It means that after building the image and installing it on a board, the rdb-tool could not be found. Please see below.
|
My question is how to add it into the repo sonic-buildimage. |
I have created two PRs for this issue. Please help to review them. |
you probably need to do that in Dockerfile.j2 file, depends on which version you are building for example ./sonic-slave-buster/Dockerfile.j2:, if you take a look there are many different packages installed from source (tar.gz) in that docker, but probalby you can also add this src as submodule in sonic-buildimage/src and build those from source as packages let say in similar way as sonic-swss-common, and then install that in docker |
…sting by replacing redis-rdb-tool with rdb-cli (#1391) Why I did it Fix issue: #1387 The latest redis-rdb-tools-0.1.15 doesn't support Redis 7.0. Redis 7.0 was released in 2020 and adopted by SONiC's latest version. So, this issue turned out. https://github.com/sripathikrishnan/redis-rdb-tools I.e., the rdb-tools is far behind the Redis 7.0. The librdb can perfectly fix this issue. Please see quote from https://github.com/redis/librdb. Motivation behind this project There is a genuine need by the Redis community for a versatile RDB file parser that can export data, perform data analysis, or merely extract raw data from RDB and RESTORE it against a live Redis server. However, available parsers have shortcomings in some aspects such as lack of long-term support, lagging far behind the latest Redis release, and usually not being optimized for memory, performance, or high-traffic streaming for production environments. Additionally, most of them are not written in C, which limits the reuse of Redis components and the potential to contribute back to Redis repo. To address these issues, it is worthwhile to develop a new parser with a modern architecture, that maybe can also challenge the current integrated RDB parser of Redis and even replace it in the future. So, the below PRS are to replace rdbtools with librdb's tool rdb-cli. sonic-net/sonic-buildimage#19268 #1391
…sting by replacing redis-rdb-tool with rdb-cli (#19268) * To fix the issue: show_techsupport & saidump errors during testbed testing sonic-net/sonic-sairedis#1387 To use the Redis-db SAVE option to save the snapshot of DB each time and recover later, instead of looping through each entry in the table and saving it. (1) Updated sonic-buildimage repo's platform/broadcom/docker-syncd-brcm-dnx/Dockerfile.j2, install rdb-cli into the syncd containter. (2) Updated sonic-sairedis repo's script file: files/scripts/saidump.sh, replace rdbtools with rdb-cli. (3) Updated sonic-sairedis repo's saidump/saidump.cpp, to process the rdb-cli's ouput json file.
…sting by replacing redis-rdb-tool with rdb-cli (sonic-net#19268) * To fix the issue: show_techsupport & saidump errors during testbed testing sonic-net/sonic-sairedis#1387 To use the Redis-db SAVE option to save the snapshot of DB each time and recover later, instead of looping through each entry in the table and saving it. (1) Updated sonic-buildimage repo's platform/broadcom/docker-syncd-brcm-dnx/Dockerfile.j2, install rdb-cli into the syncd containter. (2) Updated sonic-sairedis repo's script file: files/scripts/saidump.sh, replace rdbtools with rdb-cli. (3) Updated sonic-sairedis repo's saidump/saidump.cpp, to process the rdb-cli's ouput json file.
…sting by replacing redis-rdb-tool with rdb-cli (#19268) * To fix the issue: show_techsupport & saidump errors during testbed testing sonic-net/sonic-sairedis#1387 To use the Redis-db SAVE option to save the snapshot of DB each time and recover later, instead of looping through each entry in the table and saving it. (1) Updated sonic-buildimage repo's platform/broadcom/docker-syncd-brcm-dnx/Dockerfile.j2, install rdb-cli into the syncd containter. (2) Updated sonic-sairedis repo's script file: files/scripts/saidump.sh, replace rdbtools with rdb-cli. (3) Updated sonic-sairedis repo's saidump/saidump.cpp, to process the rdb-cli's ouput json file.
…sting by replacing redis-rdb-tool with rdb-cli (sonic-net#19268) * To fix the issue: show_techsupport & saidump errors during testbed testing sonic-net/sonic-sairedis#1387 To use the Redis-db SAVE option to save the snapshot of DB each time and recover later, instead of looping through each entry in the table and saving it. (1) Updated sonic-buildimage repo's platform/broadcom/docker-syncd-brcm-dnx/Dockerfile.j2, install rdb-cli into the syncd containter. (2) Updated sonic-sairedis repo's script file: files/scripts/saidump.sh, replace rdbtools with rdb-cli. (3) Updated sonic-sairedis repo's saidump/saidump.cpp, to process the rdb-cli's ouput json file.
Error information
show_techsupport/test_techsupport.py::test_techsupport[acl-ixre-egl-board15]::setup
The details are shown below.
show_techsupport.html.pdf
admin@ixre-egl-board30:~$ show ver
Image version
SONiC Software Version: SONiC.HEAD.728118-nokia-master-69fa72b6
SONiC OS Version: 12
Distribution: Debian 12.5
Kernel: 6.1.0-11-2-amd64
Build commit: 69fa72b6
Build date: Wed May 29 00:19:20 UTC 2024
Built by: gitlab-runner@sonic-bld2
The text was updated successfully, but these errors were encountered: