def test_bind_dpdk_interfaces_skip_valid_device(self): def test_execute(name, dummy1, dummy2=None, dummy3=None): if 'ethtool' in name: return None, 'Error' if 'driverctl' in name: return None, None def test_get_dpdk_mac_address(name): return '01:02:03:04:05:06' def test_get_dpdk_map(): return [{ 'name': 'eth1', 'pci_address': '0000:00:09.0', 'mac_address': '01:02:03:04:05:06', 'driver': 'vfio-pci' }] self.stub_out('os_net_config.utils._get_dpdk_map', test_get_dpdk_map) self.stub_out('oslo_concurrency.processutils.execute', test_execute) self.stub_out('os_net_config.utils_get_dpdk_mac_address', test_get_dpdk_mac_address) try: utils.bind_dpdk_interfaces('eth1', 'vfio-pci', False) except utils.OvsDpdkBindException: self.fail("Received OvsDpdkBindException unexpectedly")
def test_bind_dpdk_interfaces_same_driver(self): mocked_open = mock.mock_open(read_data='DRIVER=vfio-pci\n') self.stub_out('os_net_config.utils.open', mocked_open) mocked_logger = mock.Mock() self.stub_out('os_net_config.utils.logger.info', mocked_logger) try: utils.bind_dpdk_interfaces('eth1', 'vfio-pci', False) except utils.OvsDpdkBindException: self.fail("Received OvsDpdkBindException unexpectedly") msg = "Driver (vfio-pci) is already bound to the device (eth1)" mocked_logger.assert_called_with(msg)
def test_bind_dpdk_interfaces(self): def test_execute(name, dummy1, dummy2=None, dummy3=None): if 'ethtool' in name: out = _PCI_OUTPUT return out, None if 'driverctl' in name: return None, None def test_get_dpdk_mac_address(name): return '01:02:03:04:05:06' self.stubs.Set(processutils, 'execute', test_execute) self.stubs.Set(utils, '_get_dpdk_mac_address', test_get_dpdk_mac_address) utils.bind_dpdk_interfaces('nic2', 'vfio-pci', False)
def add_ovs_dpdk_port(self, ovs_dpdk_port): """Add a OvsDpdkPort object to the net config object. :param ovs_dpdk_port: The OvsDpdkPort object to add. """ logger.info('adding ovs dpdk port: %s' % ovs_dpdk_port.name) # DPDK Port will have only one member of type Interface, validation # checks are added at the object creation stage. ifname = ovs_dpdk_port.members[0].name # Bind the dpdk interface utils.bind_dpdk_interfaces(ifname, ovs_dpdk_port.driver, self.noop) data = self._add_common(ovs_dpdk_port) logger.debug('ovs dpdk port data: %s' % data) self.interface_data[ovs_dpdk_port.name] = data
def test_bind_dpdk_interfaces(self): def test_execute(name, dummy1, dummy2=None, dummy3=None): if 'ethtool' in name: out = _PCI_OUTPUT return out, None if 'driverctl' in name: return None, None def test_get_dpdk_mac_address(name): return '01:02:03:04:05:06' self.stubs.Set(processutils, 'execute', test_execute) self.stubs.Set(utils, '_get_dpdk_mac_address', test_get_dpdk_mac_address) try: utils.bind_dpdk_interfaces('nic2', 'vfio-pci', False) except utils.OvsDpdkBindException: self.fail("Received OvsDpdkBindException unexpectedly")
def test_bind_dpdk_interfaces(self): def test_execute(name, dummy1, dummy2=None, dummy3=None): if 'ethtool' in name: out = _PCI_OUTPUT return out, None if 'driverctl' in name: return None, None def test_get_dpdk_mac_address(name): return '01:02:03:04:05:06' self.stub_out('oslo_concurrency.processutils.execute', test_execute) self.stub_out('os_net_config.utils._get_dpdk_mac_address', test_get_dpdk_mac_address) try: utils.bind_dpdk_interfaces('nic2', 'vfio-pci', False) except utils.OvsDpdkBindException: self.fail("Received OvsDpdkBindException unexpectedly")
def add_ovs_dpdk_bond(self, ovs_dpdk_bond): """Add an OvsDPDKBond object to the net config object. :param ovs_dpdk_bond: The OvsBond object to add. """ logger.info('adding ovs dpdk bond: %s' % ovs_dpdk_bond.name) # Bind the dpdk interface for dpdk_port in ovs_dpdk_bond.members: # DPDK Port will have only one member of type Interface, validation # checks are added at the object creation stage. ifname = dpdk_port.members[0].name utils.bind_dpdk_interfaces(ifname, dpdk_port.driver, self.noop) data = self._add_common(ovs_dpdk_bond) logger.debug('ovs dpdk bond data: %s' % data) self.interface_data[ovs_dpdk_bond.name] = data if ovs_dpdk_bond.routes: self._add_routes(ovs_dpdk_bond.name, ovs_dpdk_bond.routes)
def test_bind_dpdk_interfaces_skip_valid_device(self): def test_execute(name, dummy1, dummy2=None, dummy3=None): if 'ethtool' in name: return None, 'Error' if 'driverctl' in name: return None, None def test_get_dpdk_mac_address(name): return '01:02:03:04:05:06' def test_get_dpdk_map(): return [{'name': 'eth1', 'pci_address': '0000:00:09.0', 'mac_address': '01:02:03:04:05:06', 'driver': 'vfio-pci'}] self.stub_out('os_net_config.utils._get_dpdk_map', test_get_dpdk_map) self.stub_out('oslo_concurrency.processutils.execute', test_execute) self.stub_out('os_net_config.utils_get_dpdk_mac_address', test_get_dpdk_mac_address) try: utils.bind_dpdk_interfaces('eth1', 'vfio-pci', False) except utils.OvsDpdkBindException: self.fail("Received OvsDpdkBindException unexpectedly")