[OpenAFS] Re: Thinking about a different way to distribute configuration.
Christopher D. Clausen
cclausen@acm.org
Sun, 17 May 2009 17:42:14 -0500
Russ Allbery <rra@stanford.edu> wrote:
> David Boyes <dboyes@sinenomine.net> writes:
>> Why? If the data it serves is on a SAN or otherwise connectable
>> storage, why should the physical server handling the information be
>> somehow special if it gets the same address and configuration
>> information?
> [snip]
> I want to use my configuration management system to do
> configuration management, not my distributed file system. If you
> want to do large-scale seamless configuration management, use Puppet,
> don't invent a half-assed version of Puppet and embed it in AFS.
*YOUR* configuration management system is Puppet. Great! Some of us
use other products, like say Windows Group Policy.
The OpenAFS for Windows client already does support registry settings
for nearly everything and I would like to eventually use OpenAFS servers
on Windows and as such I think that somehow supporting the Windows
registry should be a key feature of OpenAFS servers on Windows. This
allows for easy configuration using Group Policy. This same level of
control is simply not available when using a config file of any kind.
I realize few if any people are running servers on Windows today, but
please keep Windows in mind when developing a config file format. Using
a config file is NOT the usual Windows way to manage a service and in
the few instances where config files exist, there is usually some other
process that edits them such that the user nevers touches them directly.
>> Which IMHO would argue that there needs to be exactly ONE command
>> line argument -- the location of the config file.
>
> No. This is exactly the behavior that constantly annoys me with
> Kerberos where many things have to go into krb5.conf and you have to
> duplicate krb5.conf and set an environment variable to get different
> behavior. It's understandable for Kerberos where the configuration is
> for an underlying library and there's no clear way to tie into the
> command line, but that loss of convenience in AFS where we can easily
> do better would be a disservice to our users.
This problem already exists with CellServDB files on Windows (and of
course the same Krberos config file problems that you mention.) How do
I push a change to a specific cell's servers? Oh thats right, I have to
modify or replace the existing file, which is a terrible process and can
end badly. This would be much easier to deal with if this file format
was instead represented within the registry where atomic changes can be
made on a per-value basis and do not require replacing an entire file.
You could argue that simply having a way to include other config files
within a file (include=/path/to/file) would solve a lot of this and I
concur with that, although I suspect most people would hate to now
manage a CellServDB directory instead of a single file. (But it would
allow for a greater level of flexibility for those who wished to use
it.)
-----
Here's an example (I realize that the CellServDB file was not the target
for this discussion, just using it as an example) that may not be easy
to represent in some of the simpler file formats. Consider the case of
linked cells within CellServDB. I do not think anyone has linked cells
in the public CellServDB file currently. Could these be represented in
all file formats suggested?
<<CDC