summaryrefslogtreecommitdiffstats
path: root/src/lib/Client/Frame.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Client/Frame.py')
-rw-r--r--src/lib/Client/Frame.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/lib/Client/Frame.py b/src/lib/Client/Frame.py
index a297ef389..b14984491 100644
--- a/src/lib/Client/Frame.py
+++ b/src/lib/Client/Frame.py
@@ -60,10 +60,6 @@ class Frame:
continue
for tool in tclass.values():
- for conflict in getattr(tool, 'conflicts', []):
- tclass.pop(conflict)
-
- for tool in tclass.values():
try:
self.tools.append(tool(self.logger, setup, config, self.states))
except Bcfg2.Client.Tools.toolInstantiationError:
@@ -71,6 +67,11 @@ class Frame:
except:
self.logger.error("Failed to instantiate tool %s" % (tool), exc_info=1)
+ for tool in self.tools[:]:
+ for conflict in getattr(tool, 'conflicts', []):
+ [self.tools.remove(item) for item in self.tools \
+ if item.__name__ == conflict]
+
self.logger.info("Loaded tool drivers:")
self.logger.info([tool.__name__ for tool in self.tools])
if not self.setup['dryrun']: