diff options
Diffstat (limited to 'src/lib/Client')
-rw-r--r-- | src/lib/Client/Frame.py | 10 | ||||
-rw-r--r-- | src/lib/Client/Tools/__init__.py | 1 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/lib/Client/Frame.py b/src/lib/Client/Frame.py index 17bbf2417..b62e5a5d8 100644 --- a/src/lib/Client/Frame.py +++ b/src/lib/Client/Frame.py @@ -47,9 +47,15 @@ class Frame: self.removal = [] self.logger = logging.getLogger("Bcfg2.Client.Frame") if self.setup['drivers']: - tools = self.setup['drivers'].split(',') + tools = [] + for tcandidate in self.setup['drivers'].split(','): + if tcandidate not in Bcfg2.Client.Tools.drivers: + self.logger.error("Tool driver %s is not available"\ + % (tcandidate)) + else: + tools.append(tcandidate) else: - tools = Bcfg2.Client.Tools.drivers[:] + tools = Bcfg2.Client.Tools.default[:] tclass = {} for tool in tools: tool_class = "Bcfg2.Client.Tools.%s" % tool diff --git a/src/lib/Client/Tools/__init__.py b/src/lib/Client/Tools/__init__.py index 21b5a4a00..fd998f271 100644 --- a/src/lib/Client/Tools/__init__.py +++ b/src/lib/Client/Tools/__init__.py @@ -5,6 +5,7 @@ __all__ = ["Action", "APT", "Blast", "Chkconfig", "DebInit", "Encap", "launchd", "Portage", "POSIX", "RPM", "RcUpdate", "SMF", "SYSV", "Yum"] drivers = __all__[:] +default = drivers[:] import os, popen2, stat, sys, Bcfg2.Client.XML, time |