DeployDynamicMirrors

Differences between revisions 1 and 4 (spanning 3 versions)
Revision 1 as of 2007-11-15 12:19:04
Size: 2601
Editor: p54A67FFC
Comment:
Revision 4 as of 2007-11-28 14:57:55
Size: 2066
Editor: p54A67A23
Comment:
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
This should provide an overview of the issue/functionality/change proposed here. Focus here on what will actually be DONE, summarising that so that other people don't have to read the whole spec. To spread the mirror load more evenly a new method in apt was
developed. This spec describes what must be done to deploy this new
method as default.
Line 14: Line 16:
This section should include a paragraph describing the end-user impact of this change. It is meant to be included in the release notes of the first release in which it is implemented. (Not all of these will actually be included in the release notes, at the release manager's discretion; but writing them is a useful exercise.)

It is mandatory.
TBD
Line 20: Line 20:
This should cover the _why_: why is this change being proposed, what justifies it, where we see this justified.

== Use Cases ==

== Assumptions ==
The mirror configuration is currently pretty static. It can either be
dns based or static in the users sources.list. A more dynamic approach
is needed to be able to deal with mirror changes quicker and to
distribute the mirror load better.
Line 28: Line 27:
You can have subsections that better describe specific parts of the issue. The new apt mirror method works by asking a server for a set of fast
closeby mirrors. The current location for this is on launchpad is
http://launchpad.net/ubuntu/+countrymirrors-archive
Line 30: Line 31:
== Implementation == Apt uses one of those mirrors then for fetching files. It will only
update the mirror information if apt-get update is called and it
additinally caches them to avoid hitting the central server too hard.
Line 32: Line 35:
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like: To enable the new apt mirror methods as default we need to take the
following steps:
 1. change apt-setup to write mirror:// urls instead of http:// urls it does no longer need to write any mirror info itself
 1. change the apt mirror methods to only update the mirror information only if apt sends send IndexFile=True to the methods (to ensure that Packages information is always in sync with the mirror that is downloaded from) [done]
 1. Ensure that the cached mirror information is used if the main mirror is not reachable (this should be the case but needs to be tested).
Line 34: Line 41:
=== UI Changes ===

Should cover changes required to the UI, or specific UI that is required to implement this

=== Code Changes ===

Code changes should include an overview of what needs to change, and in some cases even the specific details.

=== Migration ===

Include:
 * data migration, if any
 * redirects from old URLs to new ones, if any
 * how users will be pointed to the new way of doing things, if necessary.
Line 51: Line 44:
It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during CD testing, and to show off after release. TBD
Line 53: Line 46:
This need not be added or completed until the specification is nearing beta. == Outstanding issues ==
Line 55: Line 48:
== Outstanding Issues == Launchpad needs to be optimized so that the load from the users asking
for mirorr information can be handled. Salgado was confident that this
is possible with server side caching.
Line 57: Line 52:
This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.

== BoF agenda and discussion ==

Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

To spread the mirror load more evenly a new method in apt was developed. This spec describes what must be done to deploy this new method as default.

Release Note

TBD

Rationale

The mirror configuration is currently pretty static. It can either be dns based or static in the users sources.list. A more dynamic approach is needed to be able to deal with mirror changes quicker and to distribute the mirror load better.

Design

The new apt mirror method works by asking a server for a set of fast closeby mirrors. The current location for this is on launchpad is http://launchpad.net/ubuntu/+countrymirrors-archive

Apt uses one of those mirrors then for fetching files. It will only update the mirror information if apt-get update is called and it additinally caches them to avoid hitting the central server too hard.

To enable the new apt mirror methods as default we need to take the following steps:

  1. change apt-setup to write mirror:// urls instead of http:// urls it does no longer need to write any mirror info itself

  2. change the apt mirror methods to only update the mirror information only if apt sends send IndexFile=True to the methods (to ensure that Packages information is always in sync with the mirror that is downloaded from) [done]

  3. Ensure that the cached mirror information is used if the main mirror is not reachable (this should be the case but needs to be tested).

Test/Demo Plan

TBD

Outstanding issues

Launchpad needs to be optimized so that the load from the users asking for mirorr information can be handled. Salgado was confident that this is possible with server side caching.


CategorySpec

DeployDynamicMirrors (last edited 2008-08-06 16:36:15 by localhost)