Docs for Danube 3
[bottlenecks.git] / docs / testing / developer / devguide / posca_guide.rst
index 5b2556f..ae6c248 100644 (file)
@@ -38,18 +38,33 @@ Detailed workflow is illutrated below.
 
 * https://wiki.opnfv.org/display/bottlenecks
 
+
 Preinstall Packages
 ====================
 
-* Please refer to release notes.
+* Docker: https://docs.docker.com/engine/installation/
+    * For Ubuntu, please refer to https://docs.docker.com/engine/installation/linux/ubuntu/
+
+* Docker-Compose: https://docs.docker.com/compose/
+
+.. code-block:: bash
+
+    if [ -d usr/local/bin/docker-compose ]; then
+        rm -rf usr/local/bin/docker-compose
+    fi
+    curl -L https://github.com/docker/compose/releases/download/1.11.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
+    chmod +x /usr/local/bin/docker-compose
+
 
 Run POSCA Locally
 =================
 
-POSCA testsuite is hight automated regarding test environment preparation, installing testing tools, excuting tests and show the report/analysis. A few steps are needed to run it locally.
+POSCA testsuite is highly automated regarding test environment preparation, installing testing tools, excuting tests and showing the report/analysis.
+A few steps are needed to run it locally.
 
 It is presumed that a user is using Compass4nfv to deploy OPNFV Danube and the user logins jumper server as root.
 
+
 Downloading Bottlenecks Software
 --------------------------------
 
@@ -58,6 +73,8 @@ Downloading Bottlenecks Software
     mkdir /home/opnfv
     cd /home/opnfv
     git clone https://gerrit.opnfv.org/gerrit/bottlenecks
+    cd bottlenecks
+
 
 Preparing Python Virtual Evnironment
 ------------------------------------
@@ -66,6 +83,7 @@ Preparing Python Virtual Evnironment
 
     . pre_virt_env.sh
 
+
 Excuting Specified Testcase
 ---------------------------
 
@@ -75,7 +93,8 @@ Bottlencks provide a CLI interface to run the tests, which is one of the most co
 
     bottlenecks [testcase run <testcase>] [teststory run <teststory>]
 
-For the *testcase* command, testcase name should be the same as the name of the test case configuration file located in testsuites/posca/testcase_cfg.
+For the *testcase* command, testcase name should be as the same name of the test case configuration file located in testsuites/posca/testcase_cfg.
+For stress tests in Danube, *testcase* should be replaced by either *posca_factor_ping* or *posca_factor_system_bandwidth*.
 For the *teststory* command, a user could specified the test cases to be excuted by defined it in a teststory configuration file located in testsuites/posca/testsuite_story. There is also an example there named *posca_factor_test*.
 
 There are also other 2 ways to run test cases and test stories.
@@ -83,14 +102,26 @@ The first one is using shell script.
 
 .. code-block:: bash
 
-    bash run_tests.sh [-h|--help] [-s <test suite>] [-c <test case>]
+    bash run_tests.sh [-h|--help] [-s <testsuite>] [-c <testcase>]
 
 The second is using python interpreter.
 
 .. code-block:: bash
 
-    python testsuites/posca/run_posca.py [testcase <testcase>] [teststory <teststory>]
+    docker-compose -f docker/bottleneck-compose/docker-compose.yml up -d
+    docker pull tutum/influxdb:0.13
+    sleep 5
+    POSCA_SCRIPT="/home/opnfv/bottlenecks/testsuites/posca"
+    docker exec bottleneckcompose_bottlenecks_1 python ${POSCA_SCRIPT}/run_posca.py [testcase <testcase>] [teststory <teststory>]
+
+
+Showing Report
+--------------
 
+Bottlenecks uses ELK to illustrate the testing results.
+Asumming IP of the SUT (System Under Test) is denoted as ipaddr,
+then the address of Kibana is http://[ipaddr]:5601. One can visit this address to see the illustrations.
+Address for elasticsearch is http://[ipaddr]:9200. One can use any Rest Tool to visit the testing data stored in elasticsearch.
 
 Cleaning Up Environment
 -----------------------
@@ -100,9 +131,44 @@ Cleaning Up Environment
     . rm_virt_env.sh
 
 
+If you want to clean the dockers that established during the test, you can excute the additional commands below.
+
+.. code-block:: bash
+
+    docker-compose -f docker/bottleneck-compose/docker-compose.yml down -d
+    docker ps -a | grep 'influxdb' | awk '{print $1}' | xargs docker rm -f >/dev/stdout
+
+Or you can just run the following command
+
+.. code-block:: bash
+
+    bash run_tests.sh --cleanup
+
+Note that you can also add cleanup parameter when you run a test case. Then environment will be automatically cleaned up when
+completing the test.
+
 Run POSCA through Community CI
 ==============================
-* POSCA test cases are runned by OPNFV CI now. See https://build.opnfv.org for more information.
+POSCA test cases are runned by OPNFV CI now. See https://build.opnfv.org for details of the building jobs.
+Each building job is set up to execute a single test case. The test results/logs will be printed on the web page and
+reported automatically to community MongoDB. There are two ways to report the results.
+
+1. Report testing result by shell script
+
+.. code-block:: bash
+
+    bash run_tests.sh [-h|--help] [-s <testsuite>] [-c <testcase>] --report
+
+2. Report testing result by python interpreter
+
+.. code-block:: bash
+
+    docker-compose -f docker/bottleneck-compose/docker-compose.yml up -d
+    docker pull tutum/influxdb:0.13
+    sleep 5
+    REPORT="True"
+    POSCA_SCRIPT="/home/opnfv/bottlenecks/testsuites/posca"
+    docker exec bottleneckcompose_bottlenecks_1 python ${POSCA_SCRIPT}/run_posca.py [testcase <testcase>] [teststory <teststory>] REPORT
 
 Test Result Description
 =======================