diff options
Diffstat (limited to 'ec2-init.py')
-rwxr-xr-x | ec2-init.py | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/ec2-init.py b/ec2-init.py index c335e7ca..6944ff54 100755 --- a/ec2-init.py +++ b/ec2-init.py @@ -34,7 +34,11 @@ def main(): raise # set the defaults (like what ec2-set-defaults.py did) - # TODO: cloud.set_defaults() + try: + generate_sources_list(cloud.get_mirror()) + apply_locale(cloud.get_locale()) + except: + warn("failed to set defaults") # set the ssh keys up cloud.apply_credentials() @@ -44,5 +48,23 @@ 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 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 }) + if __name__ == '__main__': main() |