Gentoo Archives: gentoo-catalyst

From: Ramon van Alteren <ramon@××××××××××.nl>
To: gentoo-catalyst@l.g.o
Subject: Re: [gentoo-catalyst] catalyst enhancement
Date: Tue, 24 Apr 2007 08:59:47
Message-Id: 462DC6ED.7010402@vanalteren.nl
In Reply to: Re: [gentoo-catalyst] catalyst enhancement by Chris Gianelloni
1 Chris Gianelloni wrote:
2 > On Mon, 2007-04-23 at 23:39 +0200, Ramon van Alteren wrote:
3 >
4 >> This puzzles me, if making a tool easier to use for it's users isn't a
5 >> valid reason for hacking at the tool, then what is ?
6 >>
7 > Well, I know I have said this before, but I'll say it again here. We
8 > develop catalyst for our own usage first, and everyone else second. If
9 > it doesn't directly impact Release Engineering, it immediately gets a
10 > back seat to changes that we need/want. When I said "you" here, I meant
11 > you specifically, not any other form of you.
12 >
13 Fair enough and very clear.
14 I have to say that this is a much clearer rejection reason then "show me
15 a use-case which can only be solved with relative paths in the specfile".
16 I'd be very hard-pressed to come up with such a use-case regardless of
17 the tool.
18 >> It was a dual request, if nobody on list would be using the
19 >> functionality I'll maintain a patch outside the tree for our benefit.
20 >>
21 >
22 > This was really my question. Would other people use it?
23 >
24 > One of the biggest problems that we have had with catalyst is people
25 > that want to change catalyst to meet their own specific needs and our
26 > need to balance things out so that we don't end up with unused code
27 > paths. Having a single, consistent interface for the spec files allows
28 > for much simpler support on a product that we honestly wished we didn't
29 > have to support, at all. If the change is something that lots of people
30 > would likely use, such as the stage4 target, then we will add it even if
31 > we don't use it ourselves. Our general rule is don't change anything
32 > unless there is a really good reason. As I said, simply making things
33 > slightly more convenient isn't really a good enough reason, IMO, unless
34 > a lot of people would use the functionality, and even then, it would
35 > depend on code availability and maintainability. Of course, writing up
36 > a patch resolves the first issue, but the second would still remain.
37 >
38 Well let's see if there are others chiming in who want this
39 functionality :-)
40
41 I'll give a short description what we do with catalyst just for the hell
42 of it,
43 you might enjoy hearing what others do with the tool even though it's
44 primarily developed for gentoo-releases.
45
46 Catalyst is one of the two gentoo projects which have a central role in
47 our hands-off deployment system in our serverpark.
48 We prepare stage4 server images for our servers with catalyst for both
49 amd64 and x86 archs.
50 We also generate development vmware images for our developers with it,
51 which we try to keep as similar to production as we can get them.
52
53 We boot new servers with pxe and load them with a read-only nfs-root and
54 a tmpfs overlay for host-specifics.
55 After that the install-tool by agaffney kicks in and installs the
56 server-image created with catalyst on the new server.
57 We've modified install-tools to be able to look up install parameters in
58 a mysql-database and use that to setup server-task specific parameters
59 and networking.
60
61 After installing the server is rebooted and comes up with correct
62 hostname and network settings.
63 Catalyst stage4 allows us to setup a few services to be started at boot,
64 one of these is puppet a configuration client.
65 It connects to (one of) our puppet servers (aptly named puppetmasters
66 :-) and loads the configuration for the services the server is supposed
67 to perform.
68
69 The entire system helps us deploy new hardware:
70 Sticking a server in a rack in one of our datacenters to having it ready
71 for production takes 30 minutes and we estimate (but haven't tested)
72 that we can easily do 100 in an hour.
73
74 Catalyst is a key component in the system because it has made our build
75 process for system images repeatable.
76 Before catalyst we were using chroots to build system images
77 semi-manually, rebuilding a chroot to solve a bug after deployment was
78 not a nice process to go through.
79 It's also removing a lot of bugs which were due to development vmware
80 images being totally different from server-images.
81
82 We use the package-cache from catalyst to drive our binary package
83 server and are investigating the use of the tinderbox target to generate
84 repeatable builds for binary packages on top of the system-image
85 versions we have deployed in our serverpark.
86
87 Right now we're busy converting our entire serverpark of 600 servers to
88 catalyst-based server-images.
89 For a lot of server classes this is quick and painless re-install, for
90 our data-intensive servers this is harder but we'll get there in the end.
91
92 If it wasn't clear from the above, we're extremely happy with catalyst :-)
93 If anyone is curious or wants to know more, feel free to poke me on irc,
94 my nick is innocenti
95
96 Regards,
97
98 Ramon
99
100 --
101 gentoo-catalyst@g.o mailing list