You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[VOQ][saidump] Modify generate_dump: replace save_saidump with save_saidump_by_route_size (sonic-net#2972)
* * [saidump]
• Saidump for DNX-SAI sonic-net/sonic-buildimage#13561
Solution and modification:
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/build_debian.sh, to install Python library rdbtools into the host.
(2) Updated sonic-buildimage/src/sonic-sairedis/saidump/saidump.cpp, add a new option -r, which updates the rdbtools's output-JSON files' format.
(3) Add a new script file: files/scripts/saidump.sh, to do the below steps
For each ASIC0, such as ASIC0,
#1. Save the Redis data.
sudo sonic-db-cli -n asic$1 SAVE > /dev/null
sonic-net#2. Move dump files to /var/run/redisX/
docker exec database$1 sh -c "mv /var/lib/redis/dump.rdb /var/run/redis$1/"
sonic-net#3. Run rdb command to convert the dump files into JSON files
sudo python /usr/local/bin/rdb --command json /var/run/redis$1/dump.rdb | sudo tee /var/run/redis$1/dump.json > /dev/null
sonic-net#4. Run saidump -r to update the JSON files' format as same as the saidump before. Then we can get the saidump result in standard output.
docker exec syncd$1 sh -c "saidump -r /var/run/redis$1/dump.json"
sonic-net#5. clear
sudo rm -f /var/run/redis$1/dump.rdb
sudo rm -f /var/run/redis$1/dump.json
(4) Update sonic-buildimage/src/sonic-utilities/scripts/generate_dump, replace saidump with saidump.sh
* * [saidump]
• Saidump for DNX-SAI sonic-net/sonic-buildimage#13561
0 commit comments