summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-10-29 10:21:12 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-10-29 15:22:33 -0400
commit6dd9756f7a87d5e875f5db02f306c7b906902a96 (patch)
tree81ab5e948e9b2449609e260628d5d14f63f5a6cf
parentaec12296330b121fcb3fd038f85c0a4590be8ce4 (diff)
downloadbcfg2-6dd9756f7a87d5e875f5db02f306c7b906902a96.tar.gz
bcfg2-6dd9756f7a87d5e875f5db02f306c7b906902a96.tar.bz2
bcfg2-6dd9756f7a87d5e875f5db02f306c7b906902a96.zip
Plugins: refactored out unnecessary datastore constructor argument
-rw-r--r--src/lib/Bcfg2/Server/Core.py10
-rw-r--r--src/lib/Bcfg2/Server/Plugin/base.py8
-rw-r--r--src/lib/Bcfg2/Server/Plugin/helpers.py8
-rw-r--r--src/lib/Bcfg2/Server/Plugin/interfaces.py10
-rw-r--r--src/lib/Bcfg2/Server/Plugins/ACL.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/AWSTags.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Bundler.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Bzr.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Cvs.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/DBStats.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Darcs.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Decisions.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Deps.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/FileProbes.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Fossil.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Git.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/GroupLogic.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/GroupPatterns.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Guppy.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Hg.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Ldap.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Metadata.py7
-rw-r--r--src/lib/Bcfg2/Server/Plugins/NagiosGen.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Ohai.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/POSIXCompat.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/__init__.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Probes.py9
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Properties.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/PuppetENC.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Reporting.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Rules.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/SSHbase.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Svn.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/TemplateHelper.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Trigger.py4
-rw-r--r--testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testbase.py2
-rw-r--r--testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testhelpers.py6
-rw-r--r--testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testinterfaces.py1
-rw-r--r--testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestMetadata.py3
-rw-r--r--testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProbes.py26
-rw-r--r--testsuite/common.py11
42 files changed, 110 insertions, 111 deletions
diff --git a/src/lib/Bcfg2/Server/Core.py b/src/lib/Bcfg2/Server/Core.py
index 4e7f30db5..796cd8bcc 100644
--- a/src/lib/Bcfg2/Server/Core.py
+++ b/src/lib/Bcfg2/Server/Core.py
@@ -83,8 +83,8 @@ class DefaultACL(Plugin, ClientACLs):
is only loaded if no other ClientACLs plugin is enabled. """
create = False
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
Bcfg2.Server.Plugin.ClientACLs.__init__(self)
def check_acl_ip(self, address, rmi):
@@ -130,8 +130,8 @@ class Core(object):
.. automethod:: _file_monitor_thread
.. automethod:: _perflog_thread
"""
- #: The Bcfg2 repository directory
- self.datastore = Bcfg2.Options.setup.repository
+ global _CORE
+ _CORE = self
#: A :class:`logging.Logger` object for use by the core
self.logger = logging.getLogger('bcfg2-server')
@@ -382,7 +382,7 @@ class Core(object):
if conflict in self.plugins]
self.plugin_blacklist[plugin.name] = cplugs
try:
- self.plugins[plugin.name] = plugin(self, self.datastore)
+ self.plugins[plugin.name] = plugin(self)
except PluginInitError:
self.logger.error("Failed to instantiate plugin %s" % plugin,
exc_info=1)
diff --git a/src/lib/Bcfg2/Server/Plugin/base.py b/src/lib/Bcfg2/Server/Plugin/base.py
index b2d9fa7c8..549f7b543 100644
--- a/src/lib/Bcfg2/Server/Plugin/base.py
+++ b/src/lib/Bcfg2/Server/Plugin/base.py
@@ -1,6 +1,7 @@
"""This module provides the base class for Bcfg2 server plugins."""
import os
+import Bcfg2.Options
from Bcfg2.Logger import Debuggable
from Bcfg2.Utils import ClassName
@@ -53,13 +54,10 @@ class Plugin(Debuggable):
#: but not ``__rmi__`` will be ignored.
__child_rmi__ = Debuggable.__child_rmi__
- def __init__(self, core, datastore):
+ def __init__(self, core):
"""
:param core: The Bcfg2.Server.Core initializing the plugin
:type core: Bcfg2.Server.Core
- :param datastore: The path to the Bcfg2 repository on the
- filesystem
- :type datastore: string
:raises: :exc:`OSError` if adding a file monitor failed;
:class:`Bcfg2.Server.Plugin.exceptions.PluginInitError`
on other errors
@@ -69,7 +67,7 @@ class Plugin(Debuggable):
Debuggable.__init__(self, name=self.name)
self.Entries = {}
self.core = core
- self.data = os.path.join(datastore, self.name)
+ self.data = os.path.join(Bcfg2.Options.setup.repository, self.name)
if self.create and not os.path.exists(self.data):
self.logger.warning("%s: %s does not exist, creating" %
(self.name, self.data))
diff --git a/src/lib/Bcfg2/Server/Plugin/helpers.py b/src/lib/Bcfg2/Server/Plugin/helpers.py
index 98cd250dd..4cd87bd70 100644
--- a/src/lib/Bcfg2/Server/Plugin/helpers.py
+++ b/src/lib/Bcfg2/Server/Plugin/helpers.py
@@ -944,8 +944,8 @@ class PrioDir(Plugin, Generator, XMLDirectoryBacked):
#: :class:`Bcfg2.Server.Plugin.helpers.PriorityStructFile`
__child__ = PriorityStructFile
- def __init__(self, core, datastore):
- Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Plugin.__init__(self, core)
Generator.__init__(self)
XMLDirectoryBacked.__init__(self, self.data)
__init__.__doc__ = Plugin.__init__.__doc__
@@ -1483,8 +1483,8 @@ class GroupSpool(Plugin, Generator):
#: object.
entry_type = 'Path'
- def __init__(self, core, datastore):
- Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Plugin.__init__(self, core)
Generator.__init__(self)
self.fam = Bcfg2.Server.FileMonitor.get_fam()
diff --git a/src/lib/Bcfg2/Server/Plugin/interfaces.py b/src/lib/Bcfg2/Server/Plugin/interfaces.py
index 522c6a220..d51c199cd 100644
--- a/src/lib/Bcfg2/Server/Plugin/interfaces.py
+++ b/src/lib/Bcfg2/Server/Plugin/interfaces.py
@@ -343,14 +343,14 @@ class ThreadedStatistics(Statistics, Threaded, threading.Thread):
""" ThreadedStatistics plugins process client statistics in a
separate thread. """
- def __init__(self, core, datastore):
- Statistics.__init__(self, core, datastore)
+ def __init__(self, core):
+ Statistics.__init__(self, core)
Threaded.__init__(self)
threading.Thread.__init__(self)
# Event from the core signaling an exit
self.terminate = core.terminate
self.work_queue = Queue(100000)
- self.pending_file = os.path.join(datastore, "etc",
+ self.pending_file = os.path.join(Bcfg2.Options.setup.repository, "etc",
"%s.pending" % self.name)
self.daemon = False
@@ -565,8 +565,8 @@ class Version(Plugin):
__rmi__ = Plugin.__rmi__ + ['get_revision']
- def __init__(self, core, datastore):
- Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Plugin.__init__(self, core)
if self.__vcs_metadata_path__:
self.vcs_path = os.path.join(Bcfg2.Options.setup.vcs_root,
diff --git a/src/lib/Bcfg2/Server/Plugins/ACL.py b/src/lib/Bcfg2/Server/Plugins/ACL.py
index f059eb4f1..1c1e54312 100644
--- a/src/lib/Bcfg2/Server/Plugins/ACL.py
+++ b/src/lib/Bcfg2/Server/Plugins/ACL.py
@@ -118,8 +118,8 @@ class ACL(Bcfg2.Server.Plugin.Plugin,
Bcfg2.Server.Plugin.ClientACLs):
""" allow connections to bcfg-server based on IP address """
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
Bcfg2.Server.Plugin.ClientACLs.__init__(self)
self.ip_acls = IPACLFile(os.path.join(self.data, 'ip.xml'),
should_monitor=True)
diff --git a/src/lib/Bcfg2/Server/Plugins/AWSTags.py b/src/lib/Bcfg2/Server/Plugins/AWSTags.py
index a592bdf12..3f92542e7 100644
--- a/src/lib/Bcfg2/Server/Plugins/AWSTags.py
+++ b/src/lib/Bcfg2/Server/Plugins/AWSTags.py
@@ -107,8 +107,8 @@ class AWSTags(Bcfg2.Server.Plugin.Plugin,
""" Query tags from AWS via boto, optionally setting group membership """
__rmi__ = Bcfg2.Server.Plugin.Plugin.__rmi__ + ['expire_cache']
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
Bcfg2.Server.Plugin.ClientRunHooks.__init__(self)
Bcfg2.Server.Plugin.Connector.__init__(self)
try:
diff --git a/src/lib/Bcfg2/Server/Plugins/Bundler.py b/src/lib/Bcfg2/Server/Plugins/Bundler.py
index b3824fb57..8b9330c9b 100644
--- a/src/lib/Bcfg2/Server/Plugins/Bundler.py
+++ b/src/lib/Bcfg2/Server/Plugins/Bundler.py
@@ -46,8 +46,8 @@ class Bundler(Bcfg2.Server.Plugin.Plugin,
__child__ = BundleFile
patterns = re.compile(r'^.*\.(?:xml|genshi)$')
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
Bcfg2.Server.Plugin.Structure.__init__(self)
Bcfg2.Server.Plugin.XMLDirectoryBacked.__init__(self, self.data)
#: Bundles by bundle name, rather than filename
diff --git a/src/lib/Bcfg2/Server/Plugins/Bzr.py b/src/lib/Bcfg2/Server/Plugins/Bzr.py
index 886584477..01b51ace4 100644
--- a/src/lib/Bcfg2/Server/Plugins/Bzr.py
+++ b/src/lib/Bcfg2/Server/Plugins/Bzr.py
@@ -11,8 +11,8 @@ class Bzr(Bcfg2.Server.Plugin.Version):
using bazaar. """
__author__ = 'bcfg-dev@mcs.anl.gov'
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Version.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Version.__init__(self, core)
self.logger.debug("Initialized Bazaar plugin with directory %s at "
"revision = %s" % (Bcfg2.Options.setup.vcs_root,
self.get_revision()))
diff --git a/src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py b/src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py
index 632a5c3bf..d2b982349 100644
--- a/src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py
+++ b/src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py
@@ -895,9 +895,9 @@ class Cfg(Bcfg2.Server.Plugin.GroupSpool,
type=Bcfg2.Options.Types.comma_list, action=CfgHandlerAction,
default=_handlers)]
- def __init__(self, core, datastore):
+ def __init__(self, core):
global _CFG # pylint: disable=W0603
- Bcfg2.Server.Plugin.GroupSpool.__init__(self, core, datastore)
+ Bcfg2.Server.Plugin.GroupSpool.__init__(self, core)
Bcfg2.Server.Plugin.PullTarget.__init__(self)
Bcfg2.Options.setup.cfg_handlers.sort(
key=operator.attrgetter("__priority__"))
diff --git a/src/lib/Bcfg2/Server/Plugins/Cvs.py b/src/lib/Bcfg2/Server/Plugins/Cvs.py
index 09fbfaea7..35bff0835 100644
--- a/src/lib/Bcfg2/Server/Plugins/Cvs.py
+++ b/src/lib/Bcfg2/Server/Plugins/Cvs.py
@@ -11,8 +11,8 @@ class Cvs(Bcfg2.Server.Plugin.Version):
__author__ = 'bcfg-dev@mcs.anl.gov'
__vcs_metadata_path__ = "CVSROOT"
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Version.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Version.__init__(self, core)
self.cmd = Executor()
self.logger.debug("Initialized cvs plugin with CVS directory %s" %
self.vcs_path)
diff --git a/src/lib/Bcfg2/Server/Plugins/DBStats.py b/src/lib/Bcfg2/Server/Plugins/DBStats.py
index e6ef50fa1..88cb6d17c 100644
--- a/src/lib/Bcfg2/Server/Plugins/DBStats.py
+++ b/src/lib/Bcfg2/Server/Plugins/DBStats.py
@@ -6,8 +6,8 @@ import Bcfg2.Server.Plugin
class DBStats(Bcfg2.Server.Plugin.Plugin):
""" DBstats provides a database-backed statistics handler """
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
self.logger.error("DBStats has been replaced with Reporting")
self.logger.error("DBStats: Be sure to migrate your data "
"before running the report collector")
diff --git a/src/lib/Bcfg2/Server/Plugins/Darcs.py b/src/lib/Bcfg2/Server/Plugins/Darcs.py
index b48809cac..01e42b2d0 100644
--- a/src/lib/Bcfg2/Server/Plugins/Darcs.py
+++ b/src/lib/Bcfg2/Server/Plugins/Darcs.py
@@ -11,8 +11,8 @@ class Darcs(Bcfg2.Server.Plugin.Version):
__author__ = 'bcfg-dev@mcs.anl.gov'
__vcs_metadata_path__ = "_darcs"
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Version.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Version.__init__(self, core)
self.cmd = Executor()
self.logger.debug("Initialized Darcs plugin with darcs directory %s" %
self.vcs_path)
diff --git a/src/lib/Bcfg2/Server/Plugins/Decisions.py b/src/lib/Bcfg2/Server/Plugins/Decisions.py
index a67a356d4..3d3ef8f8c 100644
--- a/src/lib/Bcfg2/Server/Plugins/Decisions.py
+++ b/src/lib/Bcfg2/Server/Plugins/Decisions.py
@@ -24,8 +24,8 @@ class Decisions(Bcfg2.Server.Plugin.Plugin,
""" Decisions plugin """
__author__ = 'bcfg-dev@mcs.anl.gov'
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
Bcfg2.Server.Plugin.Decision.__init__(self)
self.whitelist = DecisionFile(os.path.join(self.data, "whitelist.xml"))
self.blacklist = DecisionFile(os.path.join(self.data, "blacklist.xml"))
diff --git a/src/lib/Bcfg2/Server/Plugins/Deps.py b/src/lib/Bcfg2/Server/Plugins/Deps.py
index a4fe7aa91..1872e68af 100644
--- a/src/lib/Bcfg2/Server/Plugins/Deps.py
+++ b/src/lib/Bcfg2/Server/Plugins/Deps.py
@@ -13,8 +13,8 @@ class Deps(Bcfg2.Server.Plugin.PrioDir,
# packages that will be installed on the client.
sort_order = 750
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.PrioDir.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.PrioDir.__init__(self, core)
Bcfg2.Server.Plugin.StructureValidator.__init__(self)
self.cache = {}
diff --git a/src/lib/Bcfg2/Server/Plugins/FileProbes.py b/src/lib/Bcfg2/Server/Plugins/FileProbes.py
index 3d0336c36..38f9403f5 100644
--- a/src/lib/Bcfg2/Server/Plugins/FileProbes.py
+++ b/src/lib/Bcfg2/Server/Plugins/FileProbes.py
@@ -64,8 +64,8 @@ class FileProbes(Bcfg2.Server.Plugin.Plugin,
the client """
__author__ = 'chris.a.st.pierre@gmail.com'
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
Bcfg2.Server.Plugin.Probing.__init__(self)
self.config = \
Bcfg2.Server.Plugin.StructFile(os.path.join(self.data,
diff --git a/src/lib/Bcfg2/Server/Plugins/Fossil.py b/src/lib/Bcfg2/Server/Plugins/Fossil.py
index f6aa3221a..c4d9af4a4 100644
--- a/src/lib/Bcfg2/Server/Plugins/Fossil.py
+++ b/src/lib/Bcfg2/Server/Plugins/Fossil.py
@@ -11,8 +11,8 @@ class Fossil(Bcfg2.Server.Plugin.Version):
__author__ = 'bcfg-dev@mcs.anl.gov'
__vcs_metadata_path__ = "_FOSSIL_"
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Version.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Version.__init__(self, core)
self.cmd = Executor()
self.logger.debug("Initialized Fossil plugin with fossil directory %s"
% self.vcs_path)
diff --git a/src/lib/Bcfg2/Server/Plugins/Git.py b/src/lib/Bcfg2/Server/Plugins/Git.py
index 3144a4f97..9012fceb0 100644
--- a/src/lib/Bcfg2/Server/Plugins/Git.py
+++ b/src/lib/Bcfg2/Server/Plugins/Git.py
@@ -21,8 +21,8 @@ class Git(Version):
if HAS_GITPYTHON:
__rmi__ = Version.__rmi__ + ['Update']
- def __init__(self, core, datastore):
- Version.__init__(self, core, datastore)
+ def __init__(self, core):
+ Version.__init__(self, core)
if HAS_GITPYTHON:
self.repo = git.Repo(Bcfg2.Options.setup.vcs_root)
self.cmd = None
diff --git a/src/lib/Bcfg2/Server/Plugins/GroupLogic.py b/src/lib/Bcfg2/Server/Plugins/GroupLogic.py
index 06e797ec3..b60f60e65 100644
--- a/src/lib/Bcfg2/Server/Plugins/GroupLogic.py
+++ b/src/lib/Bcfg2/Server/Plugins/GroupLogic.py
@@ -35,8 +35,8 @@ class GroupLogic(Bcfg2.Server.Plugin.Plugin,
# use groups set by them
sort_order = 1000
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
Bcfg2.Server.Plugin.Connector.__init__(self)
self.config = GroupLogicConfig(os.path.join(self.data, "groups.xml"),
should_monitor=True)
diff --git a/src/lib/Bcfg2/Server/Plugins/GroupPatterns.py b/src/lib/Bcfg2/Server/Plugins/GroupPatterns.py
index 767ae6254..7fa95fd05 100644
--- a/src/lib/Bcfg2/Server/Plugins/GroupPatterns.py
+++ b/src/lib/Bcfg2/Server/Plugins/GroupPatterns.py
@@ -114,8 +114,8 @@ class GroupPatterns(Bcfg2.Server.Plugin.Plugin,
Bcfg2.Server.Plugin.Connector):
""" set group membership based on client hostnames """
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
Bcfg2.Server.Plugin.Connector.__init__(self)
self.config = PatternFile(os.path.join(self.data, 'config.xml'),
core=core)
diff --git a/src/lib/Bcfg2/Server/Plugins/Guppy.py b/src/lib/Bcfg2/Server/Plugins/Guppy.py
index c5969f978..8427a56c3 100644
--- a/src/lib/Bcfg2/Server/Plugins/Guppy.py
+++ b/src/lib/Bcfg2/Server/Plugins/Guppy.py
@@ -36,8 +36,8 @@ class Guppy(Bcfg2.Server.Plugin.Plugin):
__rmi__ = Bcfg2.Server.Plugin.Plugin.__rmi__ + ['Enable', 'Disable']
__child_rmi__ = __rmi__[:]
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
self.Enable()
diff --git a/src/lib/Bcfg2/Server/Plugins/Hg.py b/src/lib/Bcfg2/Server/Plugins/Hg.py
index f9a9f858c..7554b4d52 100644
--- a/src/lib/Bcfg2/Server/Plugins/Hg.py
+++ b/src/lib/Bcfg2/Server/Plugins/Hg.py
@@ -12,8 +12,8 @@ class Hg(Bcfg2.Server.Plugin.Version):
__author__ = 'bcfg-dev@mcs.anl.gov'
__vcs_metadata_path__ = ".hg"
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Version.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Version.__init__(self, core)
self.logger.debug("Initialized hg plugin with hg directory %s" %
self.vcs_path)
diff --git a/src/lib/Bcfg2/Server/Plugins/Ldap.py b/src/lib/Bcfg2/Server/Plugins/Ldap.py
index 2be27c6d7..553ddbc47 100644
--- a/src/lib/Bcfg2/Server/Plugins/Ldap.py
+++ b/src/lib/Bcfg2/Server/Plugins/Ldap.py
@@ -68,8 +68,8 @@ class Ldap(Bcfg2.Server.Plugin.Plugin, Bcfg2.Server.Plugin.Connector):
experimental = True
debug_flag = False
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
Bcfg2.Server.Plugin.Connector.__init__(self)
self.config = ConfigFile(self.data + "/config.py")
diff --git a/src/lib/Bcfg2/Server/Plugins/Metadata.py b/src/lib/Bcfg2/Server/Plugins/Metadata.py
index 03f8af719..78f86f28e 100644
--- a/src/lib/Bcfg2/Server/Plugins/Metadata.py
+++ b/src/lib/Bcfg2/Server/Plugins/Metadata.py
@@ -514,10 +514,10 @@ class Metadata(Bcfg2.Server.Plugin.Metadata,
help='Default client authentication method')]
options_parsed_hook = staticmethod(load_django_models)
- def __init__(self, core, datastore):
+ def __init__(self, core):
Bcfg2.Server.Plugin.Metadata.__init__(self)
Bcfg2.Server.Plugin.ClientRunHooks.__init__(self)
- Bcfg2.Server.Plugin.DatabaseBacked.__init__(self, core, datastore)
+ Bcfg2.Server.Plugin.DatabaseBacked.__init__(self, core)
self.states = dict()
self.extra = dict()
self.handlers = dict()
@@ -555,8 +555,7 @@ class Metadata(Bcfg2.Server.Plugin.Metadata,
self.ordered_groups = []
# mapping of hostname -> version string
if self._use_db:
- self.versions = ClientVersions(core, # pylint: disable=E1102
- datastore)
+ self.versions = ClientVersions(core) # pylint: disable=E1102
else:
self.versions = dict()
diff --git a/src/lib/Bcfg2/Server/Plugins/NagiosGen.py b/src/lib/Bcfg2/Server/Plugins/NagiosGen.py
index a27664215..7cb465b8e 100644
--- a/src/lib/Bcfg2/Server/Plugins/NagiosGen.py
+++ b/src/lib/Bcfg2/Server/Plugins/NagiosGen.py
@@ -15,8 +15,8 @@ class NagiosGen(Plugin, Generator):
__author__ = 'bcfg-dev@mcs.anl.gov'
line_fmt = '\t%-32s %s'
- def __init__(self, core, datastore):
- Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Plugin.__init__(self, core)
Generator.__init__(self)
self.config = \
StructFile(os.path.join(self.data, 'config.xml'),
diff --git a/src/lib/Bcfg2/Server/Plugins/Ohai.py b/src/lib/Bcfg2/Server/Plugins/Ohai.py
index 18261be10..ba7baab11 100644
--- a/src/lib/Bcfg2/Server/Plugins/Ohai.py
+++ b/src/lib/Bcfg2/Server/Plugins/Ohai.py
@@ -79,8 +79,8 @@ class Ohai(Bcfg2.Server.Plugin.Plugin,
about the client operating system.
"""
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
Bcfg2.Server.Plugin.Probing.__init__(self)
Bcfg2.Server.Plugin.Connector.__init__(self)
self.probe = lxml.etree.Element('probe', name='Ohai', source='Ohai',
diff --git a/src/lib/Bcfg2/Server/Plugins/POSIXCompat.py b/src/lib/Bcfg2/Server/Plugins/POSIXCompat.py
index 71128d64c..cf53c5866 100644
--- a/src/lib/Bcfg2/Server/Plugins/POSIXCompat.py
+++ b/src/lib/Bcfg2/Server/Plugins/POSIXCompat.py
@@ -11,8 +11,8 @@ class POSIXCompat(Bcfg2.Server.Plugin.Plugin,
create = False
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
Bcfg2.Server.Plugin.GoalValidator.__init__(self)
def validate_goals(self, metadata, goals):
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py b/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
index 195765c69..49f64bdf3 100644
--- a/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
+++ b/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
@@ -136,8 +136,8 @@ class Packages(Bcfg2.Server.Plugin.Plugin,
#: and :func:`Reload`
__rmi__ = Bcfg2.Server.Plugin.Plugin.__rmi__ + ['Refresh', 'Reload']
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
Bcfg2.Server.Plugin.StructureValidator.__init__(self)
Bcfg2.Server.Plugin.Generator.__init__(self)
Bcfg2.Server.Plugin.Connector.__init__(self)
diff --git a/src/lib/Bcfg2/Server/Plugins/Probes.py b/src/lib/Bcfg2/Server/Plugins/Probes.py
index 6b0c91fd1..ec5c1ab9f 100644
--- a/src/lib/Bcfg2/Server/Plugins/Probes.py
+++ b/src/lib/Bcfg2/Server/Plugins/Probes.py
@@ -121,8 +121,7 @@ class DBProbeStore(ProbeStore, Bcfg2.Server.Plugin.DatabaseBacked):
create = False
def __init__(self, core, datadir):
- Bcfg2.Server.Plugin.DatabaseBacked.__init__(self, core,
- os.path.dirname(datadir))
+ Bcfg2.Server.Plugin.DatabaseBacked.__init__(self, core)
ProbeStore.__init__(self, core, datadir)
@property
@@ -259,7 +258,7 @@ class XMLProbeStore(ProbeStore):
pretty_print='true')
except IOError:
err = sys.exc_info()[1]
- self.logger.error("Failed to write probed.xml: %s" % err)
+ self.logger.error("Failed to write %s: %s" % (self._fname, err))
def set_groups(self, hostname, groups):
Bcfg2.Server.Cache.expire("Probes", "probegroups", hostname)
@@ -428,10 +427,10 @@ class Probes(Bcfg2.Server.Plugin.Probing,
help="Use database capabilities of the Probes plugin")]
options_parsed_hook = staticmethod(load_django_models)
- def __init__(self, core, datastore):
+ def __init__(self, core):
Bcfg2.Server.Plugin.Probing.__init__(self)
Bcfg2.Server.Plugin.Connector.__init__(self)
- Bcfg2.Server.Plugin.DatabaseBacked.__init__(self, core, datastore)
+ Bcfg2.Server.Plugin.DatabaseBacked.__init__(self, core)
try:
self.probes = ProbeSet(self.data, self.name)
diff --git a/src/lib/Bcfg2/Server/Plugins/Properties.py b/src/lib/Bcfg2/Server/Plugins/Properties.py
index bbc00556b..87cee7029 100644
--- a/src/lib/Bcfg2/Server/Plugins/Properties.py
+++ b/src/lib/Bcfg2/Server/Plugins/Properties.py
@@ -242,8 +242,8 @@ class Properties(Bcfg2.Server.Plugin.Plugin,
#: Ignore XML schema (``.xsd``) files
ignore = re.compile(r'.*\.xsd$')
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
Bcfg2.Server.Plugin.Connector.__init__(self)
Bcfg2.Server.Plugin.DirectoryBacked.__init__(self, self.data)
diff --git a/src/lib/Bcfg2/Server/Plugins/PuppetENC.py b/src/lib/Bcfg2/Server/Plugins/PuppetENC.py
index a02f012a0..59fbe6f03 100644
--- a/src/lib/Bcfg2/Server/Plugins/PuppetENC.py
+++ b/src/lib/Bcfg2/Server/Plugins/PuppetENC.py
@@ -30,8 +30,8 @@ class PuppetENC(Bcfg2.Server.Plugin.Plugin,
(http://docs.puppetlabs.com/guides/external_nodes.html) """
__child__ = PuppetENCFile
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
Bcfg2.Server.Plugin.Connector.__init__(self)
Bcfg2.Server.Plugin.ClientRunHooks.__init__(self)
Bcfg2.Server.Plugin.DirectoryBacked.__init__(self, self.data)
diff --git a/src/lib/Bcfg2/Server/Plugins/Reporting.py b/src/lib/Bcfg2/Server/Plugins/Reporting.py
index 9d1019441..8b8ada852 100644
--- a/src/lib/Bcfg2/Server/Plugins/Reporting.py
+++ b/src/lib/Bcfg2/Server/Plugins/Reporting.py
@@ -41,8 +41,8 @@ class Reporting(Statistics, Threaded, PullSource):
CLIENT_METADATA_FIELDS = ('profile', 'bundles', 'aliases', 'addresses',
'groups', 'categories', 'uuid', 'version')
- def __init__(self, core, datastore):
- Statistics.__init__(self, core, datastore)
+ def __init__(self, core):
+ Statistics.__init__(self, core)
PullSource.__init__(self)
Threaded.__init__(self)
diff --git a/src/lib/Bcfg2/Server/Plugins/Rules.py b/src/lib/Bcfg2/Server/Plugins/Rules.py
index b5c60c875..a3f682ed6 100644
--- a/src/lib/Bcfg2/Server/Plugins/Rules.py
+++ b/src/lib/Bcfg2/Server/Plugins/Rules.py
@@ -14,8 +14,8 @@ class Rules(Bcfg2.Server.Plugin.PrioDir):
cf=("rules", "regex"), dest="rules_regex",
help="Allow regular expressions in Rules")]
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.PrioDir.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.PrioDir.__init__(self, core)
self._regex_cache = dict()
def HandlesEntry(self, entry, metadata):
diff --git a/src/lib/Bcfg2/Server/Plugins/SSHbase.py b/src/lib/Bcfg2/Server/Plugins/SSHbase.py
index a3fbc04f3..89c7107aa 100644
--- a/src/lib/Bcfg2/Server/Plugins/SSHbase.py
+++ b/src/lib/Bcfg2/Server/Plugins/SSHbase.py
@@ -139,8 +139,8 @@ class SSHbase(Bcfg2.Server.Plugin.Plugin,
cf=("sshbase", "passphrase"), dest="sshbase_passphrase",
help="Passphrase used to encrypt generated private SSH host keys")]
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
Bcfg2.Server.Plugin.Generator.__init__(self)
Bcfg2.Server.Plugin.PullTarget.__init__(self)
self.ipcache = {}
diff --git a/src/lib/Bcfg2/Server/Plugins/Svn.py b/src/lib/Bcfg2/Server/Plugins/Svn.py
index 6266e9fd2..b2a16e52e 100644
--- a/src/lib/Bcfg2/Server/Plugins/Svn.py
+++ b/src/lib/Bcfg2/Server/Plugins/Svn.py
@@ -38,8 +38,8 @@ class Svn(Bcfg2.Server.Plugin.Version):
else:
__vcs_metadata_path__ = ".svn"
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Version.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Version.__init__(self, core)
self.revision = None
self.svn_root = None
diff --git a/src/lib/Bcfg2/Server/Plugins/TemplateHelper.py b/src/lib/Bcfg2/Server/Plugins/TemplateHelper.py
index a32b7dea2..82d8bfae2 100644
--- a/src/lib/Bcfg2/Server/Plugins/TemplateHelper.py
+++ b/src/lib/Bcfg2/Server/Plugins/TemplateHelper.py
@@ -84,8 +84,8 @@ class TemplateHelper(Bcfg2.Server.Plugin.Plugin,
patterns = MODULE_RE
__child__ = HelperModule
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
Bcfg2.Server.Plugin.Connector.__init__(self)
Bcfg2.Server.Plugin.DirectoryBacked.__init__(self, self.data)
diff --git a/src/lib/Bcfg2/Server/Plugins/Trigger.py b/src/lib/Bcfg2/Server/Plugins/Trigger.py
index a1b79a8c5..12672de7d 100644
--- a/src/lib/Bcfg2/Server/Plugins/Trigger.py
+++ b/src/lib/Bcfg2/Server/Plugins/Trigger.py
@@ -18,8 +18,8 @@ class Trigger(Bcfg2.Server.Plugin.Plugin,
"""Trigger is a plugin that calls external scripts (on the server)."""
__author__ = 'bcfg-dev@mcs.anl.gov'
- def __init__(self, core, datastore):
- Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ def __init__(self, core):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core)
Bcfg2.Server.Plugin.ClientRunHooks.__init__(self)
Bcfg2.Server.Plugin.DirectoryBacked.__init__(self, self.data)
self.cmd = Executor()
diff --git a/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testbase.py b/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testbase.py
index 9b55b3ae8..f135a0197 100644
--- a/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testbase.py
+++ b/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testbase.py
@@ -29,7 +29,7 @@ class TestPlugin(TestDebuggable):
@patchIf(not isinstance(os.makedirs, Mock), "os.makedirs", Mock())
def inner():
- return self.test_obj(core, datastore)
+ return self.test_obj(core)
return inner()
@patch("os.makedirs")
diff --git a/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testhelpers.py b/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testhelpers.py
index dbab60abc..81c4837e1 100644
--- a/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testhelpers.py
+++ b/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testhelpers.py
@@ -1180,7 +1180,7 @@ class TestPrioDir(TestPlugin, TestGenerator, TestXMLDirectoryBacked):
Mock())
@patchIf(not isinstance(os.makedirs, Mock), "os.makedirs", Mock())
def inner():
- return self.test_obj(core, datastore)
+ return self.test_obj(core)
return inner()
@@ -1416,7 +1416,7 @@ class TestEntrySet(TestDebuggable):
set_setup_default("default_paranoid", False)
set_setup_default("default_sensitive", False)
- def get_obj(self, basename="test", path=datastore, entry_type=MagicMock()):
+ def get_obj(self, basename="test", entry_type=MagicMock()):
return self.test_obj(basename, path, entry_type)
def test__init(self):
@@ -1791,7 +1791,7 @@ class TestGroupSpool(TestPlugin, TestGenerator):
@patch("%s.%s.AddDirectoryMonitor" % (self.test_obj.__module__,
self.test_obj.__name__))
def inner(mock_Add):
- gs = self.test_obj(MagicMock(), datastore)
+ gs = self.test_obj(MagicMock())
mock_Add.assert_called_with('')
self.assertItemsEqual(gs.Entries, {gs.entry_type: {}})
diff --git a/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testinterfaces.py b/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testinterfaces.py
index ac0454f84..bbfb495c4 100644
--- a/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testinterfaces.py
+++ b/testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testinterfaces.py
@@ -374,4 +374,3 @@ class TestClientACLs(Bcfg2TestCase):
ca = self.get_obj()
self.assertIn(ca.check_acl_metadata(Mock(), Mock()),
[True, False])
-
diff --git a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestMetadata.py b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestMetadata.py
index 8814ae171..d3fa15236 100644
--- a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestMetadata.py
+++ b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestMetadata.py
@@ -100,8 +100,9 @@ def get_metadata_object(core=None):
@patchIf(not isinstance(os.makedirs, Mock), "os.makedirs", Mock())
@patchIf(not isinstance(lxml.etree.Element, Mock),
"lxml.etree.Element", Mock())
+
def inner():
- return Metadata(core, datastore)
+ return Metadata(core)
return inner()
diff --git a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProbes.py b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProbes.py
index 4830f9f2f..68313e6fb 100644
--- a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProbes.py
+++ b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProbes.py
@@ -19,7 +19,7 @@ while path != "/":
path = os.path.dirname(path)
from common import *
from Bcfg2.Server.Plugins.Probes import load_django_models
-from TestPlugin import TestEntrySet, TestProbing, TestConnector, \
+from TestPlugin import TestEntrySet, TestPlugin, \
TestDatabaseBacked
load_django_models()
@@ -200,7 +200,7 @@ group-specific"""
assert False, "Strange probe found in get_probe_data() return"
-class TestProbes(Bcfg2TestCase):
+class TestProbes(TestPlugin):
test_obj = Probes
test_xdata = lxml.etree.Element("test")
@@ -236,21 +236,23 @@ group: group:with:colons
if self.datastore is not None:
shutil.rmtree(self.datastore)
self.datastore = None
+ Bcfg2.Options.setup.repository = datastore
- def get_obj(self, core=None):
- if core is None:
- core = Mock()
- if Bcfg2.Options.setup.probes_db:
- @patch("os.makedirs", Mock())
- def inner():
- return self.test_obj(core, datastore)
- return inner()
- else:
+ def get_obj(self):
+ if not Bcfg2.Options.setup.probes_db:
# actually use a real datastore so we can read and write
# probed.xml
if self.datastore is None:
self.datastore = tempfile.mkdtemp()
- return self.test_obj(core, self.datastore)
+ Bcfg2.Options.setup.repository = self.datastore
+ datadir = os.path.join(self.datastore, self.test_obj.name)
+ if not os.path.exists(datadir):
+ os.makedirs(datadir)
+ return TestPlugin.get_obj(self)
+
+ def test__init(self):
+ if Bcfg2.Options.setup.probes_db:
+ TestPlugin.test__init(self)
def test_GetProbes(self):
p = self.get_obj()
diff --git a/testsuite/common.py b/testsuite/common.py
index 04c446f67..49035a177 100644
--- a/testsuite/common.py
+++ b/testsuite/common.py
@@ -20,11 +20,6 @@ try:
except ImportError:
from unittest2 import skip, skipIf, skipUnless, TestCase
-#: The path to the Bcfg2 specification root for the tests. Using the
-#: root directory exposes a lot of potential problems with building
-#: paths.
-datastore = "/"
-
#: The XInclude namespace name
XI_NAMESPACE = "http://www.w3.org/2001/XInclude"
@@ -68,6 +63,12 @@ try:
except ImportError:
has_django = False
+#: The path to the Bcfg2 specification root for the tests. Using the
+#: root directory exposes a lot of potential problems with building
+#: paths.
+datastore = "/"
+
+set_setup_default("repository", datastore)
try:
from mock import call