From 16ad53c10645ce0a097663780ecb5f92a92568f1 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Mon, 11 Jul 2011 08:06:23 -0400 Subject: made ohai plugin fail gracefully on machines without ohai installed --- src/lib/Server/Plugins/Ohai.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/lib/Server/Plugins') 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: -- cgit v1.2.3-1-g7c22