From 77b945b0ff23d778439148fe01eedd3884364024 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Tue, 12 Jun 2012 09:29:54 -0400 Subject: added end_statistics hook to ClientRunHooks; added calls to Packages and PuppetENC to clean cache after statistics, too --- src/lib/Bcfg2/Server/Core.py | 2 ++ src/lib/Bcfg2/Server/Plugin.py | 2 ++ src/lib/Bcfg2/Server/Plugins/Packages/__init__.py | 3 +++ src/lib/Bcfg2/Server/Plugins/PuppetENC.py | 3 +++ 4 files changed, 10 insertions(+) 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) -- cgit v1.2.3-1-g7c22