* [gentoo-dev] Large scale deployments - and portage @ 2003-08-17 22:09 Ron O'Hara 2003-08-17 22:13 ` Stuart Herbert ` (3 more replies) 0 siblings, 4 replies; 13+ messages in thread From: Ron O'Hara @ 2003-08-17 22:09 UTC (permalink / raw To: gentoo-dev Hi, I may have missed something in all the docs, but as far as I can see there is what should be a fairly simple enhancement to portage that would help considerably in making Gentoo more practical in larger deployments. I came to gentoo to get the advantages of being able to tailor my system(s) and still have a simple, consistent upgrade path for all the component software - portage is great for that. From the developer and tinkerer point of view it is hard to see improvements in the overall strategy behind portage. BUT - for larger deployments, there are extra needs which are not currently handled by portage - but should be a snap to implement. In large deployments, it is critical to maintain strong change control and have predictable environments that you can validate application performance in. Many places use a strategy like: "All production servers are RedHat 7.1 (or Solaris 2.7, or Windows 2000 +SP5 ... etc)" At present I cant see a way to easily do that with gentoo. Eg. Gentoo 1.4 final is really just a starting point - the minute you do an 'emerge sync', you have an unknown mix of software. And worse, if you do it an hour later on a different machine, it could be a slight different mix again - different from the first box. It is relatively easy to compare the portage trees and work out what the differences are, but thats not much help If it were possible to 'tag' the portage tree with labels at regular intervals, and and do an 'emerge sync' with a nominated 'tag' - then you would have the equivelant of the fixed points that other distributions have when they cut a release CD. As an example scenario for someone building deployment images in a huge telco. After some experimentation, they decide that their basic gentoo system will be 'gentoo with rsync tag gentoo-1.4-Aug-2003' They take the first box and do a standard gentoo install, but at the 'emerge sync' point in the instructions, they do 'emerge sync tag=gentoo-1.4-Aug-2003'. They then complete all the package installations and tweaking that they want - site specific choices. This is a repeatable process!! - critical for duplicating an environment. As each of the systems is deployed - they are in a known state. Even nicer is that deployed systems can be easily upgraded to some other 'known environment' by doing an 'emerge sync tag=xxxx' to some later tag. For 'hotfixes', deployed boxes probably need the normal 'emerge sync' which will give them acvcess to the latest and greatest bug fix - but you would probably not do an 'emerge -u world' on these boxes unless moving it from one 'tag level' to another. Now the only question is - did I miss something and this already exists? Regards Ron O'Hara . -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-dev] Large scale deployments - and portage 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-17 23:17 ` Robin H. Johnson ` (2 subsequent siblings) 3 siblings, 1 reply; 13+ messages in thread From: Stuart Herbert @ 2003-08-17 22:13 UTC (permalink / raw To: Ron O'Hara, gentoo-dev [-- Attachment #1: signed data --] [-- Type: text/plain, Size: 1567 bytes --] Hi Ron, On Sunday 17 August 2003 11:09 pm, Ron O'Hara wrote: > If it were possible to 'tag' the portage tree with labels at regular > intervals, and and do an 'emerge sync' with a nominated 'tag' - then you > would have the equivelant of the fixed points that other distributions > have when they cut a release CD. It's an interesting idea ;-) You might want to have a look at running your own (internal) rsync mirror for your Gentoo boxes - and your own (internal) distfiles mirror too. This gives you complete control over what ebuilds your many Gentoo machines will get, and ensures that you can roll out software long after it has been removed from Gentoo's portage (we delete 'old' files all the time, when we believe they're obsolete, which really screws up consistency across a large deployment. However, with your own internal mirror, you can keep these ebuilds and their distfiles around long after Gentoo has dropped them!) Tbh, it's a hack, rather than a nice solid server/client enterprise-ready Portage solution, but it's one that does work. Best regards, Stu -- Stuart Herbert stuart@gentoo.org Gentoo Developer http://www.gentoo.org/ Beta packages for download http://dev.gentoo.org/~stuart/packages/ Come and meet me in March 2004 http://www.phparch.com/cruise/ GnuGP key id# F9AFC57C available from http://pgp.mit.edu Key fingerprint = 31FB 50D4 1F88 E227 F319 C549 0C2F 80BA F9AF C57C -- [-- Attachment #2: signature --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-dev] Large scale deployments - and portage 2003-08-17 22:13 ` Stuart Herbert @ 2003-08-17 23:27 ` Ron O'Hara 2003-08-18 0:22 ` Matt Thrailkill 0 siblings, 1 reply; 13+ messages in thread From: Ron O'Hara @ 2003-08-17 23:27 UTC (permalink / raw To: stuart; +Cc: gentoo-dev Hi Stuart, >You might want to have a look at running your own (internal) rsync mirror for >your Gentoo boxes - and your own (internal) distfiles mirror too. This gives >you complete control over what ebuilds your many Gentoo machines will get, >and ensures that you can roll out software long after it has been removed >from Gentoo's portage (we delete 'old' files all the time, when we believe >they're obsolete, which really screws up consistency across a large >deployment. However, with your own internal mirror, you can keep these >ebuilds and their distfiles around long after Gentoo has dropped them!) > Having your own rsync mirror is only really like having a single extra 'tag'... although it does address the issue of ebuilds that disappear. (so does /usr/local/portage) The other deficiency with running your own rsyncmirror is just that it's effectively a private 'fork' - that pushes lots of the maintenance issues back into your own lap. A primary benefit of using any 'distro' is that a bigger team is keeping an eye on all the changes going on. With a commercially backed distro like RedHat you are hoping that they have the financial resources to keep on supporting that distro and creating RPMS to match the old releases. You also have a defined statement about how long a particular old release is supported. Personally, I prefer the open source community approach for real guarantees that support will continue -even if I need to do a little bit of it myself on behalf of the community - and this is a different issue from the idea of supporting 'tags' against the emerge sync. The community (collectively) has more resources than any individual or company. You are also right that removing 'old' files from portage is an issue... in fact probably a show stopper in some instances. Perhaps the solution is to look at it as if the portage tree is under CVS control. That would make the unstable "~arch" stuff associated with the HEAD of the tree. You would need a label to identify the equivelant of the 'stable' branch. Other labels would represent the 'tag's available for using with emerge sync. In this style of setup, old ebuilds are not 'deleted' - just removed from the stable and HEAD parts of the tree. IE. They still exists within the 'tag' that represents the historical development of gentoo. They are no longer maintained, but are still part of an 'old release' (or tag) (I'm really thinking of it more in terms of a Clearcase style version control file system where a user has a 'view' of the files at a particular point in time on a particular branch of development - maybe use http://www.gnu.org/directory/sysadmin/vc/cvsfs.html ???) The associated space and bandwidth issues for mirror sites can be addressed by only mirroring the HEAD and 'stable' parts - this is the same as the current level. It then becomes easy to implement a policy for support of 'back releases' - you could just choose something like - "gentoo maintains four years worth of tagged versions." Not only that, if any company wants to have a longer timeframe supported, then they only need to offer disk space and bandwidth support to achieve this - or THEN run their own rsync mirror. Since gentoo is a source level distro, many of the hassles that RedHat, Mandrake etc have making RPMS for old releases dont apply. I'm NOT implying developer support for 'old' ebuilds - but if package 'xzy' used to be available with Gentoo in Aug2002, it should still be available when you are building a system at that version level. This would also mean that if someone really must have it supported - then they can do it themselves and get it moved back into the main branch. If this 'tag' idea makes it attactive for companies to use Gentoo, then I would expect an explosion in the number of active (company paid) developers maintaining the ebuilds of little programs that the core team could not justify supporting. Another thing that running your own rsync mirror can never achieve is third party vendor certification. Having defined 'tags' would allow companies like Oracle to certify a particular version of Gentoo as being supported. Thats not currently possible. The very power and flexibility that Gentoo gives developers is also totally incompatible with the major software vendor QA techniques. Using a 'tag' would go a long way to overcoming this. It would become possible for people like SAP to certify their products as supported with specific 'make.conf' settings for a specific tag. Thats enough to make Gentoo fine for both the Quality Assured type large deployment and yet still retain brilliant upgrade and security patch capabilities. Cheers Ron > >Tbh, it's a hack, rather than a nice solid server/client enterprise-ready >Portage solution, but it's one that does work. > >Best regards, >Stu > > -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-dev] Large scale deployments - and portage 2003-08-17 23:27 ` Ron O'Hara @ 2003-08-18 0:22 ` Matt Thrailkill 2003-08-18 14:14 ` Stuart Herbert 0 siblings, 1 reply; 13+ messages in thread From: Matt Thrailkill @ 2003-08-18 0:22 UTC (permalink / raw To: gentoo-dev I've been using my own rsync mirror for my handful of Gentoo boxes, and for a long time I've been lusting after something like tagged branches of the Portage tree like how you have Woody or Slink or Sarge in Debian, or how you have -CURRENT, -STABLE, -RELENG_N_M in FreeBSD. This discussion has come up a few times on this list before, in short form. It sounds like the core Gentoo team is busier with other things, and the zeitgeist is that people like us would just use the GRP. I'd LOVE to start/work on some sort of project to maintain different Portage trees for people to rsync against. I think it could work out really well, it'd be a symbiotic relationship to the current Gentoo - the herd of Gentoo developers can continue advancing the distro, adding bleeding edge ebuilds to Portage, etc. Basically, advancing the Gentoo analogue of sid/-CURRENT. Then the other Portage Branches project can siphon off the ebuilds they want and apply their own pessimism to create stable branches, versioned releases of the tree and so on. Then people pick the branch they want to sync against, and use it. I wrote a short rant about it here: http://branched.modestolan.com On Mon, 18 Aug 2003 09:27:36 +1000 Ron O'Hara <rono@sentuny.com.au> wrote: > Having your own rsync mirror is only really like having a single extra > > 'tag'... although it does address the issue of ebuilds that disappear. > > (so does /usr/local/portage) > The other deficiency with running your own rsyncmirror is just that > it's effectively a private 'fork' - that pushes lots of the > maintenance issues back into your own lap. A primary benefit of using > any 'distro' is that a bigger team is keeping an eye on all the > changes going on. With a commercially backed distro like RedHat you > are hoping that they have the financial resources to keep on > supporting that distro and creating RPMS to match the old releases. > You also have a defined statement about how long a particular old > release is supported. > > Personally, I prefer the open source community approach for real > guarantees that support will continue -even if I need to do a little > bit of it myself on behalf of the community - and this is a different > issue from the idea of supporting 'tags' against the emerge sync. The > > community (collectively) has more resources than any individual or > company. > > You are also right that removing 'old' files from portage is an > issue... in fact probably a show stopper in some instances. Perhaps > the solution is to look at it as if the portage tree is under CVS > control. That would make the unstable "~arch" stuff associated with > the HEAD of the tree. You would need a label to identify the > equivelant of the 'stable' branch. Other labels would represent the > 'tag's available for using with emerge sync. > In this style of setup, old ebuilds are not 'deleted' - just removed > from the stable and HEAD parts of the tree. IE. They still exists > within the 'tag' that represents the historical development of gentoo. > They are no longer maintained, but are still part of an 'old release' > (or tag)(I'm really thinking of it more in terms of a Clearcase style > version control file system where a user has a 'view' of the files at > a particular point in time on a particular branch of development - > maybe use http://www.gnu.org/directory/sysadmin/vc/cvsfs.html ???) > > The associated space and bandwidth issues for mirror sites can be > addressed by only mirroring the HEAD and 'stable' parts - this is the > same as the current level. > > > It then becomes easy to implement a policy for support of 'back > releases' - you could just choose something like - "gentoo maintains > four years worth of tagged versions." Not only that, if any company > wants to have a longer timeframe supported, then they only need to > offer disk space and bandwidth support to achieve this - or THEN run > their own rsync mirror. > Since gentoo is a source level distro, many of the hassles that > RedHat, Mandrake etc have making RPMS for old releases dont apply. > > I'm NOT implying developer support for 'old' ebuilds - but if package > 'xzy' used to be available with Gentoo in Aug2002, it should still be > available when you are building a system at that version level. This > would also mean that if someone really must have it supported - then > they can do it themselves and get it moved back into the main branch. > If this 'tag' idea makes it attactive for companies to use Gentoo, > then I would expect an explosion in the number of active (company > paid) developers maintaining the ebuilds of little programs that the > core team could not justify supporting. > > > Another thing that running your own rsync mirror can never achieve is > third party vendor certification. Having defined 'tags' would allow > companies like Oracle to certify a particular version of Gentoo as > being supported. Thats not currently possible. The very power and > flexibility that Gentoo gives developers is also totally incompatible > with the major software vendor QA techniques. Using a 'tag' would go a > long way to overcoming this. > It would become possible for people like SAP to certify their products > > as supported with specific 'make.conf' settings for a specific tag. > Thats enough to make Gentoo fine for both the Quality Assured type > large deployment and yet still retain brilliant upgrade and security > patch capabilities. > > Cheers > Ron > > > > >Tbh, it's a hack, rather than a nice solid server/client > >enterprise-ready Portage solution, but it's one that does work. > > > >Best regards, > >Stu > > > > > > > > -- > gentoo-dev@gentoo.org mailing list > > -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-dev] Large scale deployments - and portage 2003-08-18 0:22 ` Matt Thrailkill @ 2003-08-18 14:14 ` Stuart Herbert 0 siblings, 0 replies; 13+ messages in thread From: Stuart Herbert @ 2003-08-18 14:14 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: signed data --] [-- Type: text/plain, Size: 4423 bytes --] Matt, Ron, I agree with you both - to a point. The current CVS strategy has gotten Gentoo this far, but it needs to evolve if Gentoo is to become more friendly to large companies. It is being talked about amongst key Gentoo developers, but at the moment I don't know the current status, or any timescales. One thing I'd like to see is the eradication of the word 'stable' from anything to do with Portage. Right now, I don't see any clear or consistent understanding of what 'stable' means, and I don't think that the term is actually very helpful. Does 'stable' mean fit for production use? Does it simply mean 'the ebuild works, and the app doesn't segfault when you fire it up'? It's not helpful. If Gentoo moves to a multiple-tree strategy, -CURRENT is fair enough I guess, as are -RELEASE branches (although the whole idea of a RELEASE needs re-considering too I believe). But what would -STABLE in between actually mean? We need a better word. Heck, even -UNMASKED would be a better start - at least it's more accurate, and something that we could reach a clear definition on. I believe that ebuilds *should* have a guaranteed minimum life expectency in the Portage tree; I also believe that developers *should* announce the removal of an ebuild before it is removed, to give time for any necessary debate or local archiving into /usr/local/portage. Right now, a) it doesn't happen, and b) there's nowhere suitable to make the announcement anyway. You can find out more about my opinion on managing individual ebuilds by reading a draft document on dev.gentoo.org/~stuart/sponsorship/. You'll need a PDF reader to read it. Getting back to managing the larger Portage tree ... I don't agree that providing support for 'tagged branches' is just as simple as making the tagged branches available for x period of time. A 'tagged branch' wouldn't be suitable for any large software provider to certify against - because it's an incomplete target. A tagged branch is just a bunch of ebuilds. It doesn't include the compiler you used, the CFLAGS you used, or the architecture you're running on. And the moment a branch is tagged, it becomes a liability. Let's look at a traditional SCM (software change management) problem for a moment. What happens to the 'tagged branch' when security problems are found? What about when important bug fixes are needed? Would we backport those ebuilds into the tagged branches? Where would that effort come from? Who would do that work? Look at the alternative - withdraw a particular tagged branch, and tell users to upgrade to a different tagged branch. Unfortunately, you're going to have an unpredictable amount of change between those branches. The effort of moving could be high, and would be difficult to plan for in advance. We'd end up like - shall we say - certain older distributions, where from time to time wiping the box is less hassle than performing the upgrade. What does a certification program involve? Any QA practice that is more than cosmetic would include SCM, and the SCM team would require that the exact versions of libraries and supporting utilities are identified and documented. Which is exactly how ebuilds work in practice. You'd have to throw in environmental factors - hardware, file systems & disk layouts, etc etc - but the ebuild is at the heart of it, and not the wider distribution. If all the technical factors are satisfied, then the QA practice would approve certification. Although a tag is a convenient way of saying that all these factors *should* be present, Gentoo's ebuilds provide a viable alternative. I really don't see how the Gentoo approach is incompatible with that QA practice. In reality, certifications are a political tool as much as a technical one - and there Gentoo will face new challenges for sure. Best regards, Stu -- Stuart Herbert stuart@gentoo.org Gentoo Developer http://www.gentoo.org/ Beta packages for download http://dev.gentoo.org/~stuart/packages/ Come and meet me in March 2004 http://www.phparch.com/cruise/ GnuGP key id# F9AFC57C available from http://pgp.mit.edu Key fingerprint = 31FB 50D4 1F88 E227 F319 C549 0C2F 80BA F9AF C57C -- [-- Attachment #2: signature --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-dev] Large scale deployments - and portage 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:17 ` Robin H. Johnson 2003-08-17 23:37 ` Don Seiler 2003-08-18 8:24 ` Paul de Vrieze [not found] ` <200308181026.44148.chris.rs@xtra.co.nz> 2003-08-18 0:42 ` Brian Jackson 3 siblings, 2 replies; 13+ messages in thread From: Robin H. Johnson @ 2003-08-17 23:17 UTC (permalink / raw To: Ron O'Hara; +Cc: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1058 bytes --] On Mon, Aug 18, 2003 at 08:09:03AM +1000, Ron O'Hara wrote: > I may have missed something in all the docs, but as far as I can see > there is what should be a fairly simple enhancement to portage that > would help considerably in making Gentoo more practical in larger > deployments. I do it in the same way that I handle FreeBSD systems. I have a single copy of the tree on a read-only NFS mount. I also have a minimal overlay tree that is also on a read-only NFS mount with some custom packages. I can manipulate that copy as I see fit, and it's already at all the machines. I have 26 machines at work currently running Gentoo, 6 of those are workstations and the rest servers. I'm actually going to be migrating the workstations back to Redhat due to pressure from users, but the servers are staying Gentoo. -- Robin Hugh Johnson E-Mail : robbat2@orbis-terrarum.net Home Page : http://www.orbis-terrarum.net/?l=people.robbat2 ICQ# : 30269588 or 41961639 GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85 [-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-dev] Large scale deployments - and portage 2003-08-17 23:17 ` Robin H. Johnson @ 2003-08-17 23:37 ` Don Seiler 2003-08-18 8:24 ` Paul de Vrieze 1 sibling, 0 replies; 13+ messages in thread From: Don Seiler @ 2003-08-17 23:37 UTC (permalink / raw To: Ron O'Hara, gentoo-dev Yes I was going to suggest something similar. We only have 6 desktop users at work right now but we all share the same /usr/portage via NFS. So all ebuilds and distfiles are from the same source. It seems silly to be re-downloading distfiles to every machine. Don. On Sun, Aug 17, 2003 at 04:17:02PM -0700, Robin H. Johnson wrote: > On Mon, Aug 18, 2003 at 08:09:03AM +1000, Ron O'Hara wrote: > > I may have missed something in all the docs, but as far as I can see > > there is what should be a fairly simple enhancement to portage that > > would help considerably in making Gentoo more practical in larger > > deployments. > I do it in the same way that I handle FreeBSD systems. I have a single > copy of the tree on a read-only NFS mount. I also have a minimal overlay > tree that is also on a read-only NFS mount with some custom packages. I > can manipulate that copy as I see fit, and it's already at all the > machines. > > I have 26 machines at work currently running Gentoo, 6 of those are > workstations and the rest servers. I'm actually going to be migrating > the workstations back to Redhat due to pressure from users, but the > servers are staying Gentoo. > > -- > Robin Hugh Johnson > E-Mail : robbat2@orbis-terrarum.net > Home Page : http://www.orbis-terrarum.net/?l=people.robbat2 > ICQ# : 30269588 or 41961639 > GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85 -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-dev] Large scale deployments - and portage 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 1 sibling, 1 reply; 13+ messages in thread From: Paul de Vrieze @ 2003-08-18 8:24 UTC (permalink / raw To: gentoo-dev > > I have 26 machines at work currently running Gentoo, 6 of those are > workstations and the rest servers. I'm actually going to be migrating > the workstations back to Redhat due to pressure from users, but the > servers are staying Gentoo. > Would you mind sharing with us what the users don't like about gentoo? If we know it, we might be able to improve. Paul -- Paul de Vrieze Researcher Mail: pauldv@cs.kun.nl Homepage: http://www.devrieze.net -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-dev] Large scale deployments - and portage 2003-08-18 8:24 ` Paul de Vrieze @ 2003-08-18 9:38 ` Robin H. Johnson 0 siblings, 0 replies; 13+ messages in thread From: Robin H. Johnson @ 2003-08-18 9:38 UTC (permalink / raw To: Paul de Vrieze; +Cc: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 740 bytes --] On Mon, Aug 18, 2003 at 10:24:03AM +0200, Paul de Vrieze wrote: > Would you mind sharing with us what the users don't like about gentoo? > If we know it, we might be able to improve. This is a research enviroment here, and a large number of users have custom rpm packages with specialized binaries in them for various research work, alas, no source available for many of them :-(. There have been a lot less hassles installing them on a pure RPM machine, instead of trying fufill the deps via portage. -- Robin Hugh Johnson E-Mail : robbat2@orbis-terrarum.net Home Page : http://www.orbis-terrarum.net/?l=people.robbat2 ICQ# : 30269588 or 41961639 GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85 [-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
[parent not found: <200308181026.44148.chris.rs@xtra.co.nz>]
* Re: [gentoo-dev] Large scale deployments - and portage [not found] ` <200308181026.44148.chris.rs@xtra.co.nz> @ 2003-08-18 0:34 ` Ron O'Hara 2003-08-18 8:38 ` Paul de Vrieze 0 siblings, 1 reply; 13+ messages in thread From: Ron O'Hara @ 2003-08-18 0:34 UTC (permalink / raw To: chris.rs; +Cc: gentoo-dev 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 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-dev] Large scale deployments - and portage 2003-08-18 0:34 ` Ron O'Hara @ 2003-08-18 8:38 ` Paul de Vrieze 0 siblings, 0 replies; 13+ messages in thread From: Paul de Vrieze @ 2003-08-18 8:38 UTC (permalink / raw To: gentoo-dev Hi Ron, Currently there is no support yet for what you want, except when you do it yourself. But we are actively looking into providing for an "enterprise gentoo". This version of gentoo would have real releases every say half year (the terms have not been decided yet), further it would provide security fixes and fixes for serious bugs. But it would not provide newer versions of applications to provide more stability. Security fixes would be backported if at all possible. Expect work on this to become visible in the comming months. For now, for enterprise systems you probably want to have a server that maintains private snapshots. (It is easy to set the specific tree in the make.conf file, and multiple trees can be offered on the server). You would then need to monitor security problems, and merge the fixed ebuilds in the snapshot trees. This indeed is some work, but I believe in most enterprise enviroments such an update would involve some testing too. For syncing the server trees, please take a look at the rsync mirror documentation. In those environments it is most often more applicable to use rsync directly instead of through portage. That also allows for custom locations. You might also want to exclude parts of the tree like games. Paul -- Paul de Vrieze Gentoo developer Mail: pauldv@cs.kun.nl Homepage: http://www.devrieze.net -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-dev] Large scale deployments - and portage 2003-08-17 22:09 [gentoo-dev] Large scale deployments - and portage Ron O'Hara ` (2 preceding siblings ...) [not found] ` <200308181026.44148.chris.rs@xtra.co.nz> @ 2003-08-18 0:42 ` Brian Jackson 2003-08-18 14:45 ` Stuart Bouyer 3 siblings, 1 reply; 13+ messages in thread From: Brian Jackson @ 2003-08-18 0:42 UTC (permalink / raw To: gentoo-dev You could pin packages in the world file (/var/cache/edb/world). <apache-2 <courier-0.42.3 <mysql-4.0.5 etc. etc. Then copy that file to each server, and tada, you've got a standard profile type thing. --Brian Jackson On Sunday 17 August 2003 05:09 pm, Ron O'Hara wrote: > Hi, > > I may have missed something in all the docs, but as far as I can see > there is what should be a fairly simple enhancement to portage that > would help considerably in making Gentoo more practical in larger > deployments. > > I came to gentoo to get the advantages of being able to tailor my > system(s) and still have a simple, consistent upgrade path for all the > component software - portage is great for that. From the developer and > tinkerer point of view it is hard to see improvements in the overall > strategy behind portage. > > BUT - for larger deployments, there are extra needs which are not > currently handled by portage - but should be a snap to implement. > > In large deployments, it is critical to maintain strong change control > and have predictable environments that you can validate application > performance in. Many places use a strategy like: "All production > servers are RedHat 7.1 (or Solaris 2.7, or Windows 2000 +SP5 ... etc)" > > At present I cant see a way to easily do that with gentoo. Eg. Gentoo > 1.4 final is really just a starting point - the minute you do an 'emerge > sync', you have an unknown mix of software. And worse, if you do it an > hour later on a different machine, it could be a slight different mix > again - different from the first box. > It is relatively easy to compare the portage trees and work out what the > differences are, but thats not much help > > If it were possible to 'tag' the portage tree with labels at regular > intervals, and and do an 'emerge sync' with a nominated 'tag' - then you > would have the equivelant of the fixed points that other distributions > have when they cut a release CD. > > > > > As an example scenario for someone building deployment images in a huge > telco. > > After some experimentation, they decide that their basic gentoo system > will be 'gentoo with rsync tag gentoo-1.4-Aug-2003' > > They take the first box and do a standard gentoo install, but at the > 'emerge sync' point in the instructions, they do 'emerge sync > tag=gentoo-1.4-Aug-2003'. > They then complete all the package installations and tweaking that they > want - site specific choices. > > > This is a repeatable process!! - critical for duplicating an environment. > > As each of the systems is deployed - they are in a known state. Even > nicer is that deployed systems can be easily upgraded to some other > 'known environment' by doing an 'emerge sync tag=xxxx' to some later tag. > > For 'hotfixes', deployed boxes probably need the normal 'emerge sync' > which will give them acvcess to the latest and greatest bug fix - but > you would probably not do an 'emerge -u world' on these boxes unless > moving it from one 'tag level' to another. > > Now the only question is - did I miss something and this already exists? > > Regards > Ron O'Hara > > > > > > > > > . > > > -- > gentoo-dev@gentoo.org mailing list -- Home -- http://www.brianandsara.net Gentoo -- http://gentoo.brianandsara.net -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-dev] Large scale deployments - and portage 2003-08-18 0:42 ` Brian Jackson @ 2003-08-18 14:45 ` Stuart Bouyer 0 siblings, 0 replies; 13+ messages in thread From: Stuart Bouyer @ 2003-08-18 14:45 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 838 bytes --] On Sun, 17 Aug 2003 19:42:30 -0500 Brian Jackson <iggy@gentoo.org> wrote: > You could pin packages in the world file (/var/cache/edb/world). > > <apache-2 > <courier-0.42.3 > <mysql-4.0.5 > > etc. etc. Then copy that file to each server, and tada, you've got a > standard profile type thing. > > --Brian Jackson > That works fine UNTIL a package is removed from the portage tree, then you have to go and try to get it (and the various others that went with it) back using the cvsweb interface - lots of fun I can tell you. There was some mention a month or so ago about tagging the cvs tree, but it seems to have been lost in the hype over 1.4 release. Maybe someday?? StuBear -- GnuPG KeyID 1607E7F7 Key fingerprint = 5C38 AA94 A4C1 6AAF 0EE4 C089 EE01 193D 1607 E7F7 gpg --keyserver search.keyserver.net --recv-keys 1607E7F7 [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2003-08-18 14:45 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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 2003-08-18 8:38 ` Paul de Vrieze 2003-08-18 0:42 ` Brian Jackson 2003-08-18 14:45 ` Stuart Bouyer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox