[OpenAFS] Re: Thinking about a different way to distribute configuration.

Jeffrey Altman jaltman@secure-endpoints.com
Sun, 17 May 2009 19:28:54 -0400


This is a cryptographically signed message in MIME format.

--------------ms000707090004000006070809
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Christopher D. Clausen wrote:

> 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 never touches them directly.

I actually hope that no one is running on OpenAFS Server on Windows
today.  There really is no testing done with them and they should not
be trusted.

>>> 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 Kerberos 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.)

The big problem that I have with the CellServDB file is that there is
really a need to have more than one of them:

 1. the public CellServDB that is refreshed by updates from
    GrandCentral.org (perhaps via an OpenAFS update)

 2. the local CellServDB that supplements and perhaps overrides
    the data provided in the public CellServDB

Assuming that the CellServDB data could be stored entirely within
the registry given that AFS is deployed on heterogeneous systems we
still require a configuration format that can be used to not only
on non-Windows systems but to distribute the data so that Windows
administrators such as yourself could import them into the registry.

One of the nice features of the Kerberos profile library is that
it is designed to support exactly this kind of multi-file overlaying.
On Windows, it would also be possible to augment the CellServDB file
with the contents from the registry.

> 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?

Whatever the file format it would be possible to represent linked cells.
The question simply becomes "how easy is it for a human to understand
the data representation?"

Jeffrey Altman

--------------ms000707090004000006070809
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJeTCC
AxcwggKAoAMCAQICEDsE+kRcmomW1hYG6BoqhGEwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UE
BhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMT
I1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA4MDUzMDE5MTUyOVoX
DTA5MDUzMDE5MTUyOVowczEPMA0GA1UEBBMGQWx0bWFuMRUwEwYDVQQqEwxKZWZmcmV5IEVy
aWMxHDAaBgNVBAMTE0plZmZyZXkgRXJpYyBBbHRtYW4xKzApBgkqhkiG9w0BCQEWHGphbHRt
YW5Ac2VjdXJlLWVuZHBvaW50cy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQCtf5bVJdYFtHIrV2XALpA5oaMu7FPYU7RP7vJhd8Cu9Kd9ud2crX2pHK4avuPaYb4Vg9qI
zPrPadePhJ3OWwNt1ZlUlpc5URnOfpg/I9iymZBUSnCFVLuIvoncacqyUlzqdYEF8XGEoEL6
6bj8uoCSX0D7ZjZiAS8993NvgiPYpf10acMyWQ4max+P7Wg9T03Nw2F6EsmP6gWxBRsekTXe
N6QjJdvaK0846lDqeBFoCEzIUMQXj2kiXVPCPEdxPc/L1sDMYf0GLaDIg8qyThpGd0X6DwfK
3RWcMy8DV7Q5Z+jSEdPn5X0l4anOTrjr3IwE57MC3bVs0EEpUODTzftnAgMBAAGjOTA3MCcG
A1UdEQQgMB6BHGphbHRtYW5Ac2VjdXJlLWVuZHBvaW50cy5jb20wDAYDVR0TAQH/BAIwADAN
BgkqhkiG9w0BAQUFAAOBgQA9kndmeLrdQOUbhNGGms/FnfDyraH4OjA4PIIMOCbGWK0YXczs
/Fqn4XkT70SG4s8v4Zg6TaAcJrZBVcZQXyzrhlF2Zev/g69zZMHQe+2r4i/3FBVKAtFCoea1
vgwJ5TfZYlKvt4D0Z4zexu9Y0VwCIR4plWjVD76zC2CGB/2fhjCCAxcwggKAoAMCAQICEDsE
+kRcmomW1hYG6BoqhGEwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoT
HFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25h
bCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA4MDUzMDE5MTUyOVoXDTA5MDUzMDE5MTUyOVow
czEPMA0GA1UEBBMGQWx0bWFuMRUwEwYDVQQqEwxKZWZmcmV5IEVyaWMxHDAaBgNVBAMTE0pl
ZmZyZXkgRXJpYyBBbHRtYW4xKzApBgkqhkiG9w0BCQEWHGphbHRtYW5Ac2VjdXJlLWVuZHBv
aW50cy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtf5bVJdYFtHIrV2XA
LpA5oaMu7FPYU7RP7vJhd8Cu9Kd9ud2crX2pHK4avuPaYb4Vg9qIzPrPadePhJ3OWwNt1ZlU
lpc5URnOfpg/I9iymZBUSnCFVLuIvoncacqyUlzqdYEF8XGEoEL66bj8uoCSX0D7ZjZiAS89
93NvgiPYpf10acMyWQ4max+P7Wg9T03Nw2F6EsmP6gWxBRsekTXeN6QjJdvaK0846lDqeBFo
CEzIUMQXj2kiXVPCPEdxPc/L1sDMYf0GLaDIg8qyThpGd0X6DwfK3RWcMy8DV7Q5Z+jSEdPn
5X0l4anOTrjr3IwE57MC3bVs0EEpUODTzftnAgMBAAGjOTA3MCcGA1UdEQQgMB6BHGphbHRt
YW5Ac2VjdXJlLWVuZHBvaW50cy5jb20wDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQUFAAOB
gQA9kndmeLrdQOUbhNGGms/FnfDyraH4OjA4PIIMOCbGWK0YXczs/Fqn4XkT70SG4s8v4Zg6
TaAcJrZBVcZQXyzrhlF2Zev/g69zZMHQe+2r4i/3FBVKAtFCoea1vgwJ5TfZYlKvt4D0Z4ze
xu9Y0VwCIR4plWjVD76zC2CGB/2fhjCCAz8wggKooAMCAQICAQ0wDQYJKoZIhvcNAQEFBQAw
gdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUg
VG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRp
b24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFp
bCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTAeFw0w
MzA3MTcwMDAwMDBaFw0xMzA3MTYyMzU5NTlaMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxU
aGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwg
RnJlZW1haWwgSXNzdWluZyBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxKY8VXNV
+065yplaHmjAdQRwnd/p/6Me7L3N9VvyGna9fww6YfK/Uc4B1OVQCjDXAmNaLIkVcI7dyfAr
hVqqP3FWy688Cwfn8R+RNiQqE88r1fOCdz0Dviv+uxg+B79AgAJk16emu59l0cUqVIUPSAR/
p7bRPGEEQB5kGXJgt/sCAwEAAaOBlDCBkTASBgNVHRMBAf8ECDAGAQH/AgEAMEMGA1UdHwQ8
MDowOKA2oDSGMmh0dHA6Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVQZXJzb25hbEZyZWVtYWls
Q0EuY3JsMAsGA1UdDwQEAwIBBjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRUHJpdmF0ZUxh
YmVsMi0xMzgwDQYJKoZIhvcNAQEFBQADgYEASIzRUIPqCy7MDaNmrGcPf6+svsIXoUOWlJ1/
TCG4+DYfqi2fNi/A9BxQIJNwPP2t4WFiw9k6GX6EsZkbAMUaC4J0niVQlGLH2ydxVyWN3amc
OY6MIE9lX5Xa9/eH1sYITq726jTlEBpbNU1341YheILcIRk13iSx0x1G/11fZU8xggNkMIID
YAIBATB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5
KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIQ
OwT6RFyaiZbWFgboGiqEYTAJBgUrDgMCGgUAoIIBwzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcN
AQcBMBwGCSqGSIb3DQEJBTEPFw0wOTA1MTcyMzI4NTRaMCMGCSqGSIb3DQEJBDEWBBTub8DS
Mx2cK7bRR+K1cHkoWZyYXzBSBgkqhkiG9w0BCQ8xRTBDMAoGCCqGSIb3DQMHMA4GCCqGSIb3
DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBhQYJKwYB
BAGCNxAEMXgwdjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcg
KFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3Vpbmcg
Q0ECEDsE+kRcmomW1hYG6BoqhGEwgYcGCyqGSIb3DQEJEAILMXigdjBiMQswCQYDVQQGEwJa
QTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhh
d3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0ECEDsE+kRcmomW1hYG6BoqhGEwDQYJ
KoZIhvcNAQEBBQAEggEAh6Anc/jbjCCg6K0ZcoNJXv24JMs9v0FhRw7jtbpphZ4l17U5ckER
7ZOSwLHBk6ZoGScufOa21TODGe0hzvsDzVA3yBk/bEGOcK+3BJm+gP0NKLbx7DYWfhkhbaUH
hmFXWmRNBm7cu1V7Am48f6nl4KZi8oXdzr+UyFN3xifj3m0VpcU1ERqu/KKJJbLImP2Lxp1f
yuo0qYhspjg3/Z9ezwW35mbTvklbkJAsl7bmmny8k1K1b5T+askhYK5OpIfbkRhVZJAH09tW
TgY8TRHjgGHU/XcjzTBSNhMJkrQou515psIanaTn5Qqxh4TfxtMz9DTDcrI0mI2W+GQqAH04
EQAAAAAAAA==
--------------ms000707090004000006070809--