diff options
Diffstat (limited to 'src/lib/Bcfg2/Server/MultiprocessingCore.py')
-rw-r--r-- | src/lib/Bcfg2/Server/MultiprocessingCore.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Server/MultiprocessingCore.py b/src/lib/Bcfg2/Server/MultiprocessingCore.py index 4c304d28c..8031c69d4 100644 --- a/src/lib/Bcfg2/Server/MultiprocessingCore.py +++ b/src/lib/Bcfg2/Server/MultiprocessingCore.py @@ -291,6 +291,13 @@ class ChildCore(BaseCore): self.metadata_cache.expire(client) @exposed + def RecvProbeData(self, address, _): + """ Expire the probe cache for a client """ + if 'Probes' in self.plugins: + client = self.resolve_client(address, metadata=False) + self.plugins['Probes'].load_data(client) + + @exposed def GetConfig(self, client): """ Render the configuration for a client """ self.logger.debug("%s: Building configuration for %s" % @@ -389,6 +396,14 @@ class Core(BuiltinCore): return BuiltinCore.set_debug(self, address, debug) @exposed + def RecvProbeData(self, address, probedata): + rv = BuiltinCore.RecvProbeData(self, address, probedata) + # we don't want the children to actually process probe data, + # so we don't send the data, just the fact that we got some. + self.rpc_q.publish("RecvProbeData", args=[address, None]) + return rv + + @exposed def GetConfig(self, address): client = self.resolve_client(address)[0] childname = self.children.next() |