]> andersk Git - moira.git/blobdiff - afssync/INSTRUCTIONS
Trim whitespace from childname, so we can update a container that
[moira.git] / afssync / INSTRUCTIONS
index 4d219953bd501259248d9ee8bc62a9b9022a9573..92c608f9575bdb7d2dec8f1df9def9fad0c27106 100644 (file)
@@ -1,15 +1,7 @@
-[This is a still-under-construction rewrite of the afssync
-instructions, adapted to the Ingres/Maxine -> Oracle/SPARC port, and
-is also being updated and simplified.]
-
-
 The executables are in /moira/bin/ on the moira server, with sources
 in /mit/moiradev/src/afssync/.  Most of the commands are run on the
 Moira server.
 
-FULL INSTRUCTIONS
-("SUMMARY" is below)
-
 ####   Set up a workspace                                              ####
 
 mkdir -p /moira/sync
@@ -19,7 +11,7 @@ cd /moira/sync
 First, get a recent copy of the prdb, and extract non-Moira entries:
 
        /moira/bin/udebug aggy -port 7002
-       rcp root@aggy:/usr/afs/db/prdb.DB0 prdb.old
+       rcp -px root@aggy:/usr/afs/db/prdb.DB0 prdb.old
        /moira/bin/udebug aggy -port 7002
 If the two udebugs show that the version changed, lather-rinse-repeat.
 (udebug can be found in afsuser; "aggy" here and below is some DB server)
@@ -30,7 +22,7 @@ If the two udebugs show that the version changed, lather-rinse-repeat.
 to extract and prepare the personal groups and special user entries in
 the old prdb for being reincorporated into the new prdb.
 
-       awk -F\| '$8 == 3 {print $1}' /backup/backup_1/users > /tmp/deactivated
+       awk -F\| '$9 == 3 {print $1}' /backup/backup_1/users > /tmp/deactivated
        perl -e 'for(`cat /tmp/deactivated`) { chop; $ex{$_}=1;} \
                $punt=0; foreach $L (`cat prdb.extra.sort`){ \
                @w=split(/ /,$L);  $_=$w[0]; if ( /:/ ) \
@@ -38,7 +30,8 @@ the old prdb for being reincorporated into the new prdb.
                print $L unless $punt==1;}' > prdb.extra.trimmed
 to remove the personal groups for users who are deactivated
 
-       awk '/^[^ ][^:]*@/ {printf "KERBEROS:%s\n",$1}' prdb.extra > foreign
+       awk '/^[^ ][^:]*@/ {printf "KERBEROS:%s\n",$1}' prdb.extra.trimmed \
+               > foreign
        blanche afs-foreign-users -f foreign
 Get a list of all the @andrew.cmu.edu type (non- athena.mit.edu cell)
 users, and sync the Moira list afs-foreign-users to this list.
@@ -47,8 +40,9 @@ thus keeping them from being lost in the prdb resync.
 Sanity checking the diffs before running the blanche command is recommended.
 
        awk '/^[^ 0-9][^:@]*$/ {printf "KERBEROS:%s@ATHENA.MIT.EDU\n",$1}' \
-               prdb.extra > oddities
-       awk '/^[^ ][0-9.]* .*$/ {printf "KERBEROS:%s\n",$1}' prdb.extra >> oddities
+               prdb.extra.trimmed > oddities
+       awk '/^[^ ][0-9.]* .*$/ {printf "KERBEROS:%s\n",$1}' prdb.extra.trimmed\
+                >> oddities
        echo "LIST:afs-foreign-users" >> oddities
        blanche afs-odd-entities -f oddities
 Do the equivalent of afs-foreign-users for domestic users.  We make
@@ -83,7 +77,7 @@ creations and list additions.  (To start over, do both the `cp` and
 `pt_util` again.)  You can filter out the "User or group doesn't exist"
 type of lines that were caused by a user deactivation with something
 like:
-       awk -F\| '$8 == 3 {print $1}' /backup/backup_1/users > /tmp/deactivated
+       awk -F\| '$9 == 3 {print $1}' /backup/backup_1/users > /tmp/deactivated
        perl -e 'for(`cat /tmp/deactivated`){ chop; $ex{$_}=1;} \
                foreach $L (`cat prdb.extra.err`){ $f=0; \
                @w=split(/[ :]/,$L); for(@w){ $f=1 if $ex{$_}; } \
@@ -106,7 +100,7 @@ be renamed, and you should regenerate prdb.extra.trimmed starting with
 a fresh prdb from aggy.  (You may want to abort and
 rm /moira/afs/noafs and try again later.)
 
-       pts listmax > /var/prdb.listmax
+       pts listmax > prdb.listmax
        foreach i ( <db servers> )
            rsh $i -l root -x /bin/athena/detach -a     # detach packs
            rsh $i -l root -x rm -f /usr/afs/db/{prdb.new,pre-resync-prdb}
@@ -124,7 +118,7 @@ rm /moira/afs/noafs and try again later.)
 to watch the status of the servers to make sure things are going well,
 where "prill" is preferred db server (the sync site).
 
-Make sure the beacons are working, and that once quorom is established
+Make sure the beacons are working, and that once quorum is established
 (~90 seconds) that the servers are resynchronizing their notions of
 the databases and that the "dbcurrent" and "up" fields all become set
 and the state goes to "1f".  Also, if "sdi" isn't running, watch out
@@ -133,14 +127,14 @@ fileservers may get excessively backlogged, and restart servers, if
 necessary, if the congestion remains excessive.
 
        pts listmax
-       cat /var/prdb.listmax
+       cat prdb.listmax
 and if the id maxima are lower than the saved ones, reset them
 appropriately to the saved ones using `pts setmax`.
 
        pts ex system:administrators
 as a good spot check, especially since it has special people.
 (also spot check one of the personal groups and perhaps, something like
-the membership of rcmd.ronald-ann)
+the membership of rcmd.reynelda)
 
        rm /moira/afs/noafs
 to remove the lock file and let Moira's afs incrementals continue.
@@ -155,57 +149,3 @@ available, with certain mistakes.
 critical log, and you may have to do some operations by hand when the
 operation is complete.  Also, if requests depend on other requests, they
 may be processed out of order, and fail, and may need to be done by hand.
-
-
-SUMMARY
-
-       # db servers with sync site first:
-set db=(prill agamemnon chimera)
-set u="/moira/bin/udebug -port 7002 -server"
-set prefix="/moira/sync/prdb"
-cd `dirname $prefix`
-
-#######    The following DOES NOT WORK currently.  pt_util needs fixing
-####   BEFORE Moira and afs.incr are closed off:
-       # repeat as necessary:
-$u $db[2]; rcp root@$db[2]\:/usr/afs/db/prdb.DB0 $prefix.old; $u $db[2]
-/moira/bin/pt_util -x -m -u -g -d $prefix.extra -p $prefix.old
-awk '/^[^ ][^:]*@/ {printf "KERBEROS:%s\n",$1}' $prefix.extra > extra.foreign
-blanche afs-foreign-users -f extra.foreign
-awk '/^[^ ][^:@]*$/ {printf "KERBEROS:%s\n",$1}' $prefix.extra > extra.domestic
-echo "LIST:afs-foreign-users" >> extra.domestic
-blanche afs-odd-entities -f extra.domestic
-
-####   WAIT for the above afs.incr events to take place (see moira.log)
-touch /moira/afs/noafs
-/moira/bin/afssync $prefix.moira >& $prefix.afssync.err &
-       # repeat as necessary:
-$u $db[2]; rcp root@$db[2]\:/usr/afs/db/prdb.DB0 $prefix.old; $u $db[2]
-/moira/bin/pt_util -x -m -u -g -d $prefix.extra -p $prefix.old
-perl /moira/bin/pt_util.pl < $prefix.extra > $prefix.extra.sort
-wait
-more $prefix.afssync.err
-cp $prefix.moira $prefix.new
-/moira/bin/pt_util -w -d $prefix.extra.sort -p $prefix.new >& $prefix.extra.err
-       # and review $prefix.extra.err
-
-pts listmax > $prefix.listmax
-set dbdir=/usr/afs/db
-foreach i ( $db )
-    echo "$i..."
-    rcp -px $prefix.new ${i}:$dbdir
-end
-foreach i ( $db )
-    bos shutdown $i ptserver
-    bos exec $i "rm $dbdir/prdb.DB*; mv $dbdir/prdb.new $dbdir/prdb.DB0"
-end
-foreach i ( $db )
-    bos restart $i ptserver
-end
-
-       # checks, etc:
-$u $db[1]
-
-######## more on checks
-
-rm /moira/afs/noafs
This page took 0.038105 seconds and 4 git commands to generate.