From 63ba097865e1d038d82a7fa1d6efd282784677f5 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Tue, 26 Jan 2010 16:40:10 -0500 Subject: move writing sources.list to CloudConfig. add 'apt_preserve_sources_list' Move the writing of sources.list to CloudConfig. This way we have access to the cloud-config user data. Then, allow the user to specify the archive mirror using 'apt_mirror' key. Now, if specified in cloud-config, that is used, otherwise, we get one from the DataSource. One other change here is adding 'apt_preserve_sources_list'. If set to true, then overwriting of the sources.list with the selected mirror will not be done. --- ec2-init.py | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) (limited to 'ec2-init.py') diff --git a/ec2-init.py b/ec2-init.py index 66fd62e2..7597e9c6 100755 --- a/ec2-init.py +++ b/ec2-init.py @@ -1,10 +1,10 @@ #!/usr/bin/python import subprocess -from Cheetah.Template import Template import sys import ec2init +import ec2init.util as util def warn(str): sys.stderr.write(str) @@ -56,27 +56,15 @@ def main(): sys.exit(0) -def render_to_file(template, outfile, searchList): - t = Template(file='/etc/ec2-init/templates/%s.tmpl' % template, searchList=[searchList]) - f = open(outfile, 'w') - f.write(t.respond()) - f.close() - def set_defaults(cloud): - generate_sources_list(cloud.get_mirror()) apply_locale(cloud.get_locale()) def apply_locale(locale): subprocess.Popen(['locale-gen', locale]).communicate() subprocess.Popen(['update-locale', locale]).communicate() - render_to_file('default-locale', '/etc/default/locale', { 'locale' : locale }) - -def generate_sources_list(mirror): - stdout, stderr = subprocess.Popen(['lsb_release', '-cs'], stdout=subprocess.PIPE).communicate() - codename = stdout.strip() - - render_to_file('sources.list', '/etc/apt/sources.list', { 'mirror' : mirror, 'codename' : codename }) + util.render_to_file('default-locale', '/etc/default/locale', \ + { 'locale' : locale }) if __name__ == '__main__': main() -- cgit v1.2.3