commit aae155dce7273ff10bde58d7c22de89ff0a596e2
Author: Radek Pazdera <rpazdera(a)redhat.com>
Date: Thu Jul 19 22:26:07 2012 +0200
Parser regression fix: Forgot to do type_cleanup
This patch addresses a regression that was introduced along with the
parser modifications.
NetDevice type classes were not cleaned up properly when the devices
were deconfigured. This might cause problems with running multiple
recipes at once.
Reported-by: Jan Tluka <jtluka(a)redhat.com>
Signed-off-by: Radek Pazdera <rpazdera(a)redhat.com>
NetConfig/NetConfig.py | 12 ++++++++----
NetTest/NetTestSlave.py | 1 +
2 files changed, 9 insertions(+), 4 deletions(-)
---
diff --git a/NetConfig/NetConfig.py b/NetConfig/NetConfig.py
index a0a8e20..3561205 100644
--- a/NetConfig/NetConfig.py
+++ b/NetConfig/NetConfig.py
@@ -62,15 +62,20 @@ class NetConfig:
if not dev_type in self._get_used_types():
NetConfigDeviceType(dev_type).type_init()
- def _types_cleanup(self):
- for dev_type in self._get_used_types():
+ def _type_cleanup(self, dev_type):
+ if not dev_type in self._get_used_types():
NetConfigDeviceType(dev_type).type_cleanup()
def add_interface_config(self, if_id, config):
- self._config[if_id] = config
self._type_init(config["type"])
+ self._config[if_id] = config
self._devnames.assign_name(if_id, self._config)
+ def remove_interface_config(self, if_id):
+ config = self._config[if_id]
+ del self._config[if_id]
+ self._type_cleanup(config["type"])
+
def get_interface_config(self, if_id):
return self._config[if_id]
@@ -95,7 +100,6 @@ class NetConfig:
dev_order = self._get_dev_order()
for dev_id in reversed(dev_order):
self.deconfigure(dev_id)
- self._types_cleanup()
def dump_config(self):
return copy.deepcopy(self._config)
diff --git a/NetTest/NetTestSlave.py b/NetTest/NetTestSlave.py
index 272066d..1746452 100644
--- a/NetTest/NetTestSlave.py
+++ b/NetTest/NetTestSlave.py
@@ -65,6 +65,7 @@ class NetTestSlaveXMLRPC:
def deconfigure_interface(self, if_id):
self._netconfig.deconfigure(if_id)
+ self._netconfig.remove_interface_config(if_id)
return True
def netconfig_dump(self):
Show replies by date