@@ -1374,17 +1374,21 @@ def multiasic_write_to_db(filename, load_sysinfo):
1374
1374
1375
1375
1376
1376
def config_file_yang_validation (filename ):
1377
- config_to_check = read_json_file (filename )
1377
+ config = read_json_file (filename )
1378
1378
sy = sonic_yang .SonicYang (YANG_DIR )
1379
1379
sy .loadYangModel ()
1380
- try :
1381
- sy .loadData (configdbJson = config_to_check )
1382
- sy .validate_data_tree ()
1383
- except sonic_yang .SonicYangException as e :
1384
- click .secho ("{} fails YANG validation! Error: {}" .format (filename , str (e )),
1385
- fg = 'magenta' )
1386
- raise click .Abort ()
1387
-
1380
+ asic_list = [HOST_NAMESPACE ]
1381
+ if multi_asic .is_multi_asic ():
1382
+ asic_list .extend (multi_asic .get_namespace_list ())
1383
+ for scope in asic_list :
1384
+ config_to_check = config .get (scope ) if multi_asic .is_multi_asic () else config
1385
+ try :
1386
+ sy .loadData (configdbJson = config_to_check )
1387
+ sy .validate_data_tree ()
1388
+ except sonic_yang .SonicYangException as e :
1389
+ click .secho ("{} fails YANG validation! Error: {}" .format (filename , str (e )),
1390
+ fg = 'magenta' )
1391
+ raise click .Abort ()
1388
1392
1389
1393
# This is our main entrypoint - the main 'config' command
1390
1394
@click .group (cls = clicommon .AbbreviationGroup , context_settings = CONTEXT_SETTINGS )
@@ -2019,21 +2023,18 @@ def load_minigraph(db, no_service_restart, traffic_shift_away, override_config,
2019
2023
fg = 'magenta' )
2020
2024
raise click .Abort ()
2021
2025
2022
- config_to_check = read_json_file (golden_config_path )
2023
- if multi_asic .is_multi_asic ():
2024
- # Multiasic has not 100% fully validated. Thus pass here.
2025
- pass
2026
- else :
2027
- config_file_yang_validation (golden_config_path )
2026
+ config_file_yang_validation (golden_config_path )
2028
2027
2028
+ config_to_check = read_json_file (golden_config_path )
2029
2029
# Dependency check golden config json
2030
+ asic_list = [HOST_NAMESPACE ]
2030
2031
if multi_asic .is_multi_asic ():
2031
- host_config = config_to_check . get ( 'localhost' , {} )
2032
- else :
2033
- host_config = config_to_check
2034
- table_hard_dependency_check (host_config )
2032
+ asic_list . extend ( multi_asic . get_namespace_list () )
2033
+ for scope in asic_list :
2034
+ host_config = config_to_check . get ( scope ) if multi_asic . is_multi_asic () else config_to_check
2035
+ table_hard_dependency_check (host_config )
2035
2036
2036
- #Stop services before config push
2037
+ # Stop services before config push
2037
2038
if not no_service_restart :
2038
2039
log .log_notice ("'load_minigraph' stopping services..." )
2039
2040
_stop_services ()
0 commit comments