summaryrefslogtreecommitdiff
path: root/cloudinit/CloudConfig/cc_mcollective.py
diff options
context:
space:
mode:
Diffstat (limited to 'cloudinit/CloudConfig/cc_mcollective.py')
-rw-r--r--cloudinit/CloudConfig/cc_mcollective.py23
1 files changed, 14 insertions, 9 deletions
diff --git a/cloudinit/CloudConfig/cc_mcollective.py b/cloudinit/CloudConfig/cc_mcollective.py
index d7302fe8..9aae2d64 100644
--- a/cloudinit/CloudConfig/cc_mcollective.py
+++ b/cloudinit/CloudConfig/cc_mcollective.py
@@ -27,14 +27,14 @@ import cloudinit.CloudConfig as cc
# Our fake header section
class FakeSecHead(object):
- def __init__(self, fp):
- self.fp = fp
- self.sechead = '[nullsection]\n'
- def readline(self):
- if self.sechead:
- try: return self.sechead
- finally: self.sechead = None
- else: return self.fp.readline()
+ def __init__(self, fp):
+ self.fp = fp
+ self.sechead = '[nullsection]\n'
+ def readline(self):
+ if self.sechead:
+ try: return self.sechead
+ finally: self.sechead = None
+ else: return self.fp.readline()
def handle(name,cfg,cloud,log,args):
# If there isn't a mcollective key in the configuration don't do anything
@@ -59,8 +59,13 @@ def handle(name,cfg,cloud,log,args):
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
+ # Now we got the whole file, write to disk except first line
final_configfile = open('/etc/mcollective/server.cfg', 'wb')
+ # Note below, that we've just used ConfigParser because it generally
+ # works. Below, we remove the initial 'nullsection' header
+ # and then change 'key = value' to 'key: value'. The global
+ # search and replace of '=' with ':' could be problematic though.
+ # this most likely needs fixing.
final_configfile.write(outputfile.getvalue().replace('[nullsection]\n','').replace(' =',':'))
final_configfile.close()