use OpenAFS::Dirpath;
use OpenAFS::OS;
use OpenAFS::Auth;
+use File::Copy;
use Getopt::Long;
use vars qw($admin $server $cellname $cachesize $part
$shutdown_needed $csdb);
}
close MOUNT;
-unless ( -f "$openafsdirpath->{'afsconfdir'}/KeyFile") {
- print "You do not have an AFS keyfile. Please create this using asetkey from openafs-krb5 or
-the bos addkey command";
- exit(1);
-}
-
print "If the fileserver is not running, this may hang for 30 seconds.\n";
run("$openafsinitcmd->{'filesrv-stop'}");
$server = `hostname`;
unlink "$openafsdirpath->{'viceetcdir'}/CellServDB";
unlink "$openafsdirpath->{'viceetcdir'}/ThisCell";
+if ($cellname eq "this.thirty.nine.character.name.for.sed") {
+ copy("kaserver.DB0","$openafsdirpath->{'afsdbdir'}/kaserver.DB0");
+ copy("kaserver.DBSYS1","$openafsdirpath->{'afsdbdir'}/kaserver.DBSYS1");
+ copy("KeyFile","$openafsdirpath->{'afsconfdir'}/KeyFile");
+}
+
+unless ( -f "$openafsdirpath->{'afsconfdir'}/KeyFile") {
+ print "You do not have an AFS keyfile. Please create this using asetkey from openafs-krb5 or the bos addkey command";
+ exit(1);
+}
my $lcell = "${cellname}";
#let bosserver create symlinks
run("$openafsinitcmd->{'filesrv-start'}");
unwind("$openafsinitcmd->{'filesrv-stop'}");
+unwind("/bin/rm -f $openafsdirpath->{'afslocaldir'}/BosConfig");
$shutdown_needed = 1;
run ("$openafsdirpath->{'afssrvbindir'}/bos setcellname $server $lcell -localauth ||true");
run ("$openafsdirpath->{'afssrvbindir'}/bos addhost $server $server -localauth ||true");
print PRDB "system:administrators 130/20 -204 -204 -204\n";
print PRDB" $admin 1\n";
close PRDB;
-unwind( "rm $openafsdirpath->{'afsdbdir'}/prdb* ");
+unwind( "rm $openafsdirpath->{'afsdbdir'}/prdb.DB* ");
# Start up ptserver and vlserver
run("$openafsdirpath->{'afssrvbindir'}/bos create $server ptserver simple $openafsdirpath->{'afssrvlibexecdir'}/ptserver -localauth");
unwind("$openafsdirpath->{'afssrvbindir'}/bos delete $server ptserver -localauth");
unwind("$openafsdirpath->{'afssrvbindir'}/bos stop $server ptserver -localauth -wait");
run("$openafsdirpath->{'afssrvbindir'}/bos create $server vlserver simple $openafsdirpath->{'afssrvlibexecdir'}/vlserver -localauth");
+unwind( "rm $openafsdirpath->{'afsdbdir'}/vldb.DB* ");
unwind("$openafsdirpath->{'afssrvbindir'}/bos delete $server vlserver -localauth");
unwind("$openafsdirpath->{'afssrvbindir'}/bos stop $server vlserver -localauth -wait");
+run("$openafsdirpath->{'afssrvbindir'}/bos create $server kaserver simple $openafsdirpath->{'afssrvlibexecdir'}/kaserver -localauth");
+unwind( "rm $openafsdirpath->{'afsdbdir'}/kaserver.DB* ");
+unwind("$openafsdirpath->{'afssrvbindir'}/bos delete $server kaserver -localauth");
+unwind("$openafsdirpath->{'afssrvbindir'}/bos stop $server kaserver -localauth -wait");
+
run( "$openafsdirpath->{'afssrvbindir'}/bos create $server fs fs ".
"-cmd $openafsdirpath->{'afssrvlibexecdir'}/fileserver ".
"-cmd $openafsdirpath->{'afssrvlibexecdir'}/volserver ".
print "done.\n";
# Past this point we want to control when bos shutdown happens
$shutdown_needed = 0;
+$part = "a" unless $part;
+
unwind( "$openafsdirpath->{'afssrvbindir'}/bos shutdown $server -localauth ");
-run("$openafsdirpath->{'afssrvsbindir'}/vos create $server a root.afs -localauth");
+run("$openafsdirpath->{'afssrvsbindir'}/vos create $server $part root.afs -localauth");
+unwind("$openafsdirpath->{'afssrvsbindir'}/vos remove $server $part root.afs -localauth");
+
# bring up client
$cachesize = $rl->readline("What size cache (in 1k blocks)? ") unless $cachesize;
}
unwind("$openafsinitcmd->{'client-stop'}");
-$part = "a" unless $part;
-
&OpenAFS::Auth::authadmin();
run("$openafsdirpath->{'afssrvbindir'}/fs sa /afs system:anyuser rl");