summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2012-06-12 09:29:54 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2012-06-12 09:29:54 -0400
commit77b945b0ff23d778439148fe01eedd3884364024 (patch)
tree789fecf8e14996a9381e3f21a8988961dfd618e8
parent8c08bfc37cb7cdec5e83005ea71f55f0cfd4259e (diff)
downloadbcfg2-77b945b0ff23d778439148fe01eedd3884364024.tar.gz
bcfg2-77b945b0ff23d778439148fe01eedd3884364024.tar.bz2
bcfg2-77b945b0ff23d778439148fe01eedd3884364024.zip
added end_statistics hook to ClientRunHooks; added calls to Packages and PuppetENC to clean cache after statistics, too
-rw-r--r--src/lib/Bcfg2/Server/Core.py2
-rw-r--r--src/lib/Bcfg2/Server/Plugin.py2
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/__init__.py3
-rw-r--r--src/lib/Bcfg2/Server/Plugins/PuppetENC.py3
4 files changed, 10 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Server/Core.py b/src/lib/Bcfg2/Server/Core.py
index 1843dd756..cbea87335 100644
--- a/src/lib/Bcfg2/Server/Core.py
+++ b/src/lib/Bcfg2/Server/Core.py
@@ -413,6 +413,8 @@ class Core(Component):
logger.info("Client %s reported state %s" % (client_name,
state.get('state')))
+ self.client_run_hook("end_statistics", meta)
+
# XMLRPC handlers start here
@exposed
diff --git a/src/lib/Bcfg2/Server/Plugin.py b/src/lib/Bcfg2/Server/Plugin.py
index 06a491562..8a976a048 100644
--- a/src/lib/Bcfg2/Server/Plugin.py
+++ b/src/lib/Bcfg2/Server/Plugin.py
@@ -369,6 +369,8 @@ class ClientRunHooks(object):
def end_client_run(self, metadata):
pass
+ def end_statistics(self, metadata):
+ pass
# the rest of the file contains classes for coherent file caching
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py b/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
index 6d14dc37c..228bbfeb8 100644
--- a/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
+++ b/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
@@ -281,3 +281,6 @@ class Packages(Bcfg2.Server.Plugin.Plugin,
persist only the duration of a client run"""
if metadata.hostname in Collection.clients:
del Collection.clients[metadata.hostname]
+
+ def end_statistics(self, metadata):
+ self.end_client_run(self, metadata)
diff --git a/src/lib/Bcfg2/Server/Plugins/PuppetENC.py b/src/lib/Bcfg2/Server/Plugins/PuppetENC.py
index 3a8fe67fb..c75c0b076 100644
--- a/src/lib/Bcfg2/Server/Plugins/PuppetENC.py
+++ b/src/lib/Bcfg2/Server/Plugins/PuppetENC.py
@@ -115,3 +115,6 @@ class PuppetENC(Bcfg2.Server.Plugin.Plugin,
separately; and b) when a single client's metadata is
generated multiple times by separate templates """
self.cache = dict()
+
+ def end_statistics(self, metadata):
+ self.end_client_run(self, metadata)