From d8c2837f8c0098d7fa5e05ea441531ec0191a409 Mon Sep 17 00:00:00 2001 From: Marc Cluet Date: Sun, 20 Feb 2011 13:45:12 +0000 Subject: Changes to mcollective module, added docs --- cloudinit/CloudConfig/cc_mcollective.py | 16 +++++++++++----- doc/examples/cloud-config-mcollective.txt | 15 +++++++++++++++ 2 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 doc/examples/cloud-config-mcollective.txt diff --git a/cloudinit/CloudConfig/cc_mcollective.py b/cloudinit/CloudConfig/cc_mcollective.py index ce86a2aa..b06f0207 100644 --- a/cloudinit/CloudConfig/cc_mcollective.py +++ b/cloudinit/CloudConfig/cc_mcollective.py @@ -20,6 +20,7 @@ import os import pwd import socket import subprocess +import fileinput import StringIO import ConfigParser import cloudinit.CloudConfig as cc @@ -53,11 +54,16 @@ def handle(name,cfg,cloud,log,args): # to overwrite or create new items as needed for o, v in cfg.iteritems(): mcollective_config.set(cfg_name,o,v) - # We got all our config as wanted we'll rename - # the previous server.cfg and create our new one - os.rename('/etc/mcollective/server.cfg','/etc/mcollective/server.cfg.old') - with open('/etc/mcollective/server.cfg', 'wb') as configfile: - mcollective_config.write(configfile) + # We got all our config as wanted we'll rename + # the previous server.cfg and create our new one + os.rename('/etc/mcollective/server.cfg','/etc/mcollective/server.cfg.old') + outputfile = StringIO.StringIO() + mcollective_config.write(outputfile) + # Now we got the whoe file, write to disk except first line + final_configfile = open('/etc/mcollective/server.cfg', 'wb') + final_configfile.write(outputfile.getvalue().replace('[nullsection]\n','')) + final_configfile.close() + # Start mcollective subprocess.check_call(['service', 'mcollective', 'start']) diff --git a/doc/examples/cloud-config-mcollective.txt b/doc/examples/cloud-config-mcollective.txt new file mode 100644 index 00000000..ca7ba03e --- /dev/null +++ b/doc/examples/cloud-config-mcollective.txt @@ -0,0 +1,15 @@ +#cloud-config +# +# This is an example file to automatically setup and run mcollective +# when the instance boots for the first time. +# Make sure that this file is valid yaml before starting instances. +# It should be passed as user-data when starting the instance. +mcollective: + # Every key present in the conf object will be added to server.cfg: + # key: value + # + # For example the configuration below will have the following key + # added to server.cfg: + # plugin.stomp.host: dbhost + conf: + plugin.stomp.host: dbhost -- cgit v1.2.3 From 668ac16c88f4ce7bbc0bce09dee00dfb34cc290b Mon Sep 17 00:00:00 2001 From: Marc Cluet Date: Sun, 20 Feb 2011 14:08:55 +0000 Subject: Change output format for ConfigParser --- cloudinit/CloudConfig/cc_mcollective.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cloudinit/CloudConfig/cc_mcollective.py b/cloudinit/CloudConfig/cc_mcollective.py index b06f0207..d7302fe8 100644 --- a/cloudinit/CloudConfig/cc_mcollective.py +++ b/cloudinit/CloudConfig/cc_mcollective.py @@ -61,7 +61,7 @@ def handle(name,cfg,cloud,log,args): mcollective_config.write(outputfile) # Now we got the whoe file, write to disk except first line final_configfile = open('/etc/mcollective/server.cfg', 'wb') - final_configfile.write(outputfile.getvalue().replace('[nullsection]\n','')) + final_configfile.write(outputfile.getvalue().replace('[nullsection]\n','').replace(' =',':')) final_configfile.close() # Start mcollective -- cgit v1.2.3