[OpenAFS] Selecting a configuration file format for OpenAFS Services

Russ Allbery rra@stanford.edu
Sun, 17 May 2009 11:08:55 -0700


David Boyes <dboyes@sinenomine.net> writes:

> On the other hand, it doesn't bake configuration information into a
> specific location ON a server instance. If we want to consider
> stateless systems, there's a chicken/egg problem if the instance has
> to have a file to tell it where to get the file to tell
> it.... Etc.

A stateless file or database server?

I think you should think about that concept a little bit longer.  :)

> The idea of keeping configuration information outside a specific
> instance is useful for evolving toward a cloud or other advanced
> architecture. With the config server, the startup of a daemon could
> happen on any node, anywhere in the network, and the scripts are
> identical no matter where you are. There is no need to coordinate file
> distribution, and there are no leftover copies on systems to provide
> unexpected results down the line after three people have screwed with
> it over time.

This is a solved problem with configuration files, even in a cloud
environment.  I continue to think a configuration server is a really bad
idea.

> Technically, you *can*, but the point is more along the line of
> addressing complexity. One of the major complaints about AFS is the
> additional complexity of managing it. If you have both command line
> AND config file, which do you use, and how do you explain to a newbie
> where to look? Having one or the other and clearly deprecating one is
> both less complex to manage and document. Remember, you have to
> document both if you have both. Why make more work for yourself?

This is not hard.  Seriously, just about everything else already works
this way, and the additional flexibility is incredibly useful in a lot
of real-life situations.

> Also, is it any more complicated to modify a file and restart than
> restart with a very long command string? I don't think so.

If you have a configuration file, why do you have a very long command
string?  A configuration file means that the command string can be used
just for overrides.

-- 
Russ Allbery (rra@stanford.edu)             <http://www.eyrie.org/~eagle/>