diff options
author | Chuck Short <zulcss@ubuntu.com> | 2009-04-06 23:04:49 +0100 |
---|---|---|
committer | Bazaar Package Importer <jamesw@ubuntu.com> | 2009-04-06 23:04:49 +0100 |
commit | c3ba031b7feb74bfbaf54fd73b599c95ed0df765 (patch) | |
tree | db1dafc0bbb13a0efe1ec3f8c46220d5937aea4f /ec2-set-apt-sources.py | |
parent | 6dddf16cb8dea2e1a96b3d613b81087df247fd3d (diff) | |
download | vyos-cloud-init-c3ba031b7feb74bfbaf54fd73b599c95ed0df765.tar.gz vyos-cloud-init-c3ba031b7feb74bfbaf54fd73b599c95ed0df765.zip |
* debian/control:
- Add python-cheetah and python-apt as a dependency.
* debian/ec2-config.cfg:
- Remove distro due to the change in ec2-set-apt-sources.py
* debian/inistall
- Install the templates in the right place.
* ec2-set-apt-sources.py:
- Use python-apt to update the sources.list.
Diffstat (limited to 'ec2-set-apt-sources.py')
-rwxr-xr-x | ec2-set-apt-sources.py | 44 |
1 files changed, 32 insertions, 12 deletions
diff --git a/ec2-set-apt-sources.py b/ec2-set-apt-sources.py index 0cf4f09d..46ca0a48 100755 --- a/ec2-set-apt-sources.py +++ b/ec2-set-apt-sources.py @@ -21,8 +21,21 @@ import os import sys import urllib +import socket +import apt +import apt_pkg from Cheetah.Template import Template +def checkServer(): + s = socket.socket() + try: + address = '169.254.169.254' + port = 80 + s.connect((address,port)) + except socket.error, e: + print "!!! Unable to connect to %s." % address + sys.exit(0) + def detectZone(): api_ver = '2008-02-01' metadat = None @@ -36,18 +49,25 @@ def detectZone(): return(archive) -t = os.popen("lsb_release -c").read() -codename = t.split() -mirror = detectZone() -distro = codename[1] +def updateList(): + mirror = detectZone() + if not os.path.exists("/var/run/ec2/sources.lists"): + t = os.popen("lsb_release -c").read() + codename = t.split() + distro = codename[1] -mp = {'mirror' : mirror, 'codename' : distro} -t = Template(file="/etc/ec2-init/templates/sources.list.tmpl", searchList=[mp]) + mp = {'mirror' : mirror, 'codename' : distro} + t = Template(file="/etc/ec2-init/templates/sources.list.tmpl", searchList=[mp]) + f = open("/var/run/ec2/sources.list", "w") + f.write('%s' %(t)) + f.close() -f = open("/var/run/ec2/sources.list", "w") -f.write('%s' %(t)) -f.close() + if not os.path.exists("/etc/apt/sources.list-ec2-init"): + os.system("mv /etc/apt/sources.list /etc/apt/sources.list-ec2-init") + os.symlink("/var/run/ec2/sources.list", "/etc/apt/sources.list") + cache = apt.Cache(apt.progress.OpProgress()) + prog = apt.progress.FetchProgress() + cache.update(prog) -os.system("mv /etc/apt/sources.list /etc/apt/sources.list-ec2-init") -os.system("ln -s /var/run/ec2/sources.list /etc/apt/sources.list") -os.system("apt-get update 2>&1 > /dev/null") +checkServer() +updateList() |