aboutsummaryrefslogtreecommitdiffstats
path: root/os_net_config/tests/test_utils.py
diff options
context:
space:
mode:
authorSaravanan KR <skramaja@redhat.com>2016-09-14 15:55:26 +0530
committerSaravanan KR <skramaja@redhat.com>2016-09-20 11:29:50 +0530
commite2c2f29fd171a688cc5bc6a73cdf7fec38aedd67 (patch)
treecaefbd9da1142bb0cb93c4b8cbd3d93d5dfbbd49 /os_net_config/tests/test_utils.py
parentc82cc955983065dba7b4d60858082150834ac356 (diff)
Add mac address to the DPDK mapping file
When using mapping file with mac address, mapping logic will try to fetch the mac address of the interface, which will fail. Storing the mac address also in the DPDK mapping file so that we can satisfy mapping logic. Closes-Bug: #1619330 Change-Id: I92ba7f589c8d848feb083f07c3f937b50aca388e
Diffstat (limited to 'os_net_config/tests/test_utils.py')
-rw-r--r--os_net_config/tests/test_utils.py49
1 files changed, 33 insertions, 16 deletions
diff --git a/os_net_config/tests/test_utils.py b/os_net_config/tests/test_utils.py
index a2d5cc4..b766384 100644
--- a/os_net_config/tests/test_utils.py
+++ b/os_net_config/tests/test_utils.py
@@ -109,7 +109,13 @@ class TestUtils(base.TestCase):
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 test_bind_dpdk_interfaces_fail(self):
@@ -119,34 +125,38 @@ class TestUtils(base.TestCase):
return out, None
if 'driverctl' in name:
return None, 'Error'
+
+ 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)
+
self.assertRaises(utils.OvsDpdkBindException,
- utils.bind_dpdk_interfaces, 'nic2', 'vfio-pci',
+ utils.bind_dpdk_interfaces, 'eth1', 'vfio-pci',
False)
- def test_update_dpdk_map_new(self):
- utils._update_dpdk_map('eth1', '0000:03:00.0', 'vfio-pci')
- try:
- contents = utils.get_file_data(utils._DPDK_MAPPING_FILE)
- except IOError:
- pass
+ def test__update_dpdk_map_new(self):
+ utils._update_dpdk_map('eth1', '0000:03:00.0', '01:02:03:04:05:06',
+ 'vfio-pci')
+ contents = utils.get_file_data(utils._DPDK_MAPPING_FILE)
dpdk_map = yaml.load(contents) if contents else []
self.assertEqual(1, len(dpdk_map))
dpdk_test = [{'name': 'eth1', 'pci_address': '0000:03:00.0',
+ 'mac_address': '01:02:03:04:05:06',
'driver': 'vfio-pci'}]
self.assertListEqual(dpdk_test, dpdk_map)
def test_update_dpdk_map_exist(self):
dpdk_test = [{'name': 'eth1', 'pci_address': '0000:03:00.0',
+ 'mac_address': '01:02:03:04:05:06',
'driver': 'vfio-pci'}]
utils.write_yaml_config(utils._DPDK_MAPPING_FILE, dpdk_test)
- utils._update_dpdk_map('eth1', '0000:03:00.0', 'vfio-pci')
- try:
- contents = utils.get_file_data(utils._DPDK_MAPPING_FILE)
- except IOError:
- pass
+ utils._update_dpdk_map('eth1', '0000:03:00.0', '01:02:03:04:05:06',
+ 'vfio-pci')
+ contents = utils.get_file_data(utils._DPDK_MAPPING_FILE)
dpdk_map = yaml.load(contents) if contents else []
self.assertEqual(1, len(dpdk_map))
@@ -158,8 +168,10 @@ class TestUtils(base.TestCase):
utils.write_yaml_config(utils._DPDK_MAPPING_FILE, dpdk_test)
dpdk_test = [{'name': 'eth1', 'pci_address': '0000:03:00.0',
- 'driver': 'igb_uio'}]
- utils._update_dpdk_map('eth1', '0000:03:00.0', 'igb_uio')
+ 'mac_address': '01:02:03:04:05:06',
+ 'driver': 'vfio-pci'}]
+ utils._update_dpdk_map('eth1', '0000:03:00.0', '01:02:03:04:05:06',
+ 'vfio-pci')
try:
contents = utils.get_file_data(utils._DPDK_MAPPING_FILE)
except IOError:
@@ -183,8 +195,10 @@ class TestUtils(base.TestCase):
with open(os.path.join(tmpdir, nic), 'w') as f:
f.write(nic)
- utils._update_dpdk_map('eth1', '0000:03:00.0', 'igb_uio')
- utils._update_dpdk_map('p3p1', '0000:04:00.0', 'igb_uio')
+ utils._update_dpdk_map('eth1', '0000:03:00.0', '01:02:03:04:05:06',
+ 'vfio-pci')
+ utils._update_dpdk_map('p3p1', '0000:04:00.0', '01:02:03:04:05:07',
+ 'igb_uio')
nics = utils.ordered_active_nics()
@@ -200,3 +214,6 @@ class TestUtils(base.TestCase):
self.assertEqual('z1', nics[9])
shutil.rmtree(tmpdir)
+
+ def test_interface_mac_raises(self):
+ self.assertRaises(IOError, utils.interface_mac, 'ens20f2p3')