summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander.sulfrian@fu-berlin.de>2015-07-24 01:06:21 +0200
committerAlexander Sulfrian <alexander.sulfrian@fu-berlin.de>2015-07-27 14:43:26 +0200
commitf4d9a230d237a9b412e8056629ec1dee1ce478c3 (patch)
treeacf3033a8f27e2f9f80692d6c17c4da2cb9db5aa
parent36b2aa66627a4cc147f982d03688ae9df14bbe08 (diff)
downloadbcfg2-f4d9a230d237a9b412e8056629ec1dee1ce478c3.tar.gz
bcfg2-f4d9a230d237a9b412e8056629ec1dee1ce478c3.tar.bz2
bcfg2-f4d9a230d237a9b412e8056629ec1dee1ce478c3.zip
Ohai: Expire metadata cache, if ohai data changes
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Ohai.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Ohai.py b/src/lib/Bcfg2/Server/Plugins/Ohai.py
index 461be9ba8..b314e60a0 100644
--- a/src/lib/Bcfg2/Server/Plugins/Ohai.py
+++ b/src/lib/Bcfg2/Server/Plugins/Ohai.py
@@ -94,7 +94,12 @@ class Ohai(Bcfg2.Server.Plugin.Plugin,
return [self.probe]
def ReceiveData(self, meta, datalist):
- self.cache[meta.hostname] = datalist[0].text
+ if meta.hostname not in self.cache or \
+ self.cache[meta.hostname] != datalist[0].text:
+ self.cache[meta.hostname] = datalist[0].text
+
+ if self.core.metadata_cache_mode in ['cautious', 'aggressive']:
+ self.core.metadata_cache.expire(meta.hostname)
def get_additional_data(self, meta):
if meta.hostname in self.cache: