summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugin
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-06-13 14:58:05 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-06-13 14:58:05 -0400
commita03fde3ea32d3eb2cadb443454749111dda1797f (patch)
tree6984ab73962c8384905915da6c0a26d77778f3a3 /src/lib/Bcfg2/Server/Plugin
parentfbf6edf62b7b105abb467ef5cb9254eb8f5396c6 (diff)
downloadbcfg2-a03fde3ea32d3eb2cadb443454749111dda1797f.tar.gz
bcfg2-a03fde3ea32d3eb2cadb443454749111dda1797f.tar.bz2
bcfg2-a03fde3ea32d3eb2cadb443454749111dda1797f.zip
do not create data directories for plugins that don't need them
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugin')
-rw-r--r--src/lib/Bcfg2/Server/Plugin/base.py6
-rw-r--r--src/lib/Bcfg2/Server/Plugin/interfaces.py4
2 files changed, 9 insertions, 1 deletions
diff --git a/src/lib/Bcfg2/Server/Plugin/base.py b/src/lib/Bcfg2/Server/Plugin/base.py
index ecd970b54..c825a57b5 100644
--- a/src/lib/Bcfg2/Server/Plugin/base.py
+++ b/src/lib/Bcfg2/Server/Plugin/base.py
@@ -87,6 +87,10 @@ class Plugin(Debuggable):
#: alphabetically by their name.
sort_order = 500
+ #: Whether or not to automatically create a data directory for
+ #: this plugin
+ create = True
+
#: List of names of methods to be exposed as XML-RPC functions
__rmi__ = Debuggable.__rmi__
@@ -107,7 +111,7 @@ class Plugin(Debuggable):
self.Entries = {}
self.core = core
self.data = os.path.join(datastore, self.name)
- if not os.path.exists(self.data):
+ if self.create and not os.path.exists(self.data):
self.logger.warning("%s: %s does not exist, creating" %
(self.name, self.data))
os.makedirs(self.data)
diff --git a/src/lib/Bcfg2/Server/Plugin/interfaces.py b/src/lib/Bcfg2/Server/Plugin/interfaces.py
index 0fd711be9..222b94fe3 100644
--- a/src/lib/Bcfg2/Server/Plugin/interfaces.py
+++ b/src/lib/Bcfg2/Server/Plugin/interfaces.py
@@ -286,6 +286,8 @@ class Statistics(Plugin):
you should avoid using Statistics and use
:class:`ThreadedStatistics` instead."""
+ create = False
+
def process_statistics(self, client, xdata):
""" Process the given XML statistics data for the specified
client.
@@ -526,6 +528,8 @@ class GoalValidator(object):
class Version(Plugin):
""" Version plugins interact with various version control systems. """
+ create = False
+
#: The path to the VCS metadata file or directory, relative to the
#: base of the Bcfg2 repository. E.g., for Subversion this would
#: be ".svn"