Whamcloud - gitweb
- use llmodules.sh to load modules now
authorrread <rread>
Fri, 26 Jul 2002 05:06:28 +0000 (05:06 +0000)
committerrread <rread>
Fri, 26 Jul 2002 05:06:28 +0000 (05:06 +0000)
- all networking config (except for the modules) is now in lconf

lustre/tests/llmodules.sh [new file with mode: 0644]
lustre/utils/lconf

diff --git a/lustre/tests/llmodules.sh b/lustre/tests/llmodules.sh
new file mode 100644 (file)
index 0000000..10693c1
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+SRCDIR="`dirname $0`/"
+[ -f $SRCDIR/common.sh ] || SRCDIR="/lib/lustre"
+
+. $SRCDIR/common.sh
+
+setup_opts "$@"
+
+[ -c /dev/portals ] || mknod /dev/portals c 10 240
+do_insmod $PORTALS/linux/oslib/portals.o || exit -1
+case $NETWORK in
+elan)  do_insmod $PORTALS/linux/qswnal/kqswnal.o || exit -1
+           ;;
+tcp)   do_insmod $PORTALS/linux/socknal/ksocknal.o || exit -1
+          ;;
+*)     fail "$0: unknown NETWORK '$NETWORK'" ;;
+esac
+
+[ -c /dev/obd ] || mknod /dev/obd c 10 241
+
+do_insmod $LUSTRE/obdclass/obdclass.o || exit -1
+do_insmod $LUSTRE/ptlrpc/ptlrpc.o || exit -1
+do_insmod $LUSTRE/ldlm/ldlm.o || exit -1
+do_insmod $LUSTRE/extN/extN.o || \
+    echo "info: can't load extN.o module, not fatal if using ext3"
+do_insmod $LUSTRE/mds/mds.o || exit -1
+do_insmod $LUSTRE/mds/mds_extN.o || \
+    echo "info: can't load mds_extN.o module, needs extN.o"
+do_insmod $LUSTRE/obdecho/obdecho.o || exit -1
+do_insmod $LUSTRE/obdfilter/obdfilter.o || exit -1
+do_insmod $LUSTRE/ost/ost.o || exit -1
+do_insmod $LUSTRE/osc/osc.o || exit -1
+do_insmod $LUSTRE/mdc/mdc.o || exit -1
+do_insmod $LUSTRE/lov/lov.o || exit -1
+do_insmod $LUSTRE/llite/llite.o || exit -1
+echo "$R/tmp/lustre-log" > /proc/sys/portals/debug_path
+
+list_mods
+
+
index 86dae59..7e013c6 100755 (executable)
@@ -31,7 +31,7 @@ import re, exceptions
 import xml.dom.minidom
 
 # Global parameters
-TCP_ACCEPTOR = 'acceptor'
+TCP_ACCEPTOR = '../..//portals/linux/utils/acceptor'
 options = {}
 
 #
@@ -140,14 +140,14 @@ class LCTLInterface:
             logall(err)
             raise CommandError, err
         return ret, out
-        
-        
+
     # create a new device with lctl
     def network(self, net, nid):
         cmds =  """
   network %s
   mynid %s
-  quit""" % (net, nid)
+  add_uuid self %s
+  quit""" % (net, nid, nid)
         self.run(cmds)
 
     # create a new connection 
@@ -168,7 +168,7 @@ class LCTLInterface:
         self.run(cmds)
 
     # create a new device with lctl
-    def newdev(self, attach, setup):
+    def newdev(self, attach, setup = ""):
         cmds = """
   newdev
   attach %s
@@ -214,6 +214,19 @@ def run(*args):
         ret = 0
     return (ret, out)
 
+# Run a command in the background.
+def run_daemon(*args):
+    cmd = string.join(map(str,args))
+    debug ("+", cmd)
+    if isnotouch(): return ([], 0)
+    f = os.popen(cmd + ' 2>&1')
+    ret = f.close()
+    if ret:
+        ret = ret >> 8
+    else:
+        ret = 0
+    return ret
+
 
 # is the path a block device?
 def is_block(path):
@@ -325,8 +338,12 @@ def prepare_network(node):
     (name, uuid, type, nid, port) = getNetworkInfo(node)
     print 'NETWORK:', name, uuid, type, nid, port
     if type == 'tcp':
-        run(TCP_ACCEPTOR, port)
+        ret = run_daemon(TCP_ACCEPTOR, port)
+        if ret:
+            print "error:", ret
+            raise CommandError, "cannot run acceptor"
     lctl.network(type, nid)
+    lctl.newdev(attach = "ptlrpc RPCDEV")
 
 
 # need to check /proc/mounts and /etc/mtab before
@@ -401,7 +418,13 @@ def cleanup_lov(node):
 def cleanup_network(node):
     (name, uuid, type, nid, port) = getNetworkInfo(node)
     print 'NETWORK:', name, uuid, type, nid, port
-    #lctl.network(type, nid)
+    try:
+        lctl.cleanup("RPCDEV", "")
+    except CommandError:
+        print "cleanup failed: ", name
+    # yikes, this ugly! need to save pid in /var/something
+    run("killall acceptor")
+
 
 # need to check /proc/mounts and /etc/mtab before
 # formatting anything.
@@ -748,7 +771,7 @@ def doHost(lustreNode, hosts, cleanFlag):
 #
 def parse_cmdline(argv):
     short_opts = "hdv"
-    long_opts = ["ldap", "reformat", "lustre=",
+    long_opts = ["ldap", "reformat", "lustre=", "verbose",
                  "portals=", "makeldiff", "cleanup", "iam=",
                  "help", "debug", "host="]
     opts = []