International Business Machines Corporation Appendix

Testing Environment

Hardware Environment: Two IBM Risc System 6000, Models (F50 and 43P-150) with 
   ethernet adapters using the standard ethernet network interface were 
   used for this conformance test run. The operating system was AIX 5L, Version 
   5, Release 2, Modification 0 


Software Environment: AIX V5.2.0 and VSX4 Test Suite installation

1. AIX V5.2.0 and VSX4+NFS Test Suite installation

   o Install AIX 5L V5.2.0 base operating System on both client and server.

      bos.adt                         5.2.0.0
      bos.net                         5.2.0.0
      bos.loc.adt.locale              5.2.0.0
      vac.C                           6.0.0.0
      xlC.msg.en_US.rte               6.0.0.0
      xlC.rte                         6.0.0.0


2. Test Environment Toolkit Release 3.3g on both client and server.

   o tet3.3g-unsup.src.tar.Z


3. X/Open System Verification Suite, XNFS VSX Release 4.4.5, install
   on appropriate system 

   o client.tar.Z 

   o server.tar.Z 


4. Installation Procedures 

  The following AIX-specific procedures were used to configure the RISC 
     System/6000 for VSX+NFS 4.4.5 running in XPG4 mode. 

  The following should be performed as user root on both the client system 
    and the server system unless otherwise stated: 

1. On the client, make a logical volume to contain VSX+NFS test suite. 

   o If your rootvg has physical partition size of 4 megabytes: 
          mklv -y'/tsuites/XNFS' rootvg 33 

   o If your rootvg has physical partition size of 2 megabytes: 
          mklv -y'/tsuites/XNFS' rootvg 66 

2. On the server, make a logical volume to contain VSX+NFS test suite. 

   o If your rootvg has physical partition size of 4 megabytes: 
         mklv -y'/tsuites/XNFS' rootvg 15 

   o If your rootvg has physical partition size of 2 megabytes: 
         mklv -y'/tsuites/XNFS' rootvg 30 

3. Create the filesystem for VSX+NFS test suite. 

   o crfs -v jfs -d'/tsuites/XNFS' -m'/tsuites/XNFS' -A'no' -p'rw' -t'no' \
          -a frag='4096' -a nbpi='4096' -a compress='no' 

4. Mount the filesystem. 

   o mount /tsuites/XNFS 

5. Make directory in which VSX+XNFS will be installed. 

   o mkdir -p /tsuites/XNFS/vsx4 

6. Network the client and server machines and configure. For this test, we used 
    token ring adapters and the standard ethernet network interface. If the 
    network has other machines connected, verify that the network addresses do 
    not conflict. 

  o Configure TCP/IP. 

    Client: /usr/sbin/mktcpip -h'unix3' -a'9.3.77.63'  \
            -m'255.255.255.128' -i'en0'  

    Server: /usr/sbin/mktcpip -h'unix8' -a'9.3.77.68'  \
            -m'255.255.255.128' -i'en0'

  o Add the following lines to the /etc/hosts file: 

     Client: 9.3.77.68 unix8 

     Server: 9.3.77.63 unix3 


7. Add the following users and groups using the following commands: 

   o mkgroup id=2000 vsxg0 
   o mkgroup id=2001 vsxg1 
   o mkgroup id=2002 vsxg2 

   o mkuser id='2000' pgrp='vsxg0' groups='vsxg0' home='/tsuites/XNFS/vsx4' \
            vsx0 
   o mkuser id='2001' pgrp='vsxg1' groups='vsxg1' home='/tsuites/XNFS/vsx1' \
            vsx1 
   o mkuser id='2002' pgrp='vsxg2' groups='vsxg2' home='/tsuites/XNFS/vsx2' \
            vsx2 

   o mkgroup id=2003 users=vsx0,vsx1,vsx2 vsxg3 
   o mkgroup id=2004 users=vsx0,vsx1,vsx2 vsxg4 
   o mkgroup id=2005 users=vsx0,vsx1,vsx2 vsxg5 
   o mkgroup id=2006 users=vsx0,vsx1,vsx2 vsxg6 
   o mkgroup id=2010 users=vsx0,vsx1,vsx2 vsxg10 
   o mkgroup id=2011 users=vsx0,vsx1,vsx2 vsxg11 
   o mkgroup id=2012 users=vsx0,vsx1,vsx2 vsxg12 
   o mkgroup id=2013 users=vsx0,vsx1,vsx2 vsxg13 
   o mkgroup id=2014 users=vsx0,vsx1,vsx2 vsxg14 
   o mkgroup id=2015 users=vsx0,vsx1,vsx2 vsxg15 
   o mkgroup id=2016 users=vsx0,vsx1,vsx2 vsxg16 
   o mkgroup id=2017 users=vsx0,vsx1,vsx2 vsxg17 
   o mkgroup id=2018 users=vsx0,vsx1,vsx2 vsxg18 
   o mkgroup id=2019 users=vsx0,vsx1,vsx2 vsxg19 
   o mkgroup id=2020 users=vsx0,vsx1,vsx2 vsxg20 

8. Change ownership and permissions of home directories. 

   o Login as root 
   o chmod 777 /tsuites/XNFS/vsx4 
   o chmod 777 /tsuites/XNFS/vsx1 
   o chmod 777 /tsuites/XNFS/vsx2 

9. Modify the .profile file for users vsx0, vsx1, vsx2 in /tsuites/XNFS/vsx4, 
   /tsuites/XNFS/vsx1, and /tsuites/XNFS/vsx2 to contain only the following 
   information. 

    TET_EXECUTE=$HOME/TESTROOT 
    TET_ROOT=$HOME/.. 
    PATH=$PATH:$HOME/../bin:$HOME/BIN:$HOME/SRC/BIN 
    export TET_EXECUTE TET_ROOT PATH 
    export TERM=lft 
    set -o vi 

10. Load the TETWare distribution in the directory /tsuites/XNFS on both 
    the client and server following the instructions below: 

   o TETWare is packed into a file called tet3.3g-unsup.src.tar.Z. Log on 
     to the system as root user. 

   o From /tsuites/XNFS directory issue the following command: 
       zcat /tsuites/XNFS/XSRC/tet3.3g-unsup.src.tar.Z | tar -xf -


11. Load the client portion of the VSX+XNFS distribution in the directory 
     /tsuites/XNFS/vsx4 on the client machine. 

  o The client portion of the VSX+XNFS distribution requires two packages to
     be unpacked: vsxgen16.cpio.Z and client.tar.Z.

  o  cd /tsuites/XNFS/vsx4 

  o Unpack the distribution using the following commands: 
    zcat /tsuites/XNFS/XSRC/vsxgen16.cpio.Z | cpio -icdv 
    zcat /tsuites/XNFS/XSRC/client.tar.Z | tar -xf -


12. Load the server portion of the VSX+NFS distribution in the directory 
     /tsuites/XNFS/vsx4 on the server machine. 

  o The server portion of the VSX+NFS distribution requires three packages to
     to unpacked: vsxgen_s.cpio.Z and server.tar.Z

  o cd /xnfs/TET/vsx4 

  o Unpack the distribution using the following commands: 
    zcat /tsuites/XNFS/XSRC/vsxgen_s.tar.Z | tar -xf -
    zcat /tsuites/XNFS/XSRC/client.tar.Z | tar -xf -


13. Change file permissions and ownership: 

  o chmod -R 777 /tsuites/XNFS 
  o chown -R vsx0.vsxg0 /tsuites/XNFS 

15. Add the following service to the /etc/services file: 

   tcc 3000/tcp #vsx xnfs test suite 

16. On the Server, create the following filesystems to be used during testing: 

  o crfs -v jfs -m /tsuites/testfs/xnfs_export_default -g rootvg -A'yes' \
         -t'yes' -a size=16000 
  o crfs -v jfs -m /tsuites/testfs/xnfs_export_root -g rootvg -A'yes'    \
         -t'yes' -a size=16000 
  o crfs -v jfs -m /tsuites/testfs/xnfs_spec_fsys -g rootvg -A'yes'      \
         -t'yes' -a size=16000 
  o crfs -v jfs -m /tsuites/testfs/vsx_mount_dev -g rootvg -A'yes'       \
         -t'yes' -a size=16000 
  o crfs -v jfs -m /tsuites/testfs/vsx_nospc_dev -g rootvg -A'yes'       \
         -t'yes' -a size=16000 

17. On the Server, mount the following file systems and set the 
     permissions using the following commands: 

  o mount /tsuites/testfs/xnfs_export_default 
  o mount /tsuites/testfs/xnfs_export_root 
  o mount /tsuites/testfs/xnfs_spec_fsys 
  o mount /tsuites/testfs/vsx_mount_dev 
  o mount /tsuites/testfs/vsx_nospc_dev 

  o chown vsx0.vsxg0 /tsuites/testfs/xnfs_export_default 
  o chown vsx0.vsxg0 /tsuites/testfs/xnfs_export_root 
  o chown vsx0.vsxg0 /tsuites/testfs/xnfs_spec_fsys 
  o chown vsx0.vsxg0 /tsuites/testfs/vsx_mount_dev 
  o chown vsx0.vsxg0 /tsuites/testfs/vsx_nospc_dev 

  o chmod 2777 /tsuites/testfs/vsx_mount_dev 
  o chmod 2777 /tsuites/testfs/vsx_nospc_dev 
  o chmod 2755 /tsuites/testfs/xnfs_export_default 
  o chmod 2755 /tsuites/testfs/xnfs_export_root 
  o chmod 2777 /tsuites/testfs/xnfs_spec_fsys 

18. Configure and build TETWare 

    o Log on to the system as user root and change directory to 
       /tsuites/XNFS. 

    o Verify that the file configure is executible. If not, issue 
        chmod 777 configure 

    o Configure tetware for inet mode
       ./configure -t inet 

    o chown vsx0.vsxg0 src/defines.mk 

    o chmod 744 src/defines.mk 

    o Edit /tsuites/XNFS/src/defines.mk and make the following changes: 

        TCCD = tccd 
        DET_CDEFS = -D_POSIX_SOURCE -DNSIG=64
        DTET_CDEFS = -D_ALL_SOURCE -DSVID3_POLL -DSVR3 -D_LONG_LONG -qlonglong
        DTET_CDEFS = -D_XOPEN_SOURCE=500 -DSVID3_POLL -DSVR3 -D_LONG_LONG /
                     -qlonglong

    o Login is as vsx0

    o cd to /tsuites/XNFS/src

    o make ; make install 

    o Create a file /tsuites/XNFS/systems with the following data: 
      0 ossc6 
      1 oscc4 

19. Configure VSX+XNFS on the client (as user vsx0) 

   o Execute config.sh script and answer the questions as follows: 

      Which of the above parameter files do you wish to use?[none] 
      Which test mode do you require? [XPG4] 
      Do you wish to test the XNFS specification? [y] 
      Where is the root directory of the tree? [/tsuites/XNFS/vsx4/TESTROOT] 
      How fast is your machine? [2] 
      The system include directories (in order of searching) are: /usr/include 
      What is your C compiler called? [/usr/bin/c89] 
      What command line options does your C compiler need? [none] 
      What link editor options does your C compiler need? [none] 
      Which library is your RPC library? [/usr/lib/librpcsvc.a] 
      Is your RPC library TLI-based or socket-based? [socket] 
      There are no additional libraries needed to compile VSX
                  Is this correct? [y] 
      What is the name of your XNFS client system? [oscc6] 
      What is the name of your XNFS server system? [oscc4] 
      Where is the TET_ROOT directory on your XNFS server system?
                  [/tsuites/XNFS] 

   o Edit the /tsuites/XNFS/vsx4/SRC/vsxconfig.h file and make the 
       following change: 

      #define NSIG (64) 

   o Edit the /tsuites/XNFS/vsx4/Makefile and make the following changes: 

     EXPORT_DEFAULT = /tsuites/testfs/xnfs_export_default 
     MOUNT_DEFAULT = /tsuites/testfs/xnfs_mount_default 
     EXPORT_ROOT = /tsuites/testfs/xnfs_export_root 
     MOUNT_ROOT = /tsuites/testfs/xnfs_mount_root 

     mountdef:
        mount -o rw,nosuid,hard,intr,noac,vers=3 \
                $(XNFS_SERVER):$(EXPORT_DEFAULT) $(MOUNT_DEFAULT)

     mountroot: 
        mount -o rw,hard,intr,noac,vers=3 $(XNFS_SERVER):$(EXPORT_ROOT) \
            $(MOUNT_ROOT) 

   o Edit the /tsuites/XNFS/vsx4/SRC/userintf.c file and make the 
      following changes: 

    In the usr_unmount subroutine change the sprintf call as follows to 
     match the AIX syntax. 

     (void) sprintf(cmd, "umount %s",dir); 

   o Edit the /tsuites/XNFS/vsx4/SRC/rpcincs.h file so that it looks 
      like the following: 

     #undef _XOPEN_SOURCE
     #define _ALL_SOURCE
     #ifndef _H_TYPES
        #include 
     #else
        typedef unsigned int u_int;
        typedef unsigned char u_char;
        typedef unsigned long u_long;
        typedef unsigned short u_short;
        #define NBBY 8
     #endif
     #undef _ALL_SOURCE
     #ifndef _XOPEN_SOURCE
        #define _XOPEN_SOURCE 1
     #endif
     #define _XOPEN_SOURCE_EXTENDED 1
     #include 
     #include 
     #include 
     #undef _XOPEN_SOURCE_EXTENDED


20. Configure VSX+NFS on the server (as user vsx0) 

   o Edit the /tsuites/XNFS/vsx4/defines.mk file and make the following changes: 

     TEST_MODE=XPG4 
     DEFINES=-D_XOPEN_SOURCE 
     XNFS_CLIENT=oscc6 
     EXPORT_DEFAULT=/tsuites/testfs/xnfs_export_default 
     EXPORT_ROOT=/tsuites/testfs/xnfs_export_root 
     VSX_MOUNT_DEV=/tsuites/testfs/vsx_mount_dev 
     VSX_NOSPC_DEV=/tsuites/testfs/vsx_nospc_dev 

   o cp /tsuites/XNFS/vsx4/usrint_s.org to /tsuites/XNFS/vsx4/usrint_s.c 

21. Installing VSX+NFS (perform on both client and server as user vsx0) 

   o In the vsx0 user's home directory (/tsuites/XNFS/vsx4) 
        su root -c make 
        chmod -R 777 /tsuites/XNFS/vsx4 

22. Modify the permissions on user vsx1 and vsx2 directories: 

   o chmod -R 777 /tsuites/XNFS/vsx1 
   o chown -R vsx1.vsxg1 /tsuites/XNFS/vsx1 
   o chmod -R 777 /tsuites/XNFS/vsx2 
   o chown -R vsx2.vsxg2 /tsuites/XNFS/vsx2 

23. As user vsx0, modify the VSX+NFS client configuration file. The 
     configuration file for the VSX+NFS client is located in 
     /tsuites/XNFS/vsx4/TESTROOT and is called tetexec.cfg. A copy of the 
     parameters to be used is included at the end of this attachment. 

24. As user vsx0, modify the VSX+NFS server configuration file. The 
     configuration file for the VSX+NFS server is located in 
     /tsuites/XNFS/vsx4 and is called tetexec.cfg. A copy of the 
     parameters to be used is included at the end of this attachment. 

25. Building VSX+NFS

   o On both client and server as root issue the following: 

    startsrc -s rps.statd -a '-x'
    startsrc -s rpc.lockd -a '-x'
    startsrc -s rpc.mountd -a ' -t -n -h 1'
    startsrc -s nfsd 

  o Start tccd on the server. Log onto the server as user vsx0 and issue 
     the following from the home directory: 

     tccd -u vsx0 

  o Start the build process on the client. This will use TetWare to build 
     the testcases on both the client and server. Log onto the client as 
     user vsx0 and issue the following command from the home directory: 

     tccd -u vsx0 
     tcc -b -s scen.bld vsx4 all 

  o Verify that all tests build correctly. Look in the journal file 
     indicated by the command in the previous step and verify that there 
     are no "FAIL" test results. 

26. Executing VSX+NFS

  o Log onto the server as user vsx0. 

  o su to root and issue the command: 

     make export 

  o Log onto the client as user vsx0. 

  o su to root and issue the command: 

     make mount 

  o On the client, as user vsx0 issue the following command in the 
     home directory: 

    tcc -e -s scen.exec vsx4 all 

  o Generate a report as described in the "VSX+NFS User and Installation Guide"
     under the section "REPORTING" 

     vrpt journal > rlog

27. Client Parameter File: /tsuites/XNFS/vsx4/TESTROOT/tetexec.cfg

        TEST_MODE            =  XPG4
        TEST_PACKAGES        =   VSX4.4.5
        VSXDIR               =  /tsuites/XNFS/vsx4/SRC
        VSX_DBUG_FLAGS       =
        VSX_DBUG_FILE        =  /tsuites/XNFS/vsx4/TESTROOT/dbug.out
        VSX_NAME             =  VSX4.4.5+NFS
        VSX_OPER             =  Bill Toth
        VSX_ORG              =  OSCC - Open Group Conformance Lab
        VSX_PATH             =
        VSX_SYS              =  AIX 5L Version 5.2
        VSX_UID0             =  2000
        VSX_UID1             =  2001
        VSX_UID2             =  2002
        VSX_GID0             =  2000
        VSX_GID1             =  2001
        VSX_GID2             =  2002
        TET_SIG_IGN          =
        TET_SIG_LEAVE        =
        VSX_FCNTL_EDEADLK    =  Y
        VSX_FCNTL_MAXLOCK    =  -1
        VSX_INVALID_GID      =  unsup
        VSX_INVALID_UID      =  unsup
        VSX_MOUNT_DEV        =  /tsuites/testfs/vsx_mount_dev
        VSX_NOSPC_DEV        =  /tsuites/testfs/vsx_nospc_dev
        VSX_ROFS             =  /tsuites/testfs/vsx_mount_dev
        VSX_SYS_OPEN_MAX     =  -1
        VSX_ULIMIT_BLKS      =  2
        VSX_UNLOCKABLE_FILE  =  unsup
        XNFS_CLIENT          =  unix8.aixpclab.austin.ibm.com
        XNFS_SERVER          =  unix3.aixpclab.austin.ibm.com
        XNFS_MOUNT_DEFAULT   =  /tsuites/testfs/xnfs_mount_default
        XNFS_EXPORT_DEFAULT  =  /tsuites/testfs/xnfs_export_default
        XNFS_MOUNT_ROOT      =  /tsuites/testfs/xnfs_mount_root
        XNFS_EXPORT_ROOT     =  /tsuites/testfs/xnfs_export_root
        XNFS_SPEC_FSYS       =  /tsuites/testfs/xnfs_spec_fsys
        XNFS_ANON_UID        =  -2
        XNFS_ESTALE_SIZE     =  80000
        XNFS_SERVER_CHOWN_RESTRICTED =  Y
        XNFS_SERVER_NAME_MAX =  1024
        XNFS_SERVER_NO_TRUNC =  Y
        XNFS_REMLOCK_SUPP    =  N
        XNFS_NLM_SUPP        =  Y
        XNFS_NSM_SUPP        =  Y
        XNFS_MONLOCK_SUPP    =  N
        XNFS_SYMLINKS_SUPP   =  Y
        VSX_LINK_ACCESS_REQD =  Y
        VSX_LINK_DIR_SUPP    =  Y
        VSX_NONEXEC_FILE     =  /tsuites/XNFS/vsx4
        VSX_OPENDIR_EMNFILE  =  Y
        VSX_PRIV_ACCESS_SUPP =  Y
        VSX_PRIV_CHOWN_SUPP  =  Y
        VSX_REMOVE_DIR_EBUSY =  S
        VSX_RENAME_DIR_EBUSY =  S
        VSX_RENAME_DIR_WPERM_REQD =     N
        VSX_SET_ID_MODES_SUPP = Y
        TEST_XNFS            =  y
        TET_EXEC_IN_PLACE    =  True
        TET_OUTPUT_CAPTURE   =  False
        TET_API_COMPLIANT    =  True
        TET_PASS_TC_NAME     =  False
        TET_VERSION          =  3.3
        TET_REM000_TET_ROOT  =  /tsuites/XNFS/vsx4/..
        TET_REM000_TET_SUITE_ROOT =     /tsuites/XNFS/vsx4/..
        TET_REM000_TET_TSROOT = /tsuites/XNFS/vsx4/../vsx4
        TET_REM000_TET_EXECUTE =        /tsuites/XNFS/vsx4/TESTROOT
        TET_REM001_TET_ROOT  =  /tsuites/XNFS
        TET_REM001_TET_TSROOT = /tsuites/XNFS/vsx4
        TET_REM001_TET_EXECUTE =        /tsuites/XNFS/vsx4/TESTROOT

28. Server Parameters File: /tsuites/XNFS/vsx4/tetexec.cfg

        VSX_DBUG_FLAGS=
        VSX_DBUG_FILE=
        TET_SIG_IGN=
        TET_SIG_LEAVE=


Copyright © 2002 International Business Machines Corporation.
All Rights Reserved.


Copyright © 1998 The Open Group. All Rights Reserved.

OSF/1, Motif, UNIX, and the "X" device are registered trademarks in the U.S. and other countries, and IT DialTone and The Open Group are trademarks of The Open Group.


[ Home ] [ Testing Home ] [ Send Feedback ]