From 320ce8f5f1d4e28434b41d03ff77e581faf8e213 Mon Sep 17 00:00:00 2001 From: Michael DeHaan Date: Mon, 27 Feb 2012 23:15:11 -0500 Subject: [PATCH] If ohai is present, do the same with facter and make it available for the templating engine --- library/setup | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/library/setup b/library/setup index be9e3ab4394..609d361f8d4 100755 --- a/library/setup +++ b/library/setup @@ -47,6 +47,25 @@ if os.path.exists("/usr/bin/facter"): for (k,v) in facter_ds.items(): new_options["facter_%s" % k] = v +# ditto for ohai, but just top level string keys +# because it contains a lot of nested stuff we can't use for +# templating w/o making a nicer key for it (TODO) + +if os.path.exists("/usr/bin/ohai"): + cmd = subprocess.Popen("/usr/bin/ohai", shell=True, + stdout=subprocess.PIPE, stderr=subprocess.PIPE) + out, err = cmd.communicate() + ohai = True + try: + ohai_ds = json.loads(out) + except: + ohai = False + if ohai: + for (k,v) in ohai_ds.items(): + if type(v) == str or type(v) == unicode: + k2 = "ohai_%s" % k + new_options[k2] = v + # write the template/settings file using # instructions from server