Merge pull request #16 from cgaonker/master
Updated running.md
diff --git a/docs/running.md b/docs/running.md
index 7ff3dd5..f307243 100644
--- a/docs/running.md
+++ b/docs/running.md
@@ -1,47 +1,112 @@
-# Documentation
+# CORD TESTER
+The CORD Automated Tester Suite is an extensible end-to-end system test suite targeting CORD PODs.
-Use the cord-setup.sh bash script to run the tests for your test environment.
+* [How to install](#how_to_install)
+* [How to use](#how_to_use)
-* In order to build a fresh test container before running the test, use the -b option like below:
+## Prerequisites
+* Python 2.7 or later
+* Docker
+* vagrant
+
+## <a name="how_to_install">How to install
+
+```bash
+$ git clone https://github.cyanoptics.com/cord-lab/cord-tester.git
+$ cd cord-tester
+$ vagrant up
+$ vagrant ssh cordtest
+$ cd src/test/setup/
+$ sudo ./cord-test.py -h
+usage: cord-test.py [-h] {run,list,build,cleanup} ...
+
+Cord Tester
+
+positional arguments:
+ {run,list,build,cleanup}
+ run Run cord tester
+ list List test cases
+ build Build cord test container images
+ cleanup Cleanup test containers
+
+optional arguments:
+ -h, --help show this help message and exit
+
+$ sudo ./cord-test.py run -h
+usage: cord-test.py run [-h] [-t TEST_TYPE] [-o ONOS] [-r] [-q] [-a APP] [-p]
+ [-e TEST_CONTROLLER] [-k] [-s]
+ [-u {test,quagga,radius,all}]
+
+optional arguments:
+ -h, --help show this help message and exit
+ -t TEST_TYPE, --test-type TEST_TYPE
+ Specify test type or test case to run
+ -o ONOS, --onos ONOS ONOS container image
+ -r, --radius Start Radius service
+ -q, --quagga Provision quagga container for vrouter
+ -a APP, --app APP Cord ONOS app filename
+ -p, --olt Use OLT config
+ -e TEST_CONTROLLER, --test-controller TEST_CONTROLLER
+ External test controller ip for Onos and/or radius
+ server. Eg: 10.0.0.2/10.0.0.3 to specify ONOS and
+ Radius ip to connect
+ -k, --keep Keep test container after tests
+ -s, --start-switch Start OVS when running under OLT config
+ -u {test,quagga,radius,all}, --update {test,quagga,radius,all}
+ Update cord tester container images. Eg:
+ --update=quagga to rebuild quagga image.
+ --update=radius to rebuild radius server image.
+ --update=test to rebuild cord test image.(Default)
+ --update=all to rebuild all cord tester images.
+$ sudo ./cord-test.py list -h
+usage: cord-test.py list [-h] [-t TEST]
+
+optional arguments:
+ -h, --help show this help message and exit
+ -t TEST, --test TEST Specify test type to list test cases. Eg: -t tls to
+ list tls test cases. -t tls-dhcp-vrouter to list
+ tls,dhcp and vrouter test cases. -t all to list all
+ test cases.
+ sudo ./cord-test.py build -h
+usage: cord-test.py build [-h] {quagga,radius,test,all}
+
+positional arguments:
+ {quagga,radius,test,all}
+
+optional arguments:
+ -h, --help show this help message and exit
```
-sudo ./cord-setup.sh -o onos:latest -a freeradius:latest -b onos:runtest -t dhcp-igmp
+* If you want to run cord-tester without Vagrant and already have a Ubuntu 14.04 server installed.
```
-
-* The above would build a docker container called onos:runtest before running the test.
-Otherwise it tries to spawn an existing test container called, onos:nosetest to run the tests.
-
-* To start the cord-tester, make sure you have onos and radius containers started and running.
-* Then you can start it with the container id or tag like below:
-
+$ git clone https://github.cyanoptics.com/cord-lab/cord-tester.git
+$ cd cord-tester/src/test/setup/
+$ prerequisites.sh
```
-sudo ./cord-setup.sh -o onos:latest -a freeradius:latest -t dhcp
+* Then follow the same instructions as mentioned in above section.
+
+
+## <a name="how_to_use">How to use
+* eval.sh will run all the test cases for you.
```
-
-* The above would spawn a test container and run the dhcp test.
-
-* If you want to run a list of tests, just separate them with hypens.
-
+$ ./eval.sh
```
-sudo ./cord-setup.sh -o onos:latest -a freeradius:latest -t dhcp-igmp-tls
+* Running all test cases in a module (for e.g DHCP)
```
-
-* If you want to run a specific test, you can give the classname.testname like below
-
+$ sudo ./cord-test.py run -t dhcp
```
-sudo ./cord-setup.sh -o onos:latest -a freeradius:latest -t dhcp:dhcp_exchange.test_dhcp_1request-igmp:test_igmp_1group_join_latency
+* Running single test case in a module
```
-
-* If you want to spawn a test and kill the test container after the tests are done, specify the -k option like below.
-
+$ sudo ./cord-test.py -t dhcp:dhcp_exchange.test_dhcp_1request
```
-sudo ./cord-setup.sh -o onos:latest -a freeradius:latest -t dhcp -k
+* If you want to check a list of test cases
```
-
-* If you want to cleanup all the test containers by tag onos:nosetest, then use the -C cleanup option to cleanup test containers.
-
+$ sudo ./cord-test.py list
```
-sudo ./cord-setup.sh -o onos:latest -C onos:nosetest
+* IF you want to clean up all
+```
+$ sudo ./cord-test.py clean
```
* For other options, run with -h option.
+