Whamcloud - gitweb
LU-4123 tests: use nodename in check_write_access 09/8009/4
authorStephen Champion <schamp@sgi.com>
Tue, 29 Oct 2013 04:13:49 +0000 (12:13 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Wed, 20 Nov 2013 05:31:55 +0000 (05:31 +0000)
Check for a file create using the remote nodename.

When the node name of a host does not exactly match the host name
passed via xxx_HOST parameters, check_write_access can check for
creation of a filename different from what the remote node created.

By querying and using the nodename from the remote host, the node
initiating the tests can check for the same file name that the remote
node creates.

Test-Parameters: testlist=lfsck

Signed-off-by: Stephen Champion <schamp@sgi.com>
Signed-off-by: Jian Yu <jian.yu@intel.com>
Change-Id: I57f081597395578c1a37e16531477e6fa4867c8d
Reviewed-on: http://review.whamcloud.com/8009
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
lustre/tests/functions.sh
lustre/tests/test-framework.sh

index a3a70e0..8d99d42 100644 (file)
@@ -254,6 +254,19 @@ short_hostname() {
   echo $(sed 's/\..*//' <<< $1)
 }
 
+###
+# short_nodename
+#
+# Find remote nodename, stripped of any domain, etc.
+# 'hostname -s' is easy, but not implemented on all systems
+short_nodename() {
+       local rname=$(do_node $1 "uname -n" || echo -1)
+       if [[ "$rname" = "-1" ]]; then
+               rname=$1
+       fi
+       echo $(short_hostname $rname)
+}
+
 print_opts () {
     local var
 
index c0632b3..0c81610 100644 (file)
@@ -6167,7 +6167,7 @@ check_write_access() {
        local file
 
        for node in ${list//,/ }; do
-               file=$dir/check_file.$(short_hostname $node)
+               file=$dir/check_file.$(short_nodename $node)
                if [[ ! -f "$file" ]]; then
                        # Logdir not accessible/writable from this node.
                        return 1