Process cloud config tasks only if they are configured.

This commit is contained in:
James Bromberger 2013-12-25 12:47:17 +00:00
parent 7e3527d2af
commit 39f5e815b8
2 changed files with 17 additions and 4 deletions

View file

@ -27,7 +27,16 @@ def resolve_tasks(tasklist, manifest):
from tasks import DisableModules
from providers.ec2.tasks.initd import AddEC2InitScripts
from common.tasks import initd
tasklist.add(SetUsername, AutoSetMetadataSource, SetMetadataSource, DisableModules)
options = manifest.plugins['cloud_init']
tasklist.add(AutoSetMetadataSource)
if 'username' in options:
tasklist.add(SetUsername)
if 'disable_modules' in options:
tasklist.add(DisableModules)
if 'metadata_sources' in options:
tasklist.add(SetMetadataSource)
tasklist.remove(AddEC2InitScripts,
initd.AddExpandRoot,
initd.AdjustExpandRootScript,

View file

@ -68,9 +68,13 @@ class DisableModules(Task):
patterns = patterns + ")$"
regex = re.compile(patterns)
try:
f = open(info.root + "/etc/cloud/cloud.cfg")
lines = f.readlines()
f.close()
except:
print "Cannot read cloud.cfg"
return -1
f = open(info.root + "/etc/cloud/cloud.cfg", "w")
for line in lines: