@@ -24,6 +24,17 @@ def get_sonic_version_info_mlnx():
2424 return {'asic_type' : 'mellanox' }
2525
2626
27+ def advance_version_for_expected_database (migrated_db , expected_db , last_interested_version ):
28+ # In case there are new db versions greater than the latest one that mellanox buffer migrator is interested,
29+ # we just advance the database version in the expected database to make the test pass
30+ expected_dbversion = expected_db .get_entry ('VERSIONS' , 'DATABASE' )
31+ dbmgtr_dbversion = migrated_db .get_entry ('VERSIONS' , 'DATABASE' )
32+ if expected_dbversion and dbmgtr_dbversion :
33+ if expected_dbversion ['VERSION' ] == last_interested_version and dbmgtr_dbversion ['VERSION' ] > expected_dbversion ['VERSION' ]:
34+ expected_dbversion ['VERSION' ] = dbmgtr_dbversion ['VERSION' ]
35+ expected_db .set_entry ('VERSIONS' , 'DATABASE' , expected_dbversion )
36+
37+
2738class TestMellanoxBufferMigrator (object ):
2839 @classmethod
2940 def setup_class (cls ):
@@ -76,16 +87,6 @@ def check_appl_db(self, result, expected):
7687 for key in keys :
7788 assert expected .get_all (expected .APPL_DB , key ) == result .get_all (result .APPL_DB , key )
7889
79- def advance_version_for_expected_database (self , migrated_db , expected_db ):
80- # In case there are new db versions greater than the latest one that mellanox buffer migrator is interested,
81- # we just advance the database version in the expected database to make the test pass
82- expected_dbversion = expected_db .get_entry ('VERSIONS' , 'DATABASE' )
83- dbmgtr_dbversion = migrated_db .get_entry ('VERSIONS' , 'DATABASE' )
84- if expected_dbversion and dbmgtr_dbversion :
85- if expected_dbversion ['VERSION' ] == self .version_list [- 1 ] and dbmgtr_dbversion ['VERSION' ] > expected_dbversion ['VERSION' ]:
86- expected_dbversion ['VERSION' ] = dbmgtr_dbversion ['VERSION' ]
87- expected_db .set_entry ('VERSIONS' , 'DATABASE' , expected_dbversion )
88-
8990 @pytest .mark .parametrize ('scenario' ,
9091 ['empty-config' ,
9192 'non-default-config' ,
@@ -103,7 +104,7 @@ def test_mellanox_buffer_migrator_negative_cold_reboot(self, scenario):
103104 dbmgtr = db_migrator .DBMigrator (None )
104105 dbmgtr .migrate ()
105106 expected_db = self .mock_dedicated_config_db (db_after_migrate )
106- self . advance_version_for_expected_database (dbmgtr .configDB , expected_db .cfgdb )
107+ advance_version_for_expected_database (dbmgtr .configDB , expected_db .cfgdb , self . version_list [ - 1 ] )
107108 self .check_config_db (dbmgtr .configDB , expected_db .cfgdb )
108109 assert not dbmgtr .mellanox_buffer_migrator .is_buffer_config_default
109110
@@ -142,7 +143,7 @@ def test_mellanox_buffer_migrator_for_cold_reboot(self, sku_version, topo):
142143
143144 # Eventually, the config db should be migrated to the latest version
144145 expected_db = self .mock_dedicated_config_db (self .make_db_name_by_sku_topo_version (sku , topo , self .version_list [- 1 ]))
145- self . advance_version_for_expected_database (dbmgtr .configDB , expected_db .cfgdb )
146+ advance_version_for_expected_database (dbmgtr .configDB , expected_db .cfgdb , self . version_list [ - 1 ] )
146147 self .check_config_db (dbmgtr .configDB , expected_db .cfgdb )
147148 assert dbmgtr .mellanox_buffer_migrator .is_buffer_config_default
148149
@@ -158,7 +159,7 @@ def mellanox_buffer_migrator_warm_reboot_runner(self, input_config_db, input_app
158159 import db_migrator
159160 dbmgtr = db_migrator .DBMigrator (None )
160161 dbmgtr .migrate ()
161- self . advance_version_for_expected_database (dbmgtr .configDB , expected_config_db .cfgdb )
162+ advance_version_for_expected_database (dbmgtr .configDB , expected_config_db .cfgdb , self . version_list [ - 1 ] )
162163 assert dbmgtr .mellanox_buffer_migrator .is_buffer_config_default == is_buffer_config_default_expected
163164 self .check_config_db (dbmgtr .configDB , expected_config_db .cfgdb )
164165 self .check_appl_db (dbmgtr .appDB , expected_appl_db )
@@ -210,8 +211,10 @@ def test_port_autoneg_migrator(self):
210211 import db_migrator
211212 dbmgtr = db_migrator .DBMigrator (None )
212213 dbmgtr .migrate ()
214+
213215 dbconnector .dedicated_dbs ['CONFIG_DB' ] = os .path .join (mock_db_path , 'config_db' , 'port-an-expected' )
214216 expected_db = Db ()
217+ advance_version_for_expected_database (dbmgtr .configDB , expected_db .cfgdb , 'version_2_0_1' )
215218
216219 assert dbmgtr .configDB .get_table ('PORT' ) == expected_db .cfgdb .get_table ('PORT' )
217220 assert dbmgtr .configDB .get_table ('VERSIONS' ) == expected_db .cfgdb .get_table ('VERSIONS' )
0 commit comments