summaryrefslogtreecommitdiffstats
path: root/os_net_config
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2017-02-14 08:07:22 +0000
committerGerrit Code Review <review@openstack.org>2017-02-14 08:07:22 +0000
commit3a113c0c0c40b84efbc57b6f3681e63030ed1208 (patch)
tree756e475bb1e4188744c20a80294a06590c8d75b3 /os_net_config
parenta08a85cc40cb0584e0fda7c9361f4b922115e908 (diff)
parentd1db332350a894e48a74a3b6b658d3d3c8d13c4a (diff)
Merge "Network service is failing with DPDK"
Diffstat (limited to 'os_net_config')
-rw-r--r--os_net_config/impl_ifcfg.py11
-rw-r--r--os_net_config/tests/test_impl_ifcfg.py7
2 files changed, 18 insertions, 0 deletions
diff --git a/os_net_config/impl_ifcfg.py b/os_net_config/impl_ifcfg.py
index 6d3c681..0a4f817 100644
--- a/os_net_config/impl_ifcfg.py
+++ b/os_net_config/impl_ifcfg.py
@@ -34,6 +34,13 @@ def ifcfg_config_path(name):
return "/etc/sysconfig/network-scripts/ifcfg-%s" % name
+def remove_ifcfg_config(ifname):
+ if re.match('[\w-]+$', ifname):
+ ifcfg_file = ifcfg_config_path(ifname)
+ if os.path.exists(ifcfg_file):
+ os.remove(ifcfg_file)
+
+
# NOTE(dprince): added here for testability
def bridge_config_path(name):
return ifcfg_config_path(name)
@@ -587,6 +594,8 @@ class IfcfgNetConfig(os_net_config.NetConfig):
# Bind the dpdk interface
utils.bind_dpdk_interfaces(ifname, ovs_dpdk_port.driver, self.noop)
+ if not self.noop:
+ remove_ifcfg_config(ifname)
data = self._add_common(ovs_dpdk_port)
logger.debug('ovs dpdk port data: %s' % data)
@@ -605,6 +614,8 @@ class IfcfgNetConfig(os_net_config.NetConfig):
# checks are added at the object creation stage.
ifname = dpdk_port.members[0].name
utils.bind_dpdk_interfaces(ifname, dpdk_port.driver, self.noop)
+ if not self.noop:
+ remove_ifcfg_config(ifname)
data = self._add_common(ovs_dpdk_bond)
logger.debug('ovs dpdk bond data: %s' % data)
diff --git a/os_net_config/tests/test_impl_ifcfg.py b/os_net_config/tests/test_impl_ifcfg.py
index 9621b8c..78d19cb 100644
--- a/os_net_config/tests/test_impl_ifcfg.py
+++ b/os_net_config/tests/test_impl_ifcfg.py
@@ -935,6 +935,13 @@ class TestIfcfgNetConfigApply(base.TestCase):
return self.temp_ifcfg_file.name
self.stubs.Set(impl_ifcfg, 'ifcfg_config_path', test_ifcfg_path)
+ def test_remove_ifcfg_config(name):
+ ifcfg_file = self.temp_ifcfg_file.name
+ if os.path.exists(ifcfg_file):
+ os.remove(ifcfg_file)
+ self.stubs.Set(impl_ifcfg, 'remove_ifcfg_config',
+ test_remove_ifcfg_config)
+
def test_routes_path(name):
return self.temp_route_file.name
self.stubs.Set(impl_ifcfg, 'route_config_path', test_routes_path)