@@ -24,6 +24,17 @@ def get_sonic_version_info_mlnx():
24
24
return {'asic_type' : 'mellanox' }
25
25
26
26
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
+
27
38
class TestMellanoxBufferMigrator (object ):
28
39
@classmethod
29
40
def setup_class (cls ):
@@ -76,16 +87,6 @@ def check_appl_db(self, result, expected):
76
87
for key in keys :
77
88
assert expected .get_all (expected .APPL_DB , key ) == result .get_all (result .APPL_DB , key )
78
89
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
-
89
90
@pytest .mark .parametrize ('scenario' ,
90
91
['empty-config' ,
91
92
'non-default-config' ,
@@ -103,7 +104,7 @@ def test_mellanox_buffer_migrator_negative_cold_reboot(self, scenario):
103
104
dbmgtr = db_migrator .DBMigrator (None )
104
105
dbmgtr .migrate ()
105
106
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 ] )
107
108
self .check_config_db (dbmgtr .configDB , expected_db .cfgdb )
108
109
assert not dbmgtr .mellanox_buffer_migrator .is_buffer_config_default
109
110
@@ -142,7 +143,7 @@ def test_mellanox_buffer_migrator_for_cold_reboot(self, sku_version, topo):
142
143
143
144
# Eventually, the config db should be migrated to the latest version
144
145
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 ] )
146
147
self .check_config_db (dbmgtr .configDB , expected_db .cfgdb )
147
148
assert dbmgtr .mellanox_buffer_migrator .is_buffer_config_default
148
149
@@ -158,7 +159,7 @@ def mellanox_buffer_migrator_warm_reboot_runner(self, input_config_db, input_app
158
159
import db_migrator
159
160
dbmgtr = db_migrator .DBMigrator (None )
160
161
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 ] )
162
163
assert dbmgtr .mellanox_buffer_migrator .is_buffer_config_default == is_buffer_config_default_expected
163
164
self .check_config_db (dbmgtr .configDB , expected_config_db .cfgdb )
164
165
self .check_appl_db (dbmgtr .appDB , expected_appl_db )
@@ -210,8 +211,10 @@ def test_port_autoneg_migrator(self):
210
211
import db_migrator
211
212
dbmgtr = db_migrator .DBMigrator (None )
212
213
dbmgtr .migrate ()
214
+
213
215
dbconnector .dedicated_dbs ['CONFIG_DB' ] = os .path .join (mock_db_path , 'config_db' , 'port-an-expected' )
214
216
expected_db = Db ()
217
+ advance_version_for_expected_database (dbmgtr .configDB , expected_db .cfgdb , 'version_2_0_1' )
215
218
216
219
assert dbmgtr .configDB .get_table ('PORT' ) == expected_db .cfgdb .get_table ('PORT' )
217
220
assert dbmgtr .configDB .get_table ('VERSIONS' ) == expected_db .cfgdb .get_table ('VERSIONS' )
0 commit comments