2012-11-08 19:24:54 |
Scott Moser |
description |
currently, the ec2 datasource has some code that selects the mirror location by looking at the availability-zone.
I think this is generally a pretty good idea. I'd like to extend that to other datasources, and not limit to ".ec2.archive.ubuntu.com".
The goal would be to basically check for a mirror at:
<availability-zone>[.<cloud>][dns-subdomain]
dns subdomain would default to '.cloud.archive.ubuntu.com'.
if the datasource provided the 'cloud' value, we'd use that, but otherwise just use availability-zone.
This would fit in with what we're currently doing on ec2, but would extend to others.
I'd just treat the "cc-direction-[0-9]" availability-zones specially, to know that this is an ec2 one. Then basically append ".ec2" in that case. |
=== Begin SRU Information ===
[Impact]
* Currently, local mirror selection is done specifically for EC2 instances
in the DataSource code. cloud-init will select
'us-east-1a.ec2.archive.ubuntu.com' as a mirror in EC2. However, in other
clouds, there is no way to get a local mirror selected.
The change here is to allow mirrors to be specified in configuration based
on templates that can include the "availability-zone". This makes the EC2
code generic and allows a cloud provider to have cloud-init select a local
mirror simply by presenting 'availability-zone' in the metadata.
With this change, if a cloud provider puts 'region-1.mycloud' into their
datasource metadata as the availability-zone, cloud-init will select
a mirror at 'region-1.mycloud.clouds.archive.ubuntu.com'. By default,
Canonical's dns will return that as a wildcard for archive.ubuntu.com,
but the information is availble now in the dns request to specify
the address of a local mirror.
[Test Case]
* This is really a feature backport. There is no specific bug here.
However, the behavior change is easily seen by running an instance on a
openstack cloud. Previously, the mirror selected would be
'archive.ubuntu.com'. With the change in place, the mirror will be:
'nova.clouds.archive.ubuntu.com' as by default openstack provides the
string 'nova' as the availability-zone.
[Regression Potential]
* Mirror selection will change. It is possible that users relying on
the old behavior will have to modify something.
[Other Information]
* We want this behavior brought back to 12.04 so that LTS images can "just work"
to select a local mirror simply by a change in DNS records. It will enable
large clouds to provide local mirrors easily.
=== End SRU Information ===
currently, the ec2 datasource has some code that selects the mirror location by looking at the availability-zone.
I think this is generally a pretty good idea. I'd like to extend that to other datasources, and not limit to ".ec2.archive.ubuntu.com".
The goal would be to basically check for a mirror at:
<availability-zone>[.<cloud>][dns-subdomain]
dns subdomain would default to '.cloud.archive.ubuntu.com'.
if the datasource provided the 'cloud' value, we'd use that, but otherwise just use availability-zone.
This would fit in with what we're currently doing on ec2, but would extend to others.
I'd just treat the "cc-direction-[0-9]" availability-zones specially, to know that this is an ec2 one. Then basically append ".ec2" in that case. |
|