summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--man/bcfg2.14
-rw-r--r--src/lib/Client/Frame.py6
-rwxr-xr-xsrc/sbin/bcfg22
3 files changed, 11 insertions, 1 deletions
diff --git a/man/bcfg2.1 b/man/bcfg2.1
index 908052df3..b81973705 100644
--- a/man/bcfg2.1
+++ b/man/bcfg2.1
@@ -39,6 +39,10 @@ Run bcfg2 in quick mode. Package checksum verification won't be
performed. This mode relaxes the constraints of correctness, and thus
should only be used in safe conditions.
.RE
+.B "\-D <driver1>,<driver2>"
+.RS
+Specify a set of bcfg2 tool drivers.
+.RE
.B "\-I"
.RS
Run bcfg2 in interactive mode. The user will be prompted before each
diff --git a/src/lib/Client/Frame.py b/src/lib/Client/Frame.py
index 12531f2e6..16fa3e11a 100644
--- a/src/lib/Client/Frame.py
+++ b/src/lib/Client/Frame.py
@@ -29,7 +29,11 @@ class Frame:
self.whitelist = []
self.removal = []
self.logger = logging.getLogger("Bcfg2.Client.Frame")
- for tool in Bcfg2.Client.Tools.__all__[:]:
+ if self.setup['drivers']:
+ tools = self.setup['drivers'].split(',')
+ else:
+ tools = Bcfg2.Client.Tools.__all__[:]
+ for tool in tools:
try:
tool_class = "Bcfg2.Client.Tools.%s" % tool
mod = __import__(tool_class, globals(), locals(), ['*'])
diff --git a/src/sbin/bcfg2 b/src/sbin/bcfg2
index 6920e0a9b..811be2847 100755
--- a/src/sbin/bcfg2
+++ b/src/sbin/bcfg2
@@ -31,6 +31,8 @@ class Client:
False, False, False, True),
'debug':(('-d', False, "enable debugging output"),
False, False, False, True),
+ 'drivers':(('-D', '<driver1>,<driver2>', "Specify tool driver set"),
+ False, False, False, False),
'dryrun':(('-n', False, "do not actually change the system"),
False, False, False, True),
'build': (('-B', False, "run in build mode"),