issue:37307 Add support for changes in pfc output in onyx 3.6.6000 (#37651)
* issue:37307 Add support for changes in pfc output in onyx 3.6.6000 Signed-off-by: Samer Deeb <samerd@mellanox.com>pull/4420/head
parent
7324f49829
commit
9dfb665e43
|
@ -140,12 +140,20 @@ class OnyxPfcInterfaceModule(BaseOnyxModule):
|
||||||
|
|
||||||
def load_current_config(self):
|
def load_current_config(self):
|
||||||
# called in base class in run function
|
# called in base class in run function
|
||||||
|
self._os_version = self._get_os_version()
|
||||||
self._current_config = dict()
|
self._current_config = dict()
|
||||||
pfc_config = self._get_pfc_config()
|
pfc_config = self._get_pfc_config()
|
||||||
if not pfc_config:
|
if not pfc_config:
|
||||||
return
|
return
|
||||||
if 'Table 2' in pfc_config:
|
if self._os_version >= self.ONYX_API_VERSION:
|
||||||
pfc_config = pfc_config['Table 2']
|
if len(pfc_config) >= 3:
|
||||||
|
pfc_config = pfc_config[2]
|
||||||
|
else:
|
||||||
|
pfc_config = dict()
|
||||||
|
else:
|
||||||
|
if 'Table 2' in pfc_config:
|
||||||
|
pfc_config = pfc_config['Table 2']
|
||||||
|
|
||||||
for if_name, if_pfc_data in iteritems(pfc_config):
|
for if_name, if_pfc_data in iteritems(pfc_config):
|
||||||
match = self.PFC_IF_REGEX.match(if_name)
|
match = self.PFC_IF_REGEX.match(if_name)
|
||||||
if not match:
|
if not match:
|
||||||
|
|
|
@ -27,11 +27,15 @@ class TestOnyxPfcInterfaceModule(TestOnyxModule):
|
||||||
self.mock_load_config = patch(
|
self.mock_load_config = patch(
|
||||||
'ansible.module_utils.network.onyx.onyx.load_config')
|
'ansible.module_utils.network.onyx.onyx.load_config')
|
||||||
self.load_config = self.mock_load_config.start()
|
self.load_config = self.mock_load_config.start()
|
||||||
|
self.mock_get_version = patch.object(
|
||||||
|
onyx_pfc_interface.OnyxPfcInterfaceModule, "_get_os_version")
|
||||||
|
self.get_version = self.mock_get_version.start()
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
super(TestOnyxPfcInterfaceModule, self).tearDown()
|
super(TestOnyxPfcInterfaceModule, self).tearDown()
|
||||||
self.mock_get_config.stop()
|
self.mock_get_config.stop()
|
||||||
self.mock_load_config.stop()
|
self.mock_load_config.stop()
|
||||||
|
self.mock_get_version.stop()
|
||||||
|
|
||||||
def load_fixtures(self, commands=None, transport='cli'):
|
def load_fixtures(self, commands=None, transport='cli'):
|
||||||
if self._pfc_enabled:
|
if self._pfc_enabled:
|
||||||
|
@ -42,6 +46,7 @@ class TestOnyxPfcInterfaceModule(TestOnyxModule):
|
||||||
|
|
||||||
self.get_config.return_value = load_fixture(config_file)
|
self.get_config.return_value = load_fixture(config_file)
|
||||||
self.load_config.return_value = None
|
self.load_config.return_value = None
|
||||||
|
self.get_version.return_value = "3.6.5000"
|
||||||
|
|
||||||
def _test_pfc_if(self, if_name, enabled, changed, commands):
|
def _test_pfc_if(self, if_name, enabled, changed, commands):
|
||||||
state = 'enabled' if enabled else 'disabled'
|
state = 'enabled' if enabled else 'disabled'
|
||||||
|
|
Loading…
Reference in New Issue