[svn] commit: r1186 - /trunk/src/lib/python/isc/config/cfgmgr.py
BIND 10 source code commits
bind10-changes at lists.isc.org
Sun Mar 7 22:52:34 UTC 2010
Author: jelte
Date: Sun Mar 7 22:52:34 2010
New Revision: 1186
Log:
need deepcopy() instead of shallow copy() for reverting to older data when new config is not accepted
Modified:
trunk/src/lib/python/isc/config/cfgmgr.py
Modified: trunk/src/lib/python/isc/config/cfgmgr.py
==============================================================================
--- trunk/src/lib/python/isc/config/cfgmgr.py (original)
+++ trunk/src/lib/python/isc/config/cfgmgr.py Sun Mar 7 22:52:34 2010
@@ -24,6 +24,7 @@
import ast
import pprint
import os
+import copy
from isc.cc import data
class ConfigManagerDataReadError(Exception):
@@ -237,6 +238,7 @@
return isc.config.ccsession.create_answer(1, "Wrong number of arguments")
if len(cmd) == 2:
# todo: use api (and check the data against the definition?)
+ old_data = copy.deepcopy(self.config.data)
module_name = cmd[0]
conf_part = data.find_no_exc(self.config.data, module_name)
if conf_part:
@@ -256,9 +258,10 @@
rcode, val = isc.config.ccsession.parse_answer(answer)
if rcode == 0:
self.write_config()
+ else:
+ self.config.data = old_data
elif len(cmd) == 1:
- # todo: use api (and check the data against the definition?)
- old_data = self.config.data.copy()
+ old_data = copy.deepcopy(self.config.data)
data.merge(self.config.data, cmd[0])
# send out changed info
got_error = False
More information about the bind10-changes
mailing list