1 |
hi ! |
2 |
|
3 |
> Network configuration should really be automated since the client will |
4 |
> have to pull packages over the network and do other network related |
5 |
> tasks. Currently, no, it doesn't do this automagically, but it will. |
6 |
> It will also handle HA situations like multiple cards, spanning tree |
7 |
> and trunking configs, and other goodies. How? The magic of cfengine, |
8 |
> probably. If the client is destined to run dhcp, hey, even better. |
9 |
|
10 |
i can imagine automated network configuration when client is supposed to |
11 |
get IP via dhcp |
12 |
i can even imagine automated configuration of basic networking (here can |
13 |
be a problem with multiple network cards and network topology, but |
14 |
cfengine could try interfaces one by one until it gets connected to |
15 |
deployment server, etc ...) |
16 |
but i really can't imagine automated configuration of HA, multiple |
17 |
cards, etc ... you could end up with a separate profile for every server |
18 |
and it could result in too much overhead (well - i can imagine it but |
19 |
... i will get to this later) |
20 |
such configuration is not on the server level, you have to go higher - |
21 |
you need to have an overview of the network topology, which interface |
22 |
can access which part of the network and what is the purpose of this |
23 |
interface (which services should be running there, etc ...) |
24 |
of course, i would be glad to see a software capable of doing it |
25 |
automatically, but unless it can read my thoughts, i doubt that it will |
26 |
be able to configure it as i want ;-) |
27 |
|
28 |
> The idea is to minimize the work required for mid to large networks, |
29 |
> so if some post flight sysadmin work is required, so be it. We won't |
30 |
> be able to handle every conceivable set up out there (but that doesn't |
31 |
> mean we're not going to plan that way). |
32 |
|
33 |
i see a big potential in deploying client machines -> they are usually |
34 |
very similar, no complicated networking since everything can be driven |
35 |
from servers (dhcp, cups, proxy config, etc ...) |
36 |
having a possibility of adding fully configured client just by booting |
37 |
it from a special CD would be definitely great for any sysadmin in a |
38 |
company using linux (gentoo) as a desktop platform |
39 |
|
40 |
i'm a little bit skeptic about smaller 'server networks', imagine you |
41 |
have 2-5 web servers, 2 database servers, 2-4 application servers - if |
42 |
you could do this with 3 profiles, it would be good |
43 |
but i'm afraid you can't; you need (i believe) primary/secondary |
44 |
database server profiles; you may have different applications spread |
45 |
over application servers; etc ... (or a clever, sophisticated way of |
46 |
profile building blocks and their combining ...) |
47 |
of course, deploying openmosix cluster with 100 nodes which are more or |
48 |
less identical - i believe that GSDS would do great in such case |
49 |
|
50 |
at the end of the day, it all depends on how sophisticated your |
51 |
configuration engine will be |
52 |
|
53 |
to be somehow constructive, here is an example how it *could* work for |
54 |
smaller 'server networks' - just some brainstorming, don't take it very |
55 |
seriously ;-): |
56 |
|
57 |
- you need a concept for a 'service'; each service can have multiple |
58 |
service profiles (configuration sets); service can be something very |
59 |
basic like networking (service profile contains IP, proxy settings), |
60 |
apache (service contains httpd.conf and others ...), or custom |
61 |
application; it has start/stop script, log files which need to be |
62 |
rotated, possibly some dependencies (to tie some maintenance actions |
63 |
with a server running a service)) |
64 |
- syntax of service configuration allows you to include other services, |
65 |
building bigger and bigger blocks |
66 |
- you have some kind of 'aliases' for processing of configuration files; |
67 |
imagine that you have web servers, and you have a separate network |
68 |
profile with IP address for every web server; it defines 'alias', |
69 |
something like 'networking.primary.IP' or so ... |
70 |
then you have service 'apache', profile contains httpd.conf and in |
71 |
httpd.conf you use alias 'networking.primary.IP' - configuration engine |
72 |
replaces this alias with primary IP address of the actual web server |
73 |
this is just a stupid example .. but should explain what i mean with |
74 |
'aliases' ;-) |
75 |
- you can create machine profiles manually just by writing a list of |
76 |
services and profiles to use into a file, something like: |
77 |
MACHINE A |
78 |
service.networking: web1 |
79 |
service.apache: default |
80 |
|
81 |
MACHINE B |
82 |
service.networking: web2 |
83 |
service.apache: default |
84 |
|
85 |
by using aliases, apache profile 'default' will be customized with IP |
86 |
addresses of both web servers |
87 |
what would be also important is that you could reference other machines; |
88 |
so that when configuring MACHINE B, you can use alias like 'MACHINE |
89 |
A.service.networking.primary.IP' or so ... |
90 |
|
91 |
these were just some thoughts |
92 |
|
93 |
however - last but not least - this is (IMHO) not a deployment software, |
94 |
this is, more or less, kind of auto-configuration framework for |
95 |
services/applications/servers |
96 |
of course, the fact that it is automated makes it suitable for use in a |
97 |
deployment process |
98 |
|
99 |
regards, |
100 |
martin |