mirror of
				https://github.com/Telecominfraproject/ols-nos.git
				synced 2025-10-30 17:48:09 +00:00 
			
		
		
		
	[sonic-cfggen]: Optimize template rendering and database access. (#17740)
#### Why I did it * Improved switch init time ### How I did it * Replaced: `sonic-cfggen` -> `sonic-db-cli` * Aggregated template list for `sonic-cfggen` #### How to verify it 1. Run `warm-reboot`
This commit is contained in:
		| @@ -63,8 +63,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 | ||||||
| @@ -81,8 +82,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
	 Nazarii Hnydyn
					Nazarii Hnydyn