Chris Gianelloni wrote:
On Mon, 2007-04-23 at 23:39 +0200, Ramon van Alteren wrote:
This puzzles me, if making a tool easier to use for it's users isn't a valid reason for hacking at the tool, then what is ?
Well, I know I have said this before, but I'll say it again here.  We
develop catalyst for our own usage first, and everyone else second.  If
it doesn't directly impact Release Engineering, it immediately gets a
back seat to changes that we need/want.  When I said "you" here, I meant
you specifically, not any other form of you.
Fair enough and very clear.
I have to say that this is a much clearer rejection reason then "show me a use-case which can only be solved with relative paths in the specfile". I'd be very hard-pressed to come up with such a use-case regardless of the tool.
It was a dual request, if nobody on list would be using the functionality I'll maintain a patch outside the tree for our benefit.

This was really my question.  Would other people use it?

One of the biggest problems that we have had with catalyst is people
that want to change catalyst to meet their own specific needs and our
need to balance things out so that we don't end up with unused code
paths.  Having a single, consistent interface for the spec files allows
for much simpler support on a product that we honestly wished we didn't
have to support, at all.  If the change is something that lots of people
would likely use, such as the stage4 target, then we will add it even if
we don't use it ourselves.  Our general rule is don't change anything
unless there is a really good reason.  As I said, simply making things
slightly more convenient isn't really a good enough reason, IMO, unless
a lot of people would use the functionality, and even then, it would
depend on code availability and maintainability.  Of course, writing up
a patch resolves the first issue, but the second would still remain.
Well let's see if there are others chiming in who want this functionality :-)

I'll give a short description what we do with catalyst just for the hell of it, you might enjoy hearing what others do with the tool even though it's primarily developed for gentoo-releases.

Catalyst is one of the two gentoo projects which have a central role in our hands-off deployment system in our serverpark. We prepare stage4 server images for our servers with catalyst for both amd64 and x86 archs. We also generate development vmware images for our developers with it, which we try to keep as similar to production as we can get them.

We boot new servers with pxe and load them with a read-only nfs-root and a tmpfs overlay for host-specifics. After that the install-tool by agaffney kicks in and installs the server-image created with catalyst on the new server. We've modified install-tools to be able to look up install parameters in a mysql-database and use that to setup server-task specific parameters and networking.

After installing the server is rebooted and comes up with correct hostname and network settings. Catalyst stage4 allows us to setup a few services to be started at boot, one of these is puppet a configuration client. It connects to (one of) our puppet servers (aptly named puppetmasters :-) and loads the configuration for the services the server is supposed to perform.

The entire system helps us deploy new hardware:
Sticking a server in a rack in one of our datacenters to having it ready for production takes 30 minutes and we estimate (but haven't tested) that we can easily do 100 in an hour.

Catalyst is a key component in the system because it has made our build process for system images repeatable. Before catalyst we were using chroots to build system images semi-manually, rebuilding a chroot to solve a bug after deployment was not a nice process to go through. It's also removing a lot of bugs which were due to development vmware images being totally different from server-images.

We use the package-cache from catalyst to drive our binary package server and are investigating the use of the tinderbox target to generate repeatable builds for binary packages on top of the system-image versions we have deployed in our serverpark.

Right now we're busy converting our entire serverpark of 600 servers to catalyst-based server-images. For a lot of server classes this is quick and painless re-install, for our data-intensive servers this is harder but we'll get there in the end.

If it wasn't clear from the above, we're extremely happy with catalyst :-)
If anyone is curious or wants to know more, feel free to poke me on irc, my nick is innocenti

Regards,

Ramon

--
[EMAIL PROTECTED] mailing list

Reply via email to