[OpenAFS] Sysid file and name/addr/uuid confusion

Steve Simmons scs@umich.edu
Mon, 6 Oct 2008 15:50:53 -0400

We've bumped into an interesting problem here with a host actively  
serving afs files but not showing up in 'vos listaddr.' There was no  
actual service issue (ie, everything worked), but a number of our  
utilities which use the output of vos listaddr-like stuff were failing  
to process the 'missing' host.

It appears that if the public interface addresses change either by  
rehoming the machine and/or changing the NetInfo file, the file server  
longer shows up by name when using the vldb. Thus when one does

  for H in `vos listaddr -noauth | sort | uniq` ; do
      <<back up host H >>

the 'missing' host is never backed up. Similarly,

   vos listvldb -server H

shows no volumes, even though H is actively serving them.

If you dump the vldb, you can see the address of H in the db. If you  
empty the host and do 'vos changeaddr <host address> -remove' it works  
just fine. If you then start to put volumes on the server, they work  
just fine -- but the server still won't show up in vos listaddr.

This strikes me as bad performance. :-)

We've now repaired the problem with this particular host by removing  
the volumes, shutting down afs, removing the sysfile, and starting up  
afs again. A new sysfile is created, and the host now shows up  
properly in listaddr.

We're going to do some playing around with our test cell in an attempt  
to replicate the problem, but are curious if others have seen this  
problem and if they think it's a bug or a feature.