6
6
7
7
from click .testing import CliRunner
8
8
from unittest import mock
9
+ from generic_config_updater .gu_common import HOST_NAMESPACE
9
10
from utilities_common .db import Db
10
11
from utilities_common .general import load_module_from_source
11
12
from minigraph import minigraph_encoder
@@ -345,6 +346,9 @@ def read_json_file_side_effect(filename):
345
346
orig_sysinfo [ns ] = {}
346
347
orig_sysinfo [ns ]['platform' ] = platform
347
348
orig_sysinfo [ns ]['mac' ] = mac
349
+ if ns != config .DEFAULT_NAMESPACE and ns != HOST_NAMESPACE :
350
+ asic_id = config_db .get_config ()['DEVICE_METADATA' ]['localhost' ].get ('asic_id' )
351
+ orig_sysinfo [ns ]['asic_id' ] = asic_id
348
352
349
353
with mock .patch ('config.main.read_json_file' ,
350
354
mock .MagicMock (side_effect = read_json_file_side_effect )):
@@ -358,6 +362,9 @@ def read_json_file_side_effect(filename):
358
362
mac = config_db .get_config ()['DEVICE_METADATA' ]['localhost' ].get ('mac' )
359
363
assert platform == orig_sysinfo [ns ]['platform' ]
360
364
assert mac == orig_sysinfo [ns ]['mac' ]
365
+ if ns != config .DEFAULT_NAMESPACE and ns != HOST_NAMESPACE :
366
+ asic_id = config_db .get_config ()['DEVICE_METADATA' ]['localhost' ].get ('asic_id' )
367
+ assert asic_id == orig_sysinfo [ns ]['asic_id' ]
361
368
362
369
def test_device_metadata_gen_sysinfo (self ):
363
370
def read_json_file_side_effect (filename ):
@@ -372,14 +379,18 @@ def read_json_file_side_effect(filename):
372
379
metadata = config_db .get_config ()['DEVICE_METADATA' ]['localhost' ]
373
380
metadata .pop ('platform' , None )
374
381
metadata .pop ('mac' , None )
382
+ if ns != config .DEFAULT_NAMESPACE and ns != HOST_NAMESPACE :
383
+ metadata .pop ('asic_id' , None )
375
384
config_db .set_entry ('DEVICE_METADATA' , 'localhost' , metadata )
376
385
377
386
with mock .patch ('config.main.read_json_file' ,
378
387
mock .MagicMock (side_effect = read_json_file_side_effect )),\
379
388
mock .patch ('sonic_py_common.device_info.get_platform' ,
380
389
return_value = "multi_asic" ),\
381
390
mock .patch ('sonic_py_common.device_info.get_system_mac' ,
382
- return_value = "11:22:33:44:55:66\n " ):
391
+ return_value = "11:22:33:44:55:66\n " ),\
392
+ mock .patch ('sonic_py_common.multi_asic.get_asic_device_id' ,
393
+ return_value = "06:00:00\n " ):
383
394
runner = CliRunner ()
384
395
result = runner .invoke (config .config .commands ["override-config-table" ],
385
396
['golden_config_db.json' ], obj = db )
@@ -390,6 +401,9 @@ def read_json_file_side_effect(filename):
390
401
mac = config_db .get_config ()['DEVICE_METADATA' ]['localhost' ].get ('mac' )
391
402
assert platform == "multi_asic"
392
403
assert mac == "11:22:33:44:55:66"
404
+ if ns != config .DEFAULT_NAMESPACE and ns != HOST_NAMESPACE :
405
+ asic_id = config_db .get_config ()['DEVICE_METADATA' ]['localhost' ].get ('asic_id' )
406
+ assert asic_id == "06:00:00"
393
407
394
408
def test_masic_missig_localhost_override (self ):
395
409
def read_json_file_side_effect (filename ):
0 commit comments