Merge "S3P Testing Documentation for Apex-PDP"
diff --git a/docs/development/devtools/csv/20201016-1715-distr-stability-aggregate.csv b/docs/development/devtools/csv/20201016-1715-distr-stability-aggregate.csv
new file mode 100755
index 0000000..88ff3a3
--- /dev/null
+++ b/docs/development/devtools/csv/20201016-1715-distr-stability-aggregate.csv
@@ -0,0 +1,11 @@
+Label,# Samples,Average,Median,90% Line,95% Line,99% Line,Min,Max,Error %,Throughput,Received KB/sec,Sent KB/sec
+Remove CSAR,10813,7,6,8,9,21,5,1065,0.000%,.04172,0.02,0.00
+Add CSAR script,10813,7,7,8,9,14,5,2026,0.000%,.04172,0.02,0.00
+Healthcheck,10813,1,1,2,2,3,0,86,0.000%,.04172,0.01,0.01
+Statistics,10813,1,1,2,2,3,0,93,0.000%,.04172,0.01,0.01
+CheckPDPGroupQuery,10813,246,195,395,546,981,33,7297,0.000%,.04172,0.11,0.01
+Check Policy Deployed,10813,20,21,23,24,28,12,255,0.000%,.04172,0.02,0.01
+Undeploy Policy ,10813,357,306,517,678,1118,195,7267,0.000%,.04172,0.01,0.01
+Delete Policy,10813,394,335,587,782,1165,204,7176,0.000%,.04172,5.40,0.02
+CheckPDPGroupQueryForDeletedPolicy,10812,230,180,379,537,930,17,5243,0.000%,.04172,0.11,0.01
+TOTAL,97316,140,21,367,471,863,0,7297,0.000%,.37545,5.72,0.08
diff --git a/docs/development/devtools/csv/20201016-1715-distr-stability-summary.csv b/docs/development/devtools/csv/20201016-1715-distr-stability-summary.csv
new file mode 100755
index 0000000..12547b6
--- /dev/null
+++ b/docs/development/devtools/csv/20201016-1715-distr-stability-summary.csv
@@ -0,0 +1,11 @@
+Label,# Samples,Average,Min,Max,Std. Dev.,Error %,Throughput,Received KB/sec,Sent KB/sec,Avg. Bytes
+Remove CSAR,10813,7,5,1065,20.90,0.000%,.04172,0.02,0.00,548.0
+Add CSAR script,10813,7,5,2026,24.81,0.000%,.04172,0.02,0.00,473.0
+Healthcheck,10813,1,0,86,1.48,0.000%,.04172,0.01,0.01,227.0
+Statistics,10813,1,0,93,2.96,0.000%,.04172,0.01,0.01,323.9
+CheckPDPGroupQuery,10813,246,33,7297,207.07,0.000%,.04172,0.11,0.01,2814.0
+Check Policy Deployed,10813,20,12,255,4.79,0.000%,.04172,0.02,0.01,461.0
+Undeploy Policy ,10813,357,195,7267,206.26,0.000%,.04172,0.01,0.01,260.0
+Delete Policy,10813,394,204,7176,203.89,0.000%,.04172,5.40,0.02,132538.0
+CheckPDPGroupQueryForDeletedPolicy,10812,230,17,5243,179.75,0.000%,.04172,0.11,0.01,2756.0
+TOTAL,97316,140,0,7297,205.30,0.000%,.37545,5.72,0.08,15600.2
diff --git a/docs/development/devtools/csv/20201020-1730-distr-performance-aggregate.csv b/docs/development/devtools/csv/20201020-1730-distr-performance-aggregate.csv
new file mode 100755
index 0000000..4accfca
--- /dev/null
+++ b/docs/development/devtools/csv/20201020-1730-distr-performance-aggregate.csv
@@ -0,0 +1,10 @@
+Label,# Samples,Average,Median,90% Line,95% Line,99% Line,Min,Max,Error %,Throughput,Received KB/sec,Sent KB/sec
+Remove CSAR,198,4,4,5,5,11,3,13,0.000%,.01380,0.00,0.00
+Add CSAR script,198,16,16,18,20,22,14,23,0.000%,.01380,0.00,0.00
+Healthcheck,71655,1,1,2,2,2,0,205,0.000%,4.97617,1.10,1.14
+Statistics,71652,0,1,1,1,2,0,85,0.000%,4.97609,1.57,1.14
+Check Policy Deployed,198,21,20,23,25,31,16,205,0.000%,.01380,0.03,0.00
+CheckPDPGroupQuery,198,234,193,350,524,915,27,1034,0.000%,.01381,0.05,0.00
+Undeploy/Delete Policies,197,12340,12155,14027,14343,15618,10402,16007,0.000%,.01379,17.94,0.00
+CheckPDPGroupQueryForDeletedPolicy,197,185,161,256,328,584,109,734,0.000%,.01380,0.04,0.00
+TOTAL,144493,18,1,2,2,3,0,16007,0.000%,10.03406,20.59,2.29
diff --git a/docs/development/devtools/csv/20201020-1730-distr-performance-summary.csv b/docs/development/devtools/csv/20201020-1730-distr-performance-summary.csv
new file mode 100755
index 0000000..f4046a5
--- /dev/null
+++ b/docs/development/devtools/csv/20201020-1730-distr-performance-summary.csv
@@ -0,0 +1,10 @@
+Label,# Samples,Average,Min,Max,Std. Dev.,Error %,Throughput,Received KB/sec,Sent KB/sec,Avg. Bytes
+Remove CSAR,198,4,3,13,1.30,0.000%,.01380,0.00,0.00,226.0
+Add CSAR script,198,16,14,23,1.56,0.000%,.01380,0.00,0.00,220.0
+Healthcheck,71655,1,0,205,1.39,0.000%,4.97617,1.10,1.14,227.0
+Statistics,71652,0,0,85,0.88,0.000%,4.97609,1.57,1.14,323.0
+Check Policy Deployed,198,21,16,205,13.29,0.000%,.01380,0.03,0.00,2313.0
+CheckPDPGroupQuery,198,234,27,1034,148.16,0.000%,.01381,0.05,0.00,3396.0
+Undeploy/Delete Policies,197,12340,10402,16007,1205.91,0.000%,.01379,17.94,0.00,1332213.2
+CheckPDPGroupQueryForDeletedPolicy,197,185,109,734,84.16,0.000%,.01380,0.04,0.00,2756.0
+TOTAL,144493,18,0,16007,457.65,0.000%,10.03406,20.59,2.29,2101.3
diff --git a/docs/development/devtools/distribution-s3p.rst b/docs/development/devtools/distribution-s3p.rst
index 093e28c..1db411c 100644
--- a/docs/development/devtools/distribution-s3p.rst
+++ b/docs/development/devtools/distribution-s3p.rst
@@ -7,179 +7,215 @@
 Policy Distribution component
 #############################
 
-72 Hours Stability Test of Distribution
-+++++++++++++++++++++++++++++++++++++++
+72h Stability and 4h Performance Tests of Distribution
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
-Introduction
-------------
-The 72 hour Stability Test for policy distribution has the goal of introducing a steady flow of transactions initiated from a test client server running JMeter. The policy distribution is configured with a special FileSystemReception plugin to monitor a local directory for newly added csar files to be processed by itself. The input CSAR will be added/removed by the test client(JMeter) and the result will be pulled from the backend(PAP and PolicyAPI) by the test client(JMeter).
+VM Details
+----------
 
-
-The test will be performed in an environment where Jmeter will continuously add/remove a test csar into the special directory where policy distribuion is monitoring and will then get the processed results from PAP and PolicyAPI to verify the successful deployment of the policy. The policy will then be undeployed and the test will loop continuously until 72 hours have elapsed.
-
-Setup details
--------------
-
-The stability test is performed on VM's running in the OpenStack cloud environment in the ONAP integration lab. There are 2 separate VMs, one for running backend policy services which policy distribution needs, and the other is for policy distribution service itself and Jmeter.
+The stability and performance tests are performed on VM's running in the OpenStack cloud environment in the ONAP integration lab. There are two separate VMs, one for running backend policy services which policy distribution needs, and the other for the policy distribution service itself and Jmeter.
 
 **OpenStack environment details**
 
-Version: Windriver Titanium
+- Version: Windriver Titanium
 
-**Policy Backend VM details(VM1)**
+**Policy Backend VM details (VM1)**
 
-OS:Ubuntu 18.04.4 LTS
+- OS: Ubuntu 18.04.5 LTS
+- CPU: 8 core, Intel Xeon E3-12xx v2 (Ivy Bridge), 2693.668 MHz, 16384 kB cache
+- RAM: 32 GB
+- HardDisk: 200 GB
+- Docker version 19.03.8, build afacb8b7f0
+- Java: openjdk 11.0.8 2020-07-14
 
-CPU: 8 core
+**JMeter and Distribution VM details (VM2)**
 
-RAM: 32 GB
+- OS: Ubuntu 18.04.5 LTS
+- CPU: 8 core, Intel Xeon E3-12xx v2 (Ivy Bridge), 2693.668 MHz, 16384 kB cache
+- RAM: 32 GB
+- HardDisk: 200 GB
+- Docker version 19.03.8, build afacb8b7f0
+- Java: openjdk 11.0.8 2020-07-14
+- JMeter: 5.1.1
 
-HardDisk: 160 GB
 
-Docker version 19.03.8, build afacb8b7f0
-
-Java: openjdk version "11.0.7"
-
-**JMeter and Distribution VM details(VM2)**
-
-OS: Ubuntu 18.04.4 LTS
-
-CPU: 8 core
-
-RAM: 32 GB
-
-HardDisk: 160 GB
-
-Docker version 19.03.8, build afacb8b7f0
-
-Java: openjdk version "11.0.7"
-
-JMeter: 5.1.1
-
-Install Docker in VM1 & VM2
----------------------------
-Make sure to execute below commands in VM1 & VM2 both.
+VM1 & VM2: Common Setup
+-----------------------
+Make sure to execute below commands on both VM1 & VM2
 
 Update the ubuntu software installer
 
 .. code-block:: bash
 
-    $ apt-get update
+    sudo apt update
 
-Install and check Java
+Install Java
 
 .. code-block:: bash
 
-    $ apt-get install -y openjdk-11-jdk
-    $ java -version
+    sudo apt install -y openjdk-11-jdk
 
 Ensure that the Java version that is executing is OpenJDK version 11
 
-Install and check Docker
+.. code-block:: bash
+
+    $ java --version
+    openjdk 11.0.8 2020-07-14
+    OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu118.04.1)
+    OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu118.04.1, mixed mode, sharing)
+
+Install Docker
 
 .. code-block:: bash
 
-    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
-    $ apt-get update
-    $ apt-cache policy docker-ce
-    $ apt-get install -y docker-ce
-    $ systemctl status docker
-    $ docker ps
+    # Add docker repository
+    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
+    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
+    sudo apt update
+
+    # Check available docker versions (if necessary)
+    apt-cache policy docker-ce
+
+    # Install docker
+    sudo apt install -y docker-ce=5:19.03.8~3-0~ubuntu-bionic docker-ce-cli=5:19.03.8~3-0~ubuntu-bionic containerd.io
 
 Change the permissions of the Docker socket file
 
 .. code-block:: bash
 
-    $ sudo chmod 666 /var/run/docker.sock
+    sudo chmod 666 /var/run/docker.sock
 
 Check the status of the Docker service and ensure it is running correctly
 
 .. code-block:: bash
 
-    $ service docker status
+    $ systemctl status --no-pager docker
+    docker.service - Docker Application Container Engine
+       Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
+       Active: active (running) since Wed 2020-10-14 13:59:40 UTC; 1 weeks 0 days ago
+       # ... (truncated for brevity)
+
     $ docker ps
+    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
 
-Install Simulators, PAP, PolicyAPI and MariaDB in VM1
------------------------------------------------------
+Clone the policy-distribution repo to access the test scripts
 
-To install all the components needed for Distribution, copy over the script and related files found within the simulatorsetup directory within $(REPOPATH)/distribution/testsuites/stability/src/main/resources
+.. code-block:: bash
 
-Run setup_components.sh script to bring up the required docker containers
+    git clone https://gerrit.onap.org/r/policy/distribution
+
+
+VM1 Only: Install Simulators, Policy-PAP, Policy-API and MariaDB
+----------------------------------------------------------------
+
+Modify the setup_components.sh script located at:
+
+- ~/distribution/testsuites/stability/src/main/resources/simulatorsetup/setup_components.sh
+
+Ensure the correct docker image versions are specified - e.g. for Guilin-RC0
+
+- nexus3.onap.org:10001/onap/policy-api:2.3.2
+- nexus3.onap.org:10001/onap/policy-pap:2.3.2
+
+Run the setup_components.sh script to start the test support components:
+
+.. code-block:: bash
+
+    ~/distribution/testsuites/stability/src/main/resources/distributionsetup/setup_distribution.sh
 
 After installation, ensure the following docker containers are up and running:
 
 .. code-block:: bash
 
-    CONTAINER ID        IMAGE                                                  COMMAND                  CREATED              STATUS              PORTS                    NAMES
-    11195b01300a        nexus3.onap.org:10001/onap/policy-pap:2.2.2-SNAPSHOT   "bash ./policy-pap.sh"   13 seconds ago       Up 9 seconds        0.0.0.0:7000->6969/tcp   policy-pap
-    6266aa6b0137        nexus3.onap.org:10001/onap/policy-api:2.2.3-SNAPSHOT   "bash ./policy-api.sh"   25 seconds ago       Up 22 seconds       0.0.0.0:6969->6969/tcp   policy-api
-    6a85d155aa8a        pdp/simulator:latest                                   "bash pdp-sim.sh"        About a minute ago   Up About a minute                            pdp-simulator
-    0b41992ccfd7        dmaap/simulator:latest                                 "bash dmaap-sim.sh"      About a minute ago   Up About a minute   0.0.0.0:3904->3904/tcp   message-router
-    595056b2a094        mariadb:10.2.14                                        "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:3306->3306/tcp   mariadb
+    $ docker ps
+    CONTAINER ID        IMAGE                                         COMMAND                  CREATED             STATUS              PORTS                    NAMES
+    a187cb0ff08a        nexus3.onap.org:10001/onap/policy-pap:2.3.2   "bash ./policy-pap.sh"   4 days ago          Up 4 days           0.0.0.0:7000->6969/tcp   policy-pap
+    2f7632fe90c3        nexus3.onap.org:10001/onap/policy-api:2.3.2   "bash ./policy-api.sh"   4 days ago          Up 4 days           0.0.0.0:6969->6969/tcp   policy-api
+    70fa27d6d992        pdp/simulator:latest                          "bash pdp-sim.sh"        4 days ago          Up 4 days                                    pdp-simulator
+    3c9ff28ba050        dmaap/simulator:latest                        "bash dmaap-sim.sh"      4 days ago          Up 4 days           0.0.0.0:3904->3904/tcp   message-router
+    60cfcf8cfe65        mariadb:10.2.14                               "docker-entrypoint.s…"   4 days ago          Up 4 days           0.0.0.0:3306->3306/tcp   mariadb
 
-Install Distribution in VM2
----------------------------
 
-To install the Distribution service, copy over the script and related files found within the distributionsetup directory within $(REPOPATH)/distribution/testsuites/stability/src/main/resources
+VM2 Only: Install Distribution
+------------------------------
 
-Run setup_distribution.sh script to install the distribution service, provide the IP of VM1 as the arguments to the script.
+Modify the setup_distribution.sh script located at:
 
-e.g
+- ~/distribution/testsuites/stability/src/main/resources/distributionsetup/setup_distribution.sh
+
+Ensure the correct docker image version is specified - e.g. for Guilin-RC0:
+
+- nexus3.onap.org:10001/onap/policy-distribution:2.4.2
+
+Run the setup_distribution.sh script to install the distribution service, provide the IP of VM1 (twice) as the arguments to the script:
+
 .. code-block:: bash
 
-    $ ./setup_distribution.sh 10.2.0.24 10.2.0.24
+    ~/distribution/testsuites/stability/src/main/resources/distributionsetup/setup_distribution.sh <vm1-ipaddr> <vm1-ipaddr>
 
 Ensure the distribution container is running.
 
-Install JMeter in VM2
----------------------
+.. code-block:: bash
 
-Download and install jMeter
+    $ docker ps
+    CONTAINER ID        IMAGE                                                  COMMAND                  CREATED             STATUS              PORTS                                            NAMES
+    9a8db2bad156        nexus3.onap.org:10001/onap/policy-distribution:2.4.2   "bash ./policy-dist.…"   29 hours ago        Up 29 hours         0.0.0.0:6969->6969/tcp, 0.0.0.0:9090->9090/tcp   policy-distribution
+
+
+VM2 Only: Install JMeter
+------------------------
+
+Download and install JMeter
 
 .. code-block:: bash
 
-    $ mkdir jMeter
-    $ cd jMeter
-    $ wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.1.1.zip
-    $ unzip apache-jmeter-5.1.1.zip
+    # Install required packages
+    sudo apt install -y wget unzip
 
-Install & configure visualVM in VM2
------------------------------------
-VisualVM needs to be installed in the virtual machine running Distrbution. It will be used to monitor CPU, Memory and GC for Distribution while the stability tests are running.
+    # Install JMeter
+    mkdir -p jmeter
+    wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.1.1.zip
+    unzip -qd jmeter apache-jmeter-5.1.1.zip
+    rm apache-jmeter-5.1.1.zip
+
+
+VM2 Only: Install & configure visualVM
+--------------------------------------
+
+VisualVM needs to be installed in the virtual machine running Distrbution (VM2). It will be used to monitor CPU, Memory and GC for Distribution while the stability tests are running.
 
 .. code-block:: bash
 
-    $ sudo apt-get install visualVM
+    sudo apt install -y visualvm
 
 Run these commands to configure permissions
 
 .. code-block:: bash
 
-    $ cd /usr/lib/jvm/java-11-openjdk-amd64/bin/
-    $ sudo touch visualvm.policy
-    $ sudo chmod 777 visualvm.policy
-
-    $ vi visualvm.policy
-
-    Add the following in visualvm.policy
-
-    grant codebase "file:/usr/lib/jvm/java-11-openjdk-amd64/lib/tools.jar" {
-    permission java.security.AllPermission;
+    # Create Java security policy file for VisualVM
+    sudo cat > /usr/lib/jvm/java-11-openjdk-amd64/bin/visualvm.policy << EOF
+    grant codebase "jrt:/jdk.jstatd" {
+       permission java.security.AllPermission;
     };
+    grant codebase "jrt:/jdk.internal.jvmstat" {
+       permission java.security.AllPermission;
+    };
+    EOF
 
-Run the following commands to start jstatd using port 1111
+    # Set globally accessable permissions on policy file
+    sudo chmod 777 /usr/lib/jvm/java-11-openjdk-amd64/bin/visualvm.policy
+
+Run the following command to start jstatd using port 1111
 
 .. code-block:: bash
 
-    $ cd /usr/lib/jvm/java-8-openjdk-amd64/bin/
-    $ ./jstatd -p 1111 -J-Djava.security.policy=visualvm.policy  &
+    /usr/lib/jvm/java-11-openjdk-amd64/bin/jstatd -p 1111 -J-Djava.security.policy=/usr/lib/jvm/java-11-openjdk-amd64/bin/visualvm.policy &
 
-Using the VM2 Desktop, run visualVM to connect to localhost:9090
-Run the command
+Run visualVM to connect to localhost:9090
 
 .. code-block:: bash
 
-    $ visualvm
+    visualvm &
 
 This will load up the visualVM GUI
 
@@ -189,16 +225,26 @@
     2. Enter the Port 9090. this is the JMX port exposed by the dsitribution container
     3. Double click on the newly added nodes under "Local" to start monitoring CPU, Memory & GC.
 
-Example Screenshot
-
-Sample Screenshot of visualVM
+Example Screenshot of visualVM
 
 .. image:: images/distribution-s3p-vvm-sample.png
 
-Test Plan Setup
----------------
 
-The 72 hours stability test will run the following steps sequentially in a single threaded loop.
+Stability Test of Policy Distribution
++++++++++++++++++++++++++++++++++++++
+
+Introduction
+------------
+
+The 72 hour Stability Test for policy distribution has the goal of introducing a steady flow of transactions initiated from a test client server running JMeter. The policy distribution is configured with a special FileSystemReception plugin to monitor a local directory for newly added csar files to be processed by itself. The input CSAR will be added/removed by the test client(JMeter) and the result will be pulled from the backend(PAP and PolicyAPI) by the test client (JMeter).
+
+The test will be performed in an environment where Jmeter will continuously add/remove a test csar into the special directory where policy distribuion is monitoring and will then get the processed results from PAP and PolicyAPI to verify the successful deployment of the policy. The policy will then be undeployed and the test will loop continuously until 72 hours have elapsed.
+
+
+Test Plan Sequence
+------------------
+
+The 72h stability test will run the following steps sequentially in a single threaded loop.
 
 - **Delete Old CSAR** - Checks if CSAR already exists in the watched directory, if so it deletes it
 - **Add CSAR** - Adds CSAR to the directory that distribution is watching
@@ -230,46 +276,47 @@
 
 .. image:: images/distribution-s3p-testplan.png
 
+
 Running the Test Plan
 ---------------------
 
-Copy the Test Plans folder onto VM2
-Edit the /tmp/ folder permissions to allow the Testplan to insert the CSAR into the /tmp/policydistribution/distributionmount/ folder
+Edit the /tmp folder permissions to allow the testplan to insert the CSAR into the /tmp/policydistribution/distributionmount folder
 
 .. code-block:: bash
 
-    $ sudo chmod a+trwx /tmp
+    sudo mkdir -p /tmp/policydistribution/distributionmount
+    sudo chmod -R a+trwx /tmp
 
-From the apache jMeter folder run the test, pointing it towards the stabiltiy.jmx file inside the testplans folder
+From the apache JMeter folder run the test for 72h, pointing it towards the stability.jmx file inside the testplans folder and specifying a logfile to collect the results
 
 .. code-block:: bash
 
-    $ ./bin/jmeter -n -t /home/rossc/testplans/stability.jmx -Jduration=259200 -l testresults.jtl
+    ~/jmeter/apache-jmeter-5.1.1/bin/jmeter -n -t ~/distribution/testsuites/stability/src/main/resources/testplans/stability.jmx -Jduration=259200 -l ~/20201016-1715-distr-stability.jtl &
+
 
 Test Results
 ------------
 
 **Summary**
 
-Stability test plan was triggered for 72 hours.
+- Stability test plan was triggered for 72 hours.
+- No errors were reported
 
 **Test Statistics**
 
-=======================  =================  ==================  ==================================
-**Total # of requests**  **Success %**      **Error %**         **Average time taken per request**
-=======================  =================  ==================  ==================================
-194313                   100 %              0 %                 145 ms
-=======================  =================  ==================  ==================================
+.. csv-table:: Stability Results - Summary Report
+   :file: csv/20201016-1715-distr-stability-summary.csv
+   :header-rows: 1
 
-**VisualVM Screenshot**
+.. csv-table:: Stability Results - Aggregate Report
+   :file: csv/20201016-1715-distr-stability-aggregate.csv
+   :header-rows: 1
 
-.. image:: images/distribution-vvm-monitor.png
-.. image:: images/distribution-vvm-threads.png
+**VisualVM Screenshots**
 
-**JMeter Screenshot**
+.. image:: images/20201016-1715-distr-stability-20201018T2040-monitor.png
+.. image:: images/20201016-1715-distr-stability-20201018T2040-threads.png
 
-.. image:: images/distribution-summary-report.png
-.. image:: images/distribution-results-tree.png
 
 Performance Test of Policy Distribution
 +++++++++++++++++++++++++++++++++++++++
@@ -277,56 +324,62 @@
 Introduction
 ------------
 
-Performance test of distribution has the goal of testing the min/avg/max processing time and
-rest call throughput for all the requests when the number of requests are large enough to saturate
-the resource and find the bottleneck.
-It also tests that distribution can handle multiple policy csar's and that these are deployed within 30 seconds consistently.
+The 4h Performance Test of Policy Distribution has the goal of testing the min/avg/max processing time and rest call throughput for all the requests when the number of requests are large enough to saturate the resource and find the bottleneck.
+
+It also tests that distribution can handle multiple policy CSARs and that these are deployed within 30 seconds consistently.
+
 
 Setup Details
 -------------
 
 The performance test is based on the same setup as the distribution stability tests.
 
-Test Plan
----------
+
+Test Plan Sequence
+------------------
 
 Performance test plan is different from the stability test plan.
-Instead of handling one policy csar at a time, multiple csar's are deployed within the watched folder at the exact same time.
-We then expect all policies from these csar's to be deployed within 30 seconds.
-Alongside these, there are multithreaded tests running towards the healtchcheck and statistics endpoints of the distribution service.
 
-Run Test
---------
+- Instead of handling one policy csar at a time, multiple csar's are deployed within the watched folder at the exact same time.
+- We expect all policies from these csar's to be deployed within 30 seconds.
+- There are also multithreaded tests running towards the healtchcheck and statistics endpoints of the distribution service.
 
-Copy the performance test plans folder onto VM2.
-Edit the /tmp/ folder permissions to allow the Testplan to insert the CSAR into the /tmp/policydistribution/distributionmount/ folder.
+
+Running the Test Plan
+---------------------
+
+Edit the /tmp folder permissions to allow the Testplan to insert the CSAR into the /tmp/policydistribution/distributionmount folder.
 
 .. code-block:: bash
 
-    $ sudo chmod a+trwx /tmp
+    sudo mkdir -p /tmp/policydistribution/distributionmount
+    sudo chmod -R a+trwx /tmp
 
-From the apache jMeter folder run the test, pointing it towards the stabiltiy.jmx file inside the testplans folder
+From the apache JMeter folder run the test for 4h, pointing it towards the performance.jmx file inside the testplans folder and specifying a logfile to collect the results
 
 .. code-block:: bash
 
-    $ ./bin/jmeter -n -t /home/rossc/testplans/performance.jmx -Jduration=259200 -l testresults.jtl
+    ~/jmeter/apache-jmeter-5.1.1/bin/jmeter -n -t ~/distribution/testsuites/performance/src/main/resources/testplans/performance.jmx -Jduration=14400 -l ~/20201020-1730-distr-performance.jtl &
 
 Test Results
 ------------
 
 **Summary**
 
-Performance test plan was triggered for 4 hours.
+- Performance test plan was triggered for 4 hours.
+- No errors were reported
 
 **Test Statistics**
 
-=======================  =================  ==================  ==================================
-**Total # of requests**  **Success %**      **Error %**         **Average time taken per request**
-=======================  =================  ==================  ==================================
-239819                   100 %              0 %                 100 ms
-=======================  =================  ==================  ==================================
+.. csv-table:: Performance Results - Summary Report
+   :file: csv/20201020-1730-distr-performance-summary.csv
+   :header-rows: 1
 
-**JMeter Screenshot**
+.. csv-table:: Performance Results - Aggregate Report
+   :file: csv/20201020-1730-distr-performance-aggregate.csv
+   :header-rows: 1
 
-.. image:: images/distribution-performance-summary-report.png
-.. image:: images/distribution-performance-api-report.png
+**VisualVM Screenshots**
+
+.. image:: images/20201020-1730-distr-performance-20201020T2025-monitor.png
+.. image:: images/20201020-1730-distr-performance-20201020T2025-threads.png
diff --git a/docs/development/devtools/drools-s3p.rst b/docs/development/devtools/drools-s3p.rst
index 58c522f..18bd489 100644
--- a/docs/development/devtools/drools-s3p.rst
+++ b/docs/development/devtools/drools-s3p.rst
@@ -10,7 +10,7 @@
 Policy Drools PDP component
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Both the Performance and the Stability tests were executed against a default ONAP installation in the PFPP tenant, from an independent VM running the jmeter tool to inject the load.
+Both the Performance and the Stability tests were executed against a default ONAP installation in the policy-k8s tenant in the windriver lab, from an independent VM running the jmeter tool to inject the load.
 
 General Setup
 *************
@@ -51,82 +51,6 @@
 The kubernetes charts were modified previous to the installation with
 the changes below.
 
-The oom/kubernetes/policy/charts/drools/resources/configmaps/base.conf was
-modified as follows:
-
-.. code-block:: bash
-
-    --- a/kubernetes/policy/charts/drools/resources/configmaps/base.conf
-    +++ b/kubernetes/policy/charts/drools/resources/configmaps/base.conf
-    @@ -85,27 +85,27 @@ DMAAP_SERVERS=message-router
-
-    # AAI
-
-    -AAI_HOST=aai.{{.Release.Namespace}}
-    -AAI_PORT=8443
-    +AAI_HOST=localhost
-    +AAI_PORT=6666
-    AAI_CONTEXT_URI=
-
-    # MSO
-
-    -SO_HOST=so.{{.Release.Namespace}}
-    -SO_PORT=8080
-    -SO_CONTEXT_URI=onap/so/infra/
-    -SO_URL=https://so.{{.Release.Namespace}}:8080/onap/so/infra
-    +SO_HOST=localhost
-    +SO_PORT=6667
-    +SO_CONTEXT_URI=
-    +SO_URL=https://localhost:6667/
-
-    # VFC
-
-    -VFC_HOST=
-    -VFC_PORT=
-    +VFC_HOST=localhost
-    +VFC_PORT=6668
-    VFC_CONTEXT_URI=api/nslcm/v1/
-
-    # SDNC
-
-    -SDNC_HOST=sdnc.{{.Release.Namespace}}
-    -SDNC_PORT=8282
-    +SDNC_HOST=localhost
-    +SDNC_PORT=6670
-    SDNC_CONTEXT_URI=restconf/operations/
-
-The AAI actor had to be modified to disable https to talk to the AAI simulator.
-
-.. code-block:: bash
-
-    ~/oom/kubernetes/policy/charts/drools/resources/configmaps/AAI-http-client.properties
-
-    http.client.services=AAI
-
-    http.client.services.AAI.managed=true
-    http.client.services.AAI.https=false
-    http.client.services.AAI.host=${envd:AAI_HOST}
-    http.client.services.AAI.port=${envd:AAI_PORT}
-    http.client.services.AAI.userName=${envd:AAI_USERNAME}
-    http.client.services.AAI.password=${envd:AAI_PASSWORD}
-    http.client.services.AAI.contextUriPath=${envd:AAI_CONTEXT_URI}
-
-The SO actor had to be modified similarly.
-
-.. code-block:: bash
-
-    oom/kubernetes/policy/charts/drools/resources/configmaps/SO-http-client.properties:
-
-    http.client.services=SO
-
-    http.client.services.SO.managed=true
-    http.client.services.SO.https=false
-    http.client.services.SO.host=${envd:SO_HOST}
-    http.client.services.SO.port=${envd:SO_PORT}
-    http.client.services.SO.userName=${envd:SO_USERNAME}
-    http.client.services.SO.password=${envd:SO_PASSWORD}
-    http.client.services.SO.contextUriPath=${envd:SO_CONTEXT_URI}
-
 The feature-controlloop-utils was started by adding the following script:
 
 .. code-block:: bash
@@ -136,7 +60,6 @@
     #!/bin/bash
     bash -c "features enable controlloop-utils"
 
-
 Stability Test of Policy PDP-D
 ******************************
 
@@ -145,40 +68,17 @@
 Worker Node performance
 =======================
 
-The VM named onap-k8s-07 was monitored for the duration of the two parallel
-stability runs.  The table below show the usage ranges:
+The VM named onap-k8s-09 was monitored for the duration of the 72 hours
+stability run.  The table below show the usage ranges:
 
 .. code-block:: bash
 
-    NAME          CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
-    onap-k8s-07   <=1374m      <=20%  <=10643Mi       <=66%
+    NAME          CPU(cores)   CPU%
+    onap-k8s-09   <=1214m      <=20%
 
 PDP-D performance
 =================
 
-The PDP-D uses a small configuration:
-
-.. code-block:: bash
-
-  small:
-    limits:
-      cpu: 1
-      memory: 4Gi
-    requests:
-      cpu: 100m
-      memory: 1Gi
-
-In practicality, this corresponded to an allocated 3.75G heap for the JVM based.
-
-The PDP-D was monitored during the run and stayed below the following ranges:
-
-.. code-block:: bash
-
-    NAME           CPU(cores)   MEMORY(bytes)
-    dev-drools-0   <=142m         684Mi
-
-Garbage collection was monitored without detecting any significant degradation.
-
 The test set focused on the following use cases:
 
 - vCPE
@@ -204,7 +104,7 @@
 
 .. code-block:: bash
 
-    jmeter -n -t /home/ubuntu/jhh/s3p.jmx > /dev/null 2>&1
+    ./jmeter -n -t /home/ubuntu/drools-applications/testsuites/stability/src/main/resources/frankfurt/s3p.jmx  -l /home/ubuntu/jmeter_result/jmeter.jtl -e -o /home/ubuntu/jmeter_result > /dev/null 2>&1
 
 The results were computed by taking the ellapsed time from the audit.log
 (this log reports all end to end transactions, marking the start, end, and
@@ -222,13 +122,7 @@
 
 .. code-block:: bash
 
-    count    155246.000000
-    mean        269.894226
-    std          64.556282
-    min         133.000000
-    50%         276.000000
-    max        1125.000000
-
+    Max: 4323 ms, Min: 143 ms, Average: 380 ms [samples taken for average: 260628]
 
 .. image:: images/ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e.png
 
@@ -240,14 +134,7 @@
 
 .. code-block:: bash
 
-    ControlLoop-vCPE-Fail :
-    count    149621.000000
-    mean        280.483522
-    std          67.226550
-    min         134.000000
-    50%         279.000000
-    max        5394.000000
-
+   Max: 3723 ms, Min: 148 ms, Average: 671 ms [samples taken for average: 87888]
 
 .. image:: images/ControlLoop-vCPE-Fail.png
 
@@ -258,13 +145,7 @@
 
 .. code-block:: bash
 
-    count    293000.000000
-    mean         21.961792
-    std           7.921396
-    min          15.000000
-    50%          20.000000
-    max         672.000000
-
+   Max: 6437 ms, Min: 19 ms, Average: 165 ms [samples taken for average: 59259]
 
 .. image:: images/ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3.png
 
@@ -275,13 +156,7 @@
 
 .. code-block:: bash
 
-    count    59357.000000
-    mean      3010.261267
-    std         76.599948
-    min          0.000000
-    50%       3010.000000
-    max       3602.000000
-
+    Max: 1176 ms, Min: 4 ms, Average: 5 ms [samples taken for average: 340810]
 
 .. image:: images/ControlLoop-vDNS-Fail.png
 
@@ -292,16 +167,6 @@
 
 .. code-block:: bash
 
-    count    175401.000000
-    mean        184.581251
-    std          35.619075
-    min         136.000000
-    50%         181.000000
-    max        3972.000000
-
+    Max: 4016 ms, Min: 177 ms, Average: 644 ms [samples taken for average: 36460]
 
 .. image:: images/ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a.png
-
-
-
-
diff --git a/docs/development/devtools/images/20201016-1715-distr-stability-20201018T2040-monitor.png b/docs/development/devtools/images/20201016-1715-distr-stability-20201018T2040-monitor.png
new file mode 100755
index 0000000..abdba92
--- /dev/null
+++ b/docs/development/devtools/images/20201016-1715-distr-stability-20201018T2040-monitor.png
Binary files differ
diff --git a/docs/development/devtools/images/20201016-1715-distr-stability-20201018T2040-threads.png b/docs/development/devtools/images/20201016-1715-distr-stability-20201018T2040-threads.png
new file mode 100755
index 0000000..2a9745a
--- /dev/null
+++ b/docs/development/devtools/images/20201016-1715-distr-stability-20201018T2040-threads.png
Binary files differ
diff --git a/docs/development/devtools/images/20201020-1730-distr-performance-20201020T2025-monitor.png b/docs/development/devtools/images/20201020-1730-distr-performance-20201020T2025-monitor.png
new file mode 100755
index 0000000..8ef443b
--- /dev/null
+++ b/docs/development/devtools/images/20201020-1730-distr-performance-20201020T2025-monitor.png
Binary files differ
diff --git a/docs/development/devtools/images/20201020-1730-distr-performance-20201020T2025-threads.png b/docs/development/devtools/images/20201020-1730-distr-performance-20201020T2025-threads.png
new file mode 100755
index 0000000..8f4731c
--- /dev/null
+++ b/docs/development/devtools/images/20201020-1730-distr-performance-20201020T2025-threads.png
Binary files differ
diff --git a/docs/development/devtools/images/ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e.png b/docs/development/devtools/images/ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e.png
index 5502fe9..5708502 100644
--- a/docs/development/devtools/images/ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e.png
+++ b/docs/development/devtools/images/ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e.png
Binary files differ
diff --git a/docs/development/devtools/images/ControlLoop-vCPE-Fail.png b/docs/development/devtools/images/ControlLoop-vCPE-Fail.png
index 27601d9..8c87ddf 100644
--- a/docs/development/devtools/images/ControlLoop-vCPE-Fail.png
+++ b/docs/development/devtools/images/ControlLoop-vCPE-Fail.png
Binary files differ
diff --git a/docs/development/devtools/images/ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3.png b/docs/development/devtools/images/ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3.png
index d4b9e05..763efe7 100644
--- a/docs/development/devtools/images/ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3.png
+++ b/docs/development/devtools/images/ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3.png
Binary files differ
diff --git a/docs/development/devtools/images/ControlLoop-vDNS-Fail.png b/docs/development/devtools/images/ControlLoop-vDNS-Fail.png
index 643afea..bd7302c 100644
--- a/docs/development/devtools/images/ControlLoop-vDNS-Fail.png
+++ b/docs/development/devtools/images/ControlLoop-vDNS-Fail.png
Binary files differ
diff --git a/docs/development/devtools/images/ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a.png b/docs/development/devtools/images/ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a.png
index 23a543d..5ba85fb 100644
--- a/docs/development/devtools/images/ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a.png
+++ b/docs/development/devtools/images/ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a.png
Binary files differ
diff --git a/docs/development/devtools/images/distribution-performance-api-report.png b/docs/development/devtools/images/distribution-performance-api-report.png
deleted file mode 100644
index 1210271..0000000
--- a/docs/development/devtools/images/distribution-performance-api-report.png
+++ /dev/null
Binary files differ
diff --git a/docs/development/devtools/images/distribution-performance-summary-report.png b/docs/development/devtools/images/distribution-performance-summary-report.png
deleted file mode 100644
index 3cea8e9..0000000
--- a/docs/development/devtools/images/distribution-performance-summary-report.png
+++ /dev/null
Binary files differ
diff --git a/docs/development/devtools/images/distribution-results-tree.png b/docs/development/devtools/images/distribution-results-tree.png
deleted file mode 100644
index 324b6c1..0000000
--- a/docs/development/devtools/images/distribution-results-tree.png
+++ /dev/null
Binary files differ
diff --git a/docs/development/devtools/images/distribution-summary-report.png b/docs/development/devtools/images/distribution-summary-report.png
deleted file mode 100644
index 56e7595..0000000
--- a/docs/development/devtools/images/distribution-summary-report.png
+++ /dev/null
Binary files differ
diff --git a/docs/development/devtools/images/distribution-vvm-monitor.png b/docs/development/devtools/images/distribution-vvm-monitor.png
deleted file mode 100644
index 1afaa7d..0000000
--- a/docs/development/devtools/images/distribution-vvm-monitor.png
+++ /dev/null
Binary files differ
diff --git a/docs/development/devtools/images/distribution-vvm-threads.png b/docs/development/devtools/images/distribution-vvm-threads.png
deleted file mode 100644
index d611d70..0000000
--- a/docs/development/devtools/images/distribution-vvm-threads.png
+++ /dev/null
Binary files differ
diff --git a/integration/pom.xml b/integration/pom.xml
index 4290969..eced3bf 100644
--- a/integration/pom.xml
+++ b/integration/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.onap.policy.parent</groupId>
         <artifactId>policy-parent</artifactId>
-        <version>3.2.1-SNAPSHOT</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
     <artifactId>integration</artifactId>
     <packaging>pom</packaging>
@@ -40,11 +40,10 @@
         <version.dmaap>1.1.11</version.dmaap>
         <version.powermock>2.0.4</version.powermock>
         <version.eclipselink>2.7.5</version.eclipselink>
-        <version.jackson>2.10.4</version.jackson>
         <version.drools>7.33.0.Final</version.drools>
         <version.jersey>2.30.1</version.jersey>
         <version.ccsdk>0.4.4</version.ccsdk>
-        <version.swagger>1.6.0</version.swagger>
+        <version.swagger>1.6.2</version.swagger>
         <version.javax.bind>2.3.1</version.javax.bind>
         <version.javax.json>1.1.4</version.javax.json>
         <version.netty>4.1.48.Final</version.netty>
@@ -60,38 +59,6 @@
 
     <dependencyManagement>
         <dependencies>
-            <!-- Jackson -->
-            <dependency>
-                <groupId>com.fasterxml.jackson.core</groupId>
-                <artifactId>jackson-annotations</artifactId>
-                <version>${version.jackson}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.fasterxml.jackson.core</groupId>
-                <artifactId>jackson-core</artifactId>
-                <version>${version.jackson}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.fasterxml.jackson.core</groupId>
-                <artifactId>jackson-databind</artifactId>
-                <version>${version.jackson}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.fasterxml.jackson.dataformat</groupId>
-                <artifactId>jackson-dataformat-yaml</artifactId>
-                <version>${version.jackson}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.fasterxml.jackson.jaxrs</groupId>
-                <artifactId>jackson-jaxrs-base</artifactId>
-                <version>${version.jackson}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.fasterxml.jackson.jaxrs</groupId>
-                <artifactId>jackson-jaxrs-json-provider</artifactId>
-                <version>${version.jackson}</version>
-            </dependency>
-
             <!-- Jersey -->
             <dependency>
                 <groupId>org.glassfish.jersey.core</groupId>
@@ -157,6 +124,12 @@
                 <groupId>org.glassfish.jersey.media</groupId>
                 <artifactId>jersey-media-json-jackson</artifactId>
                 <version>${version.jersey}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>com.fasterxml.jackson.module</groupId>
+                        <artifactId>jackson-module-jaxb-annotations</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
 
             <dependency>
diff --git a/pom.xml b/pom.xml
index 3b91e98..534dbe9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
     </parent>
     <groupId>org.onap.policy.parent</groupId>
     <artifactId>policy-parent</artifactId>
-    <version>3.2.1-SNAPSHOT</version>
+    <version>3.3.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <properties>
diff --git a/version.properties b/version.properties
index 962a34d..2640898 100644
--- a/version.properties
+++ b/version.properties
@@ -3,8 +3,8 @@
 # because they are used in Jenkins, whose plug-in doesn't support
 
 major=3
-minor=2
-patch=1
+minor=3
+patch=0
 
 base_version=${major}.${minor}.${patch}