diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2011-07-11 08:06:23 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2011-07-11 08:06:23 -0400 |
commit | 16ad53c10645ce0a097663780ecb5f92a92568f1 (patch) | |
tree | ade241f6b9cb64afb4f7f2e7070bd0350ab94800 | |
parent | 841cdd56e4ae141f8ba159e8cacc6c70003dd2fb (diff) | |
download | bcfg2-16ad53c10645ce0a097663780ecb5f92a92568f1.tar.gz bcfg2-16ad53c10645ce0a097663780ecb5f92a92568f1.tar.bz2 bcfg2-16ad53c10645ce0a097663780ecb5f92a92568f1.zip |
made ohai plugin fail gracefully on machines without ohai installed
-rw-r--r-- | src/lib/Server/Plugins/Ohai.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/lib/Server/Plugins/Ohai.py b/src/lib/Server/Plugins/Ohai.py index 6bd3edc34..049aadd4f 100644 --- a/src/lib/Server/Plugins/Ohai.py +++ b/src/lib/Server/Plugins/Ohai.py @@ -19,8 +19,18 @@ except: raise ImportError -class OhaiCache(object): +probecode = """#!/bin/sh + +if type ohai >& /dev/null; then + ohai +else + echo group:ohai-not-installed + # an empty dict, so "'foo' in metadata.Ohai" tests succeed + echo '{}' +fi +""" +class OhaiCache(object): def __init__(self, dirname): self.dirname = dirname self.cache = dict() @@ -62,7 +72,7 @@ class Ohai(Bcfg2.Server.Plugin.Plugin, Bcfg2.Server.Plugin.Connector.__init__(self) self.probe = lxml.etree.Element('probe', name='Ohai', source='Ohai', interpreter='/bin/sh') - self.probe.text = 'ohai' + self.probe.text = probecode try: os.stat(self.data) except: |