public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Ron O'Hara <rono@sentuny.com.au>
To: chris.rs@xtra.co.nz
Cc: gentoo-dev@gentoo.org
Subject: Re: [gentoo-dev] Large scale deployments - and portage
Date: Mon, 18 Aug 2003 10:34:29 +1000	[thread overview]
Message-ID: <3F401F15.9060204@sentuny.com.au> (raw)
In-Reply-To: <200308181026.44148.chris.rs@xtra.co.nz>

Hi Chris

Chris Smith wrote:
[chop]

>I think the real trick to it, is having a central server for you. There is a 
>great post on it in the forums somewhere. Having one box for 500 gentoo boxes 
>downloading all the distfiles, and doing all the rsyncs is a big bandwidth 
>saver!
>
>  
>
>>Now the only question is - did I miss something and this already exists?
>>    
>>
>
>Not really. Here is that forum post if you are interested:
>http://forums.gentoo.org/viewtopic.php?t=59134
>

Thanks for the link.  Ok I've read it and along with you, a few others 
have explained how they are using their own mirror of files (in one form 
or other) .. I am already assumming that that is the approach that every 
large site would setup.
My issue is more about version control and change control in a complex 
large deployment - the bandwidth issue is solved by the local mirror, 
but versioning is not.

I put a lot more about this in a reply to Stuart and Cc'd the list. In 
essence, big sites want things to operate at a known software level for 
all components. Gentoo gives brilliant support for deployment and 
upgrades, but does not directly support locking things down at a 
'specific release'. The local mirror is just a hack for that aspect (it 
is still needed for performance reasons)

One thing I didn't point out in the earlier mail, is another consequence 
of change control issues in large deployments. Many huge sites ALWAYS 
run multiple release levels of all sorts of things, for the simple 
reason that logistics prevent them ever having all systems running at 
the same level. Change windows are constrained and there are multiple 
teams of developers and admins working through changes all the time. 
Organized hell!!

Eg. BT in the Uk deploys a new Cisco router about every 30 minutes... 
every day of the year!!  Thats an operation with SCALE. By definition, 
their routers are never ALL running the same release of IOS.. they are 
always managing the operation of multiple versions in production - and 
multiple migration paths are being tested all the time. - Continuous 
organized hell!!
A similar situation exists for their Solaris deployments - multiple 
versions in production.

You also get the situation where one business application is only 
certified to run on version x.y.z with patches a+b+c of an operating 
system, and another (also essential) business application is only 
certifed to run on some other version with some other set of patches.

How do you support that using the current Gentoo? Unfortunately not as 
easily as you can with a distro like RedHat. But I suspect that if some 
form of 'tag' or 'label' becomes supported through the portage tree, 
then Gentoo will in fact offer the equivelant support in this area and 
have a superior ability in the upgrade/security fix area.


As for how this could be done... hmmmm.  I suspect putting the portage 
tree into CVS and then using something like 'cvsfs' 
(http://www.gnu.org/directory/sysadmin/vc/cvsfs.html) to present it to 
rsync would be good enough..



Thinking out loud::::

backward compatibility - current rsync updates would continue unchanged 
so 'migration' is a non-event.

New features: If you mirrored the CVS repository to your local miror (I 
think the cvs client can do that?), then your local mirror can offer 
different views of the portage tree at any of the labels it holds. 
Multiple concurrent versions could be presented under different 'host 
names' for the internal rsync process.
In fact you could use that to achieve the same thing for the global 
situation too.


Eg.

Assume I have set up a fake host called   'Aug2003.acme.com' as one way 
to access my local rsync mirror. In this host name, rsyncd runs chrooted 
to the CVS view of the files against the 'tag' for August-2003.  The 
same can happen for any other 'tag' to allow multiple externally 
accessible views of the portage tree via rsync against my local mirror.

All I need to do for my Aug2003 version gentoo machines is point them at 
that fake host name. The same goes for other versions.


Ok - where is that different to running multiple local mirrors?  It's 
different in one important way (and there is a saving on disk 
space/bandwidth too).
The primary difference is that the 'tags' are publicly defined by the 
Gentoo project. That means that external vendors can take a 'tag' and QA 
their software against it. Their customers can then install using the 
predefined 'tag' and use that vendors software ...

Plus if, the gentoo project choses to offer the same type of central 
repository, then a 'release' also implies the creation of an rsync 
hostname for accessing that release (and only  that release). It also 
provides a way to remove 'supported' access to that release by removing 
the hostname -- simple DNS changes.
For those companies that take a mirror - there is no need to remove the 
internal CVS labels so old 'releases' in  the portage tree can live for 
a long time after they are publicly accessible from Gentoo.


end of thinking through my hat!!

more ramblings from me.... but still - worth discussing to help bring 
Gentoo into the corporate realm



Regards
Ron O'Hara
http://www.openconsulting.us



--
gentoo-dev@gentoo.org mailing list


  parent reply	other threads:[~2003-08-18  0:34 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-17 22:09 [gentoo-dev] Large scale deployments - and portage Ron O'Hara
2003-08-17 22:13 ` Stuart Herbert
2003-08-17 23:27   ` Ron O'Hara
2003-08-18  0:22     ` Matt Thrailkill
2003-08-18 14:14       ` Stuart Herbert
2003-08-17 23:17 ` Robin H. Johnson
2003-08-17 23:37   ` Don Seiler
2003-08-18  8:24   ` Paul de Vrieze
2003-08-18  9:38     ` Robin H. Johnson
     [not found] ` <200308181026.44148.chris.rs@xtra.co.nz>
2003-08-18  0:34   ` Ron O'Hara [this message]
2003-08-18  8:38     ` Paul de Vrieze
2003-08-18  0:42 ` Brian Jackson
2003-08-18 14:45   ` Stuart Bouyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3F401F15.9060204@sentuny.com.au \
    --to=rono@sentuny.com.au \
    --cc=chris.rs@xtra.co.nz \
    --cc=gentoo-dev@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox