summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Weiß <holger@zedat.fu-berlin.de>2011-09-07 12:11:23 +0200
committerHolger Weiß <holger@zedat.fu-berlin.de>2011-09-07 12:11:23 +0200
commit88c11f4b6f43b4be9eb4de6ef3965ecac9033ac4 (patch)
treec8708508517e2dfb8e926d257007240370cb8973
parent4030408c08e53b0d008afba782390a450c5bed48 (diff)
downloadbcfg2-88c11f4b6f43b4be9eb4de6ef3965ecac9033ac4.tar.gz
bcfg2-88c11f4b6f43b4be9eb4de6ef3965ecac9033ac4.tar.bz2
bcfg2-88c11f4b6f43b4be9eb4de6ef3965ecac9033ac4.zip
Mark entry as modified only if Install() succeeded
The client now makes sure that an entry won't be reported as modified if the Install() method which handled the entry returned False.
-rw-r--r--src/lib/Client/Frame.py3
-rw-r--r--src/lib/Client/Tools/__init__.py3
2 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/Client/Frame.py b/src/lib/Client/Frame.py
index dec3b42c2..5eac86d18 100644
--- a/src/lib/Client/Frame.py
+++ b/src/lib/Client/Frame.py
@@ -206,7 +206,8 @@ class Frame:
continue
try:
self.states[cfile] = tl[0].InstallPath(cfile)
- tl[0].modified.append(cfile)
+ if self.states[cfile]:
+ tl[0].modified.append(cfile)
except:
self.logger.error("Unexpected tool failure",
exc_info=1)
diff --git a/src/lib/Client/Tools/__init__.py b/src/lib/Client/Tools/__init__.py
index 88609c2f6..9d0c69892 100644
--- a/src/lib/Client/Tools/__init__.py
+++ b/src/lib/Client/Tools/__init__.py
@@ -110,7 +110,8 @@ class Tool:
try:
func = getattr(self, "Install%s" % (entry.tag))
states[entry] = func(entry)
- self.modified.append(entry)
+ if states[entry]:
+ self.modified.append(entry)
except:
self.logger.error("Unexpected failure of install method for entry type %s" \
% (entry.tag), exc_info=1)