def test_get_nic_type_non_mlx5(self, mock_mlx5_nic_type, mock_kernel_mod): mock_kernel_mod.return_value = 'any_driver' nic_type = netinfo.get_nic_type('iface1') mock_kernel_mod.assert_called_once_with('iface1') mock_mlx5_nic_type.assert_not_called() self.assertEqual(nic_type, 'physical')
def test_get_nic_type_mlx5_virtual(self, mock_mlx5_nic_type, mock_kernel_mod): mock_kernel_mod.return_value = 'mlx5_core' mock_mlx5_nic_type.return_value = 'virtual' nic_type = netinfo.get_nic_type('iface1') mock_kernel_mod.assert_called_once_with('iface1') mock_mlx5_nic_type.assert_called_once_with('iface1') self.assertEqual(nic_type, 'virtual')
def lookup(self, name): """ Populate info using runtime information from /sys/class/net files for active interfaces and for inactive bond and vlan interfaces from cfg files :param name: :return: """ try: # encode name to ensure comparison are in same type. if encode_value(name) in ethtool.get_devices(): info = netinfo.get_interface_info(name) elif cfgInterfacesHelper.is_cfgfileexist(name): type = cfgInterfacesHelper.get_type(name).lower() if type not in IFACE_BOND + [IFACE_VLAN]: raise ValueError device = cfgInterfacesHelper.get_device(name) info = { 'device': device, 'type': cfgInterfacesHelper.get_type(name), 'status': "down", 'ipaddr': "", 'netmask': "", 'macaddr': "", 'module': netinfo.get_interface_kernel_module(name) } if info.get('type') is not 'nic': info['nic_type'] = 'N/A' else: info['nic_type'] = netinfo.get_nic_type(device) else: raise ValueError('unknown interface: %s' % name) info['rdma_enabled'] = netinfo.is_rdma_enabled(name) return info except ValueError: raise NotFoundError("GINNET0014E", {'name': name})
def lookup(self, name): """ Populate info using runtime information from /sys/class/net files for active interfaces and for inactive bond and vlan interfaces from cfg files :param name: :return: """ try: # encode name to ensure comparison are in same type. if encode_value(name) in ethtool.get_devices(): info = netinfo.get_interface_info(name) elif cfgInterfacesHelper.is_cfgfileexist(name): type = cfgInterfacesHelper.get_type(name).lower() if type not in IFACE_BOND + [IFACE_VLAN]: raise ValueError device = cfgInterfacesHelper.get_device(name) info = {'device': device, 'type': cfgInterfacesHelper.get_type(name), 'status': "down", 'ipaddr': "", 'netmask': "", 'macaddr': "", 'module': netinfo.get_interface_kernel_module(name)} if info.get('type') is not 'nic': info['nic_type'] = 'N/A' else: info['nic_type'] = netinfo.get_nic_type(device) else: raise ValueError('unknown interface: %s' % name) info['rdma_enabled'] = netinfo.is_rdma_enabled(name) return info except ValueError: raise NotFoundError("GINNET0014E", {'name': name})