aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 825a186..84a5139 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 6789d85..6576cef 100644
--- a/os_net_config/tests/test_impl_ifcfg.py
+++ b/os_net_config/tests/test_impl_ifcfg.py
@@ -936,6 +936,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)