def test_get_v2_type_physical_skips_if_no_set_name(self): netcfg = { 'version': 2, 'ethernets': { 'ens3': { 'match': { 'macaddress': '00:11:22:33:44:55' }, } } } self.assertEqual([], net.extract_physdevs(netcfg))
def test_get_v1_type_physical(self): physdevs = [ ['aa:bb:cc:dd:ee:ff', 'eth0', 'virtio', '0x1000'], ['00:11:22:33:44:55', 'ens3', 'e1000', '0x1643'], ['09:87:65:43:21:10', 'ens0p1', 'mlx4_core', '0:0:1000'], ] netcfg = { 'version': 1, 'config': [_mk_v1_phys(*args) for args in physdevs], } self.assertEqual(sorted(physdevs), sorted(net.extract_physdevs(netcfg)))
def test_extract_physdevs_looks_up_devid_v1(self): devid = '0x1000' self.m_devid.return_value = devid physdevs = [ ['aa:bb:cc:dd:ee:ff', 'eth0', 'virtio', None], ] netcfg = { 'version': 1, 'config': [_mk_v1_phys(*args) for args in physdevs], } # insert the driver value for verification physdevs[0][3] = devid self.assertEqual(sorted(physdevs), sorted(net.extract_physdevs(netcfg))) self.m_devid.assert_called_with('eth0')
def test_extract_physdevs_looks_up_driver_v2(self): driver = 'virtio' self.m_driver.return_value = driver physdevs = [ ['aa:bb:cc:dd:ee:ff', 'eth0', None, '0x1000'], ] netcfg = { 'version': 2, 'ethernets': {args[1]: _mk_v2_phys(*args) for args in physdevs}, } # insert the driver value for verification physdevs[0][2] = driver self.assertEqual(sorted(physdevs), sorted(net.extract_physdevs(netcfg))) self.m_driver.assert_called_with('eth0')
def extract_physdevs(self, netcfg: NetworkConfig) -> list: return net.extract_physdevs(netcfg)
def test_runtime_error_on_unknown_netcfg_version(self): with self.assertRaises(RuntimeError): net.extract_physdevs({'version': 3, 'awesome_config': []})