[CentOS-devel] Anaconda improvement for network installs

Fri Feb 8 16:03:44 UTC 2008
Dag Wieers <dag at centos.org>

On Tue, 5 Feb 2008, Johnny Hughes wrote:

> Seán O Sullivan wrote:
> > On Mon, 4 Feb 2008 20:39:10 +0100 (CET)
> > Dag Wieers <dag at wieers.com> wrote:
> >
> > > Today I got a nice feature request from an OpenSUSE friend :)
> > >
> > > When doing a network installation, it could be useful to have a
> > > centos-mirror pre-registered into the installation form so that you do
> > not need a second system (or a reboot to your previous OS) to look up
> > what the correct mirror address is.
> > > The actual suggestion was to have a pull-down list of mirrors per
> > country, but with our mirror-setup a single entry would most likely do
> > anyway. Plus it keeps the changes to anaconda down to a minimum !
> > > This maybe something that we could take with us for CentOS 5.2 (and 4.7
> > and a 3.9 respin ?)
> >
> > I think a major problem with implementing the above is lack of proxy
> > support in anaconda : https://bugzilla.redhat.com/show_bug.cgi?id=141988
>
> Well .. I am not necessarily against this, HOWEVER one other major issue is
> that by our most important goal, we are (be design) trying to absolutely
> minimize any code changes that are not in upstream products.
>
> Adding a default mirror to the anaconda would do 2 things:
>
> 1.  Greatly increase our traffic from where ever we decide to put there ...
> probably mirror.centos.org.  Anaconda does not work with a mirrorlist option.
> This means a default would have to be obtained with new code or we would have
> to use something like mirror.centos.org and give out 1 mirror that can be
> controlled by geoip.  However, I am not sure we can handle a 100x increase in
> our infrastructure bandwidth requirements (not sure it would go up that much,
> just throwing out a number) and still provide normal updates.

Indeed, we need to consider the implications. I was thinking of using the
geoip setup for this. (Otherwise the changes to the interface would indeed
be much more complex allowing users to select a mirror...)

I doubt however that the increase would be 100x, as most people that have
the boot medium most likely would have everything on CD. It is only useful
for people booting from USB or a specially devised installation CD.

If you are in the situation where you have a local HTTP mirror, you
obviously would be changing the default CentOS mirror. So I think it would
be very convenient only to people that otherwise would be have to look up
the correct URL and providing it themselves.

If this would not be acceptable nevertheless, than I would propose to
write the mirror-information somewhere on the dialog so people that need
it can retype.


> 2.  May somehow impact anaconda and introduce bugs that do not exist upstream.
>
> =====================================================================
>
> Anyway, again I am not necessarily against doing this, but I don't think that
> centos.org infrastructure is where we want to drive this to by adding a
> default.
>
> Instead, a well written wiki article that points to the centos public mirrors
> page and allows users to pick their closest mirror ... maybe even a script
> that can be used from another machine in that location to get several up2date
> and close mirrors (the [base] repo which provides the server and path that is
> needed) from mirrorlist.centos.org.
>
> We might even include that script in anaconda that can pull the current
> mirrorlist for the base repo ... but I think that you can not go to alt-f2/f3
> in this stage of the install process to run it.
>
> I am sure that Daniel de Kok or Karanbir could write something in python that
> would go get the info from mirrorlist.centos.org and make it selectable ...
> and we could add it to anaconda for http installs (maybe a dropdown box that
> pulls server names from mirrorlist.centos.org and populates a box ... if you
> pick one, it fills in the data). It would probably not work through proxy
> servers (since anaconda does not now anyway). I am not sure how difficult that
> would be or if we want to add that kind of code to anaconda based on reason 2
> above.
>
> It is hard enough to get anaconda to work when we just take out the trademarks
> ... actually adding major functionality like this might be too hard to
> maintain, but I will defer to Daniel and KB on this one.

Well, I agree with the fact that CentOS should modify as little as
possible, obviously. But this is not something that Red Hat will ever do
and therefor the feature request is very specific to CentOS.

I would propose to keep it simple by doing either:

	Fill in a geoip location for the server and directory name by
	default, people that do not need it have to type their own
	location anyway

or:

	Put that information in the same dialog so people can retype it
	when they need it

Everything else is not a real improvement as it requires people to have
Internet access at the same moment (or think about it in advance). In
certain situations you don't know in advance you are going to need this.

Including this geoip mirror for HTTP installations in the release notes
on the media would be a bonus as well.

If there is a wiki-page that keeps a list of things to include in future
CentOS release (or versions) I will put it there.

-- 
--   dag wieers,  dag at centos.org,  http://dag.wieers.com/   --
[Any errors in spelling, tact or fact are transmission errors]