mirror of
				https://github.com/Telecominfraproject/ols-nos.git
				synced 2025-10-31 18:17:52 +00:00 
			
		
		
		
	 51ab39fcb2
			
		
	
	51ab39fcb2
	
	
	
		
			
			Features may be enabled/disabled for the same topology based on run-time configuration. This PR adds the ability to enable/disable feature based on config db data. signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
		
			
				
	
	
		
			14 lines
		
	
	
		
			511 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			14 lines
		
	
	
		
			511 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env python3
 | |
| 
 | |
| import json
 | |
| import subprocess
 | |
| 
 | |
| INIT_CFG_FILE_PATH = '/etc/sonic/init_cfg.json'
 | |
| 
 | |
| with open(INIT_CFG_FILE_PATH) as init_cfg_file:
 | |
|     init_cfg = json.load(init_cfg_file)
 | |
|     if 'FEATURE' in init_cfg:
 | |
|         for feature_name, feature_props in init_cfg['FEATURE'].items():
 | |
|             if 'state' in feature_props and feature_props['state'] != 'enabled' and feature_props['state'] != 'always_enabled':
 | |
|                 subprocess.run(['systemctl', 'mask', '{}.service'.format(feature_name)])
 |