diff options
author | Scott Moser <smoser@nelson> | 2010-01-07 21:14:00 -0500 |
---|---|---|
committer | Scott Moser <smoser@nelson> | 2010-01-07 21:14:00 -0500 |
commit | 495b58abad330d5511c1f80b07088c53461579c6 (patch) | |
tree | a084295fe1d05aaac888e20c13cd174eda7a7d60 /ec2init/DataSourceEc2.py | |
parent | 399f9ede1081a01b3c4d0e461ab269d3a42a5f71 (diff) | |
download | vyos-cloud-init-495b58abad330d5511c1f80b07088c53461579c6.tar.gz vyos-cloud-init-495b58abad330d5511c1f80b07088c53461579c6.zip |
add setting of default locale and apt-sources
Diffstat (limited to 'ec2init/DataSourceEc2.py')
-rw-r--r-- | ec2init/DataSourceEc2.py | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/ec2init/DataSourceEc2.py b/ec2init/DataSourceEc2.py index 5d3bab88..cdea0b3e 100644 --- a/ec2init/DataSourceEc2.py +++ b/ec2init/DataSourceEc2.py @@ -14,17 +14,12 @@ class DataSourceEc2(DataSource.DataSource): location_locale_map = { 'us' : 'en_US.UTF-8', - 'eu' : 'en_GB.UTF-8' - } - - location_archive_map = { - 'us' : 'http://us.ec2.archive.ubuntu.com/ubuntu', - 'eu' : 'http://eu.ec2.archive.ubuntu.com/ubuntu' + 'eu' : 'en_GB.UTF-8', + 'default' : 'en_US.UTF-8', } def __init__(self): - self.meta_data_base_url = 'http://169.254.169.254/%s/meta-data' % self.api_ver - self.userdata_base_url = 'http://169.254.169.254/%s/user-data' % self.api_ver + pass def get_data(self): try: @@ -77,20 +72,29 @@ class DataSourceEc2(DataSource.DataSource): # self.instance_metadata = getattr(self, 'instance_metadata', boto.utils.get_instance_metadata()) # return self.instance_metadata - def get_ami_id(self): - return self.get_instance_metadata()['ami-id'] - def get_availability_zone(self): - conn = urllib2.urlopen('%s/placement/availability-zone' % self.meta_data_base_url) - return conn.read() + return(self.metadata['placement']['availability-zone']) + + def get_local_mirror(self): + return(self.get_mirror_from_availability_zone()) + + def get_locale(self): + az = self.metadata['placement']['availability-zone'] + if self.location_locale_map.has_key[az[0:2]]: + return(self.location_locale_map[az]) + else: + return(self.location_locale_map["default"]) def get_hostname(self): - hostname = self.get_instance_metadata()['local-hostname'] + hostname = self.metadata['local-hostname'] hostname = hostname.split('.')[0] return hostname - def get_mirror_from_availability_zone(self, availability_zone): + def get_mirror_from_availability_zone(self, availability_zone = None): # availability is like 'us-west-1b' or 'eu-west-1a' + if availability_zone == None: + availability_zone = self.get_availability_zone() + try: host="%s.ec2.archive.ubuntu.com" % availability_zone[:-1] socket.getaddrinfo(host, None, 0, socket.SOCK_STREAM) |