summaryrefslogtreecommitdiff
path: root/cloudinit/sources/__init__.py
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2015-07-22 15:04:27 -0400
committerScott Moser <smoser@ubuntu.com>2015-07-22 15:04:27 -0400
commitde18aa66ad5cfdff5e0e25ae4f8f7a0328021b5b (patch)
tree5411ebc10bb3a23dd6a04cc71ac45054a4d9cb31 /cloudinit/sources/__init__.py
parent8f37f2755d7e1ab9a6537bb7faa68df142cc99e4 (diff)
parenta86942a57cea02f69cf250053ebf1db79c7d5157 (diff)
downloadvyos-cloud-init-de18aa66ad5cfdff5e0e25ae4f8f7a0328021b5b.tar.gz
vyos-cloud-init-de18aa66ad5cfdff5e0e25ae4f8f7a0328021b5b.zip
provide data source to mirror selection code for region-specific mirrors.
This makes the full data source available to the mirror selection code, which means we can implement region logic on the data source for everything to use rather than it being mirror-selection-specific. It also implements that region logic for EC2 and GCE. LP: #1470890
Diffstat (limited to 'cloudinit/sources/__init__.py')
-rw-r--r--cloudinit/sources/__init__.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/cloudinit/sources/__init__.py b/cloudinit/sources/__init__.py
index 39eab51b..a21c08c2 100644
--- a/cloudinit/sources/__init__.py
+++ b/cloudinit/sources/__init__.py
@@ -157,6 +157,10 @@ class DataSource(object):
return self.metadata.get('availability-zone',
self.metadata.get('availability_zone'))
+ @property
+ def region(self):
+ return self.metadata.get('region')
+
def get_instance_id(self):
if not self.metadata or 'instance-id' not in self.metadata:
# Return a magic not really instance id string
@@ -210,8 +214,7 @@ class DataSource(object):
return hostname
def get_package_mirror_info(self):
- return self.distro.get_package_mirror_info(
- availability_zone=self.availability_zone)
+ return self.distro.get_package_mirror_info(data_source=self)
def normalize_pubkey_data(pubkey_data):