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 |