[Ocfstest-commits] colinzhu commits r48 - trunk/Docs
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Thu May 26 02:52:52 CDT 2005
Author: colinzhu
Date: 2005-05-26 02:52:49 -0500 (Thu, 26 May 2005)
New Revision: 48
Added:
trunk/Docs/README.ocfs2test
Log:
Readme file for instructions patched and organized.
Added: trunk/Docs/README.ocfs2test
===================================================================
--- trunk/Docs/README.ocfs2test 2005-05-25 09:35:57 UTC (rev 47)
+++ trunk/Docs/README.ocfs2test 2005-05-26 07:52:49 UTC (rev 48)
@@ -0,0 +1,204 @@
+ Instructions for How to Use OCFS2 Test Suites
+
+
+Contents
+
+ I, Overview
+
+ II, Quick Start for build and run ocfs2 test suites
+
+ III, Guide for setting up ocfs2 test suites manually
+
+ IV, Tips & Comments
+
+ V, Manual Cases
+
+ Appendix A: Configure password-less ssh login between testing nodes
+
+
+==========================================================================================================
+
+I, Overview
+
+OCFS2 Test Suite is implemented based on OCFS2 Test Plan, which you can find in "doc" sub-directory. Among all the test cases in the test plan, test suite B (Basic file/dir) / L (Ported cases from ltp) / R (Test cases on oracle test frameowrk) / M (Bi-node test case) / S (Stress test case) are included in this test kit.
+
+Test cases in these test suites can be cataloged in automatic test cases and manual test cases. Manual cases need user interaction during their executions.
+
+Additional "Racer" cases are also added into this test suite, which can test race conditions with contentions on ocfs2 directory with a very high speed.
+
+==========================================================================================================
+
+II, Quick Start for build and run ocfs2 test suites
+
+
+Steps to build and run test cases:
+
+1, Fetch source from oss.oracle.com via svn:
+
+# svn checkout http://oss.oracle.com/projects/ocfstest/src/trunk/ /opt/ocfs2test
+
+2, Setup password-less ssh login between testing nodes in one cluster according to Appendix A.
+
+This is needed for multiple-node test cases.
+
+3, Enter ocfs2test bin directory and finish configuration task (finish all the "make" needed and build some other files needed)
+
+[root at node2 opt]# cd /opt/ocfs2test/bin
+[root at node2 bin]# ls
+auto_test_ocfs2.sh config_files.sh config_ocfs2.sh manual_test_ocfs2.sh
+[root at node2 bin]# ./config_files.sh
+(.....This will open some vi windows for you to edit environment variables.....)
+[root at node2 bin]# ./config_ocfs2.sh
+(.....This will make and build ocfs2 test suites........)
+
+And it will build all the source need to be made. And brought the contents of the configuration file to your screen (which locates at </opt/ocfs2test>/ocfs2test/src/TestSuites/ocfs2test/tset/testenv.sh|setup.sh|test.config). Modify the settings in this file to be suitable for your environment if you need.
+
+4, Still in the bin directory, start the automatic testing:
+
+[root at node2 bin]# ./auto_test_ocfs2.sh
+
+And wait for some time until all the cases are done.
+
+5, After all the cases done, report for all the cases will be displayed on screen. But you can still find it at </opt/ocfs2test>/ocfs2test/src/TestSuites/ocfs2test/tset/log if you missed screen output.
+
+
+============================================================================================================
+
+III, Guide for how to setup ocfs2test suites manually (What do the scripts in quick start section do internally)
+
+
+1. Check out source code of ocfstest according the instruction on oss.oracle.com.
+
+2. Please go to the directory of tet source, for example your_checkout_directory/ocfs2test/dependencies/tet.
+Then run "make" and "make install" to generate rpms for tet installation. Please pay attention to the output
+message of make command to create according directory and copy according files to get correct result.
+
+3. Please find the path information of newly generated tet rpm according to the output message of "make rpm",
+then install this rpm to complete tet installation.
+
+4. For tvs installation, please refer to tet installation steps.
+
+5. After successful installtion of tet and tvs, you should find the newly generated directory of /usr/tet and
+/usr/tet/TVS. Please add TVS_ROOT(/usr/tet/TVS), TVS_ROOT/bin and /usr/tet/bin into your PATH parameter.
+6. Please go to /usr/tet/TVS and create src directory. Then please move your_checkout_directory /ocfs2test/src/
+TestSuites to your newly created directory.
+
+7. Please run "make" and "make install" step by step under /usr/tet/TVS/src/TestSuites. After your running,
+new directory of /usr/tet/TVS/tsets/ocfs2test would be created.
+
+8. Here, please modify the setup.sh testenv.sh test.config file to reflect your configuration.
+
+9. Please go to /usr/tet/TVS/etc to edit the TVSListing file. First we need to delete the content in the original
+file including example test secnario and add new ocfs2 test secnario instead. For example, you can select to run
+tpstress test only by insert "ocfs2test tpstress" into TVSListing file. Here, we recommend we should run all the
+ocfs2 tests together to save time.
+
+10. Before running ocfs2 tests, please defind OCFSROOT system parameter to the directory your test root directory
+which have to locate under your ocfs2 partition. For example, you can specify this parameter in your .bash_profile
+with "export OCFSROOT=/ocfs2". Please take note you need to define this parameter on all your test
+nodes in your testing environment.
+
+11. Since we need use password-less ssh login in several tests, please ensure you already configured your environment
+before.
+
+12. After you finish all the previous configuration, please simply run "./runtest.sh" for single basic cases and ltp ported cases, "tvs run" to run all the tet&tvs related ocfs2 tests.
+
+
+
+============================================================================================================
+
+IV, Tips & Comments
+
+
+Tips:
+Opening another terminal window and monitor system with "tail -f /var/log/messages" is a good way to learn what happens in system now. (Congratulations if you saw any "Call Trace" or Oops....... :D )
+
+Comments:
+1, Some the testing cases are running in a way that it generated some results by operations in current environment (all the individual system specified info are tried to filtered, just common info left) and compare these results with standard result files. So if in future version standard output by ocfs2/tools are changed, related standard result files also need to be re-made.
+
+2, Current standard result files are based on ocfs2 svn 2151 and ocfs2tools svn 810. So there may be some FAILED cases due to tools version number changing displayedin output, e.g. 0.99-0.3a -> 0.99-0.8 probably causes a fail which in fact is acceptable.
+
+3, Case B2 (mkfs.ocfs2) may fail for ocfs2tools svn versions later than svn 792 since after that mkfs.ocfs2 is changing. (Please make a new rpm for us to build a new standard result. :) )
+
+4, Case B4 should be more meaningful if we run some data corruption simulations before.
+
+5, In case B7, if we change the parameters of the width and level numbers of the deep directory tree to large numbers. This case may crash with "Segmentation Fault" errors.
+
+6, The standard result file for case B9 is an error message in fact, since mmap() functions are not implemented totally in current ocfs2 build yet.
+
+7, Case B11 is blank since no ioctl() call implemented. (Any updates recently?)
+
+8, The result for case B14 is different with the expected results in test plan.
+
+9, The result for case B17 is different with the expected results in test plan.
+
+10, The result for case B19 is different with the expected results in test plan.
+
+=============================================================================================================
+
+V, Manual Cases
+
+Manual cases include R8 R9 M10 M11 M12 M13 M15 M19 M20 M21 M22 M25, which need user interactions during executions. Their guidence and related scripts can be found in "muanual_cases" sub-directory under related suite directory. A central command script to wrap all the manual cases and guide testers on what to do is being build.
+
+
+=============================================================================================================
+
+Appendix A: Configure the password-less ssh login between testing nodes
+
+ We can use ssh or rsh to run commands on remote nodes and return output to local node. In most cases (ssh/rsh) login must be password-less during testing for the convenience to build automatic testing process.
+
+ To set up secure, password-less login via SSH for user: (e.g oracle user )
+
+ a. Generate the users's public and private SSH keys (~/.ssh/id_dsa.pub and id_dsa), as the oracle user:
+ $ ssh-keygen -t dsa
+
+ i. "Enter file in which to save the key ...:" --> Press ENTER.
+ ii. "Enter passphrase ...:"
+ For LESS Secure connection just Press ENTER.
+ For Secure connection enter a passphrase only you will know.
+ iii. "Enter same passphrase again:" Either ENTER or passphrase.
+
+ Note: In a multi-server environment, user would repeat step 'a.' above on each server in the cluster before proceeding to step 'b.'
+
+ b. Create the authorized_keys file by combining the contents of the id_dsa.pub files from each server. You can do this all on one node by running the command below multiple times, replacing "raclinux1" with a different node name each time. As the oracle user:
+
+ $ ssh node1 "cat ~/.ssh/id_dsa.pub" >> ~/.ssh/authorized_keys
+
+ i. Each time you connect from any node to a new hostname for the first time, you will see a message similar to:
+
+ "The authenticity of host 'node1 (***.***.***.***)' can't be
+ established. RSA key fingerprint is ...
+ Are you sure you want to continue connecting (yes/no)?"
+
+ Type "yes" and press ENTER. You will then see the message:
+
+ "Warning: Permanently added 'node1,***.***.***.***' (RSA) to
+ the list of known hosts."
+
+ ii. "oracle at node1's password:" --> Type "oracle" and press ENTER.
+
+ Note: In a multi-server environment, copy the authorized_keys file
+ you just created to the ~/.ssh directory of the oracle user on each
+ server in the cluster. For example, you could use the following
+ command to copy it to node "node2":
+
+ $ scp ~/.ssh/authorized_keys node2:/home/oracle/.ssh/
+ oracle at node2's password: --> Type "oracle" and press ENTER.
+
+ c. (Optional) If you entered passphrase above, and desire password-less login, you need to inform the ssh-agent (already running for desktop) of the passphrase so that ssh clients would not be prompted for a passphrase. Once you notify ssh-agent the passphrase is cached for duration of the GUI desktop login, and further client requests are satisfied by the ssh-agent.
+
+ $ ssh-add
+ Enter passphrase for /home/oracle/.ssh/id_dsa: *TYPE YOUR PASSPHRASE*
+ Identity added: /home/oracle/.ssh/id_dsa (/home/oracle/.ssh/id_dsa)
+
+ d. (not optional) To finalize and test the password-less SSH connection, answer YES to any prompt:
+
+ i. Run "ssh node1 date".
+ ii. Run "ssh nodelocal1 date".
+ iii. Run "ssh node1.us.oracle.com date".
+ iv. Run "ssh nodelocal1.us.oracle.com date".
+
+ Note: In a multi-server environment, repeat above steps to all nodes
+
+
+
More information about the Ocfstest-commits
mailing list