[sonic-cfggen]: Optimize template rendering and database access. (#17650)
Signed-off-by: Nazarii Hnydyn nazariig@nvidia.com Why I did it Improved switch init time Work item tracking N/A How I did it Replaced: sonic-cfggen -> sonic-db-cli Aggregated template list for sonic-cfggen How to verify it Run warm-reboot
This commit is contained in:
parent
44bc291ba5
commit
a3b5ea93eb
@ -51,8 +51,9 @@ if [[ $DATABASE_TYPE == "chassisdb" ]]; then
|
|||||||
echo "Init docker-database-chassis..."
|
echo "Init docker-database-chassis..."
|
||||||
update_chassisdb_config -j $db_cfg_file_tmp -k -p $chassis_db_port
|
update_chassisdb_config -j $db_cfg_file_tmp -k -p $chassis_db_port
|
||||||
# generate all redis server supervisord configuration file
|
# generate all redis server supervisord configuration file
|
||||||
sonic-cfggen -j $db_cfg_file_tmp -t /usr/share/sonic/templates/supervisord.conf.j2 > /etc/supervisor/conf.d/supervisord.conf
|
sonic-cfggen -j $db_cfg_file_tmp \
|
||||||
sonic-cfggen -j $db_cfg_file_tmp -t /usr/share/sonic/templates/critical_processes.j2 > /etc/supervisor/critical_processes
|
-t /usr/share/sonic/templates/supervisord.conf.j2,/etc/supervisor/conf.d/supervisord.conf \
|
||||||
|
-t /usr/share/sonic/templates/critical_processes.j2,/etc/supervisor/critical_processes
|
||||||
rm $db_cfg_file_tmp
|
rm $db_cfg_file_tmp
|
||||||
exec /usr/local/bin/supervisord
|
exec /usr/local/bin/supervisord
|
||||||
exit 0
|
exit 0
|
||||||
@ -69,8 +70,9 @@ then
|
|||||||
fi
|
fi
|
||||||
# delete chassisdb config to generate supervisord config
|
# delete chassisdb config to generate supervisord config
|
||||||
update_chassisdb_config -j $db_cfg_file_tmp -d
|
update_chassisdb_config -j $db_cfg_file_tmp -d
|
||||||
sonic-cfggen -j $db_cfg_file_tmp -t /usr/share/sonic/templates/supervisord.conf.j2 > /etc/supervisor/conf.d/supervisord.conf
|
sonic-cfggen -j $db_cfg_file_tmp \
|
||||||
sonic-cfggen -j $db_cfg_file_tmp -t /usr/share/sonic/templates/critical_processes.j2 > /etc/supervisor/critical_processes
|
-t /usr/share/sonic/templates/supervisord.conf.j2,/etc/supervisor/conf.d/supervisord.conf \
|
||||||
|
-t /usr/share/sonic/templates/critical_processes.j2,/etc/supervisor/critical_processes
|
||||||
|
|
||||||
if [[ "$start_chassis_db" != "1" ]] && [[ -z "$chassis_db_address" ]]; then
|
if [[ "$start_chassis_db" != "1" ]] && [[ -z "$chassis_db_address" ]]; then
|
||||||
cp $db_cfg_file_tmp $db_cfg_file
|
cp $db_cfg_file_tmp $db_cfg_file
|
||||||
|
@ -23,8 +23,8 @@ CFGGEN_PARAMS=" \
|
|||||||
-t /usr/share/sonic/templates/wait_for_link.sh.j2,/usr/bin/wait_for_link.sh \
|
-t /usr/share/sonic/templates/wait_for_link.sh.j2,/usr/bin/wait_for_link.sh \
|
||||||
"
|
"
|
||||||
VLAN=$(sonic-cfggen $CFGGEN_PARAMS)
|
VLAN=$(sonic-cfggen $CFGGEN_PARAMS)
|
||||||
SUBTYPE=$(sonic-cfggen -d -v "DEVICE_METADATA['localhost']['subtype']")
|
SUBTYPE=$(sonic-db-cli -s CONFIG_DB HGET 'DEVICE_METADATA|localhost' 'subtype')
|
||||||
SWITCH_TYPE=${SWITCH_TYPE:-`sonic-cfggen -d -v "DEVICE_METADATA['localhost']['switch_type']"`}
|
SWITCH_TYPE=${SWITCH_TYPE:-`sonic-db-cli -s CONFIG_DB HGET 'DEVICE_METADATA|localhost' 'switch_type'`}
|
||||||
chmod +x /usr/bin/wait_for_link.sh
|
chmod +x /usr/bin/wait_for_link.sh
|
||||||
|
|
||||||
# Executed platform specific initialization tasks.
|
# Executed platform specific initialization tasks.
|
||||||
|
Reference in New Issue
Block a user