From 4bccfbc64589649e18c2868439d30e672d8d4bb9 Mon Sep 17 00:00:00 2001 From: "aditya.puthuparambil" Date: Wed, 6 May 2020 11:18:25 +0100 Subject: PAP Stability test Documentation update Issue-ID: POLICY-2454 Signed-off-by: aditya.puthuparambil Change-Id: I0150b99b2ab26edc3cdded0808de56b8c58af9c7 --- .../development/devtools/images/pap-s3p-jm-1_F.png | Bin 0 -> 222727 bytes .../development/devtools/images/pap-s3p-jm-2_F.png | Bin 0 -> 272303 bytes .../devtools/images/pap-s3p-testplan.png | Bin 192918 -> 112309 bytes .../devtools/images/pap-s3p-vvm-1_F.png | Bin 0 -> 113079 bytes .../devtools/images/pap-s3p-vvm-2_F.PNG | Bin 0 -> 130004 bytes docs/development/devtools/pap-s3p.rst | 125 ++++++++++++++------- 6 files changed, 86 insertions(+), 39 deletions(-) create mode 100644 docs/development/devtools/images/pap-s3p-jm-1_F.png create mode 100644 docs/development/devtools/images/pap-s3p-jm-2_F.png create mode 100644 docs/development/devtools/images/pap-s3p-vvm-1_F.png create mode 100644 docs/development/devtools/images/pap-s3p-vvm-2_F.PNG (limited to 'docs/development/devtools') diff --git a/docs/development/devtools/images/pap-s3p-jm-1_F.png b/docs/development/devtools/images/pap-s3p-jm-1_F.png new file mode 100644 index 00000000..2b6b656a Binary files /dev/null and b/docs/development/devtools/images/pap-s3p-jm-1_F.png differ diff --git a/docs/development/devtools/images/pap-s3p-jm-2_F.png b/docs/development/devtools/images/pap-s3p-jm-2_F.png new file mode 100644 index 00000000..1727bf1f Binary files /dev/null and b/docs/development/devtools/images/pap-s3p-jm-2_F.png differ diff --git a/docs/development/devtools/images/pap-s3p-testplan.png b/docs/development/devtools/images/pap-s3p-testplan.png index 2bc8c277..3809f0cf 100644 Binary files a/docs/development/devtools/images/pap-s3p-testplan.png and b/docs/development/devtools/images/pap-s3p-testplan.png differ diff --git a/docs/development/devtools/images/pap-s3p-vvm-1_F.png b/docs/development/devtools/images/pap-s3p-vvm-1_F.png new file mode 100644 index 00000000..e05402be Binary files /dev/null and b/docs/development/devtools/images/pap-s3p-vvm-1_F.png differ diff --git a/docs/development/devtools/images/pap-s3p-vvm-2_F.PNG b/docs/development/devtools/images/pap-s3p-vvm-2_F.PNG new file mode 100644 index 00000000..ee20423a Binary files /dev/null and b/docs/development/devtools/images/pap-s3p-vvm-2_F.PNG differ diff --git a/docs/development/devtools/pap-s3p.rst b/docs/development/devtools/pap-s3p.rst index d0be3def..166ceb86 100644 --- a/docs/development/devtools/pap-s3p.rst +++ b/docs/development/devtools/pap-s3p.rst @@ -47,9 +47,9 @@ RAM: 4 GB HardDisk: 40 GB -Docker Version: 18.09.6 +Docker version 19.03.8 -Java: openjdk version "1.8.0_212" +Java: openjdk version "11.0.7" 2020-04-14 **JMeter VM details (VM1)** @@ -63,9 +63,9 @@ HardDisk: 40 GB Docker Version: 18.09.6 -Java: openjdk version "1.8.0_212" +Java: openjdk version "11.0.7" 2020-04-14 -JMeter: 5.1.1 +JMeter: 5.2.1 Install Docker in VM1 & VM2 --------------------------- @@ -77,7 +77,7 @@ Make the etc/hosts entries .. code-block:: bash $ echo $(hostname -I | cut -d\ -f1) $(hostname) | sudo tee -a /etc/hosts - + Make the DNS entries .. code-block:: bash @@ -85,18 +85,18 @@ Make the DNS entries $ echo "nameserver " >> /etc/resolvconf/resolv.conf.d/head $ echo "nameserver " >> /etc/resolvconf/resolv.conf.d/head $ resolvconf -u - + Update the ubuntu software installer .. code-block:: bash $ apt-get update - + Check and Install Java .. code-block:: bash - $ apt-get install -y openjdk-8-jdk + $ apt-get install -y openjdk-11-jdk $ java -version Ensure that the Java version that is executing is OpenJDK version 8 @@ -136,16 +136,16 @@ Download & install JMeter $ mkdir jMeter $ cd jMeter - $ wget http://mirrors.whoishostingthis.com/apache//jmeter/binaries/apache-jmeter-5.1.1.zip - $ unzip apache-jmeter-5.1.1.zip + $ wget http://mirrors.whoishostingthis.com/apache//jmeter/binaries/apache-jmeter-5.2.1.zip + $ unzip apache-jmeter-5.2.1.zip Run JMeter .. code-block:: bash - $ /home/ubuntu/jMeter/apache-jmeter-5.1.1/bin/jmeter + $ /home/ubuntu/jMeter/apache-jmeter-5.2.1/bin/jmeter -The above command will load the JMeter UI. Then navigate to File → Open → Browse and select the test plan jmx file to open. +The above command will load the JMeter UI. Then navigate to File → Open → Browse and select the test plan jmx file to open. The jmx file is present in the policy/pap git repository. Install simulators in VM1 @@ -179,7 +179,7 @@ After installation make sure that following docker container is up and running. root@policytest-policytest-0-uc3y2h5x6p4j:/home/ubuntu/pap# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES - 42ac0ed4b713 nexus3.onap.org:10001/onap/policy-pap:2.0.0-SNAPSHOT-latest "bash ./policy-pap.sh" 3 days ago Up 3 days 0.0.0.0:6969->6969/tcp, 0.0.0.0:9090->9090/tcp policy-pap + 42ac0ed4b713 nexus3.onap.org:10001/onap/policy-pap:2.2.3-SNAPSHOT "bash ./policy-pap.sh" 3 days ago Up 3 days 0.0.0.0:6969->6969/tcp, 0.0.0.0:9090->9090/tcp policy-pap Install & configure visualVM in VM2 ----------------------------------- @@ -191,21 +191,21 @@ Install visualVM .. code-block:: bash $ sudo apt-get install visualvm - + Run few commands to configure permissions .. code-block:: bash - $ cd /usr/lib/jvm/java-8-openjdk-amd64/bin/ + $ 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-8-openjdk-amd64/lib/tools.jar" { + + + grant codebase "file:/usr/lib/jvm/java-11-openjdk-amd64/lib/tools.jar" { permission java.security.AllPermission; }; @@ -213,15 +213,16 @@ Run following commands to start jstatd using port 1111 .. code-block:: bash - $ cd /usr/lib/jvm/java-8-openjdk-amd64/bin/ + $ cd /usr/lib/jvm/java-11-openjdk-amd64/bin/ $ ./jstatd -p 1111 -J-Djava.security.policy=visualvm.policy & - + Run visualVM locally to connect to remote VM2 .. code-block:: bash # On your windows machine or your linux box locally, launch visualVM - + $ nohup visualvm + Connect to jstatd & remote apex-pdp JVM 1. Right click on "Remote" in the left panel of the screen and select "Add Remote Host..." @@ -240,16 +241,28 @@ Test Plan The 72 hours stability test will run the following steps sequentially in a single threaded loop. - **Create Policy Type** - creates an operational policy type using policy/api component -- **Create Policy** - creates an operational policy using the policy type create in above step using policy/api component +- **Create Policy defaultDomain** - creates an operational policy using the policy type created in the above step using policy/api component +- **Create Policy sampleDomain** - creates an operational policy using the policy type created in the above step using policy/api component - **Check Health** - checks the health status of pap - **Check Statistics** - checks the statistics of pap -- **Change state to ACTIVE** - changes the state of PdpGroup to ACTIVE -- **Check PdpGroup Query** - makes a PdpGroup query request and verify that PdpGroup is in ACTIVE state. -- **Deploy Policy** - deploys the policy in PdpGroup -- **Undeploy Policy** - undeploy the policy from PdpGroup -- **Change state to PASSIVE** - changes the state of PdpGroup to PASSIVE -- **Check PdpGroup Query** - makes a PdpGroup query request and verify that PdpGroup is in PASSIVE state. -- **Delete Policy** - deletes the operational policy using policy/api component +- **Change state to ACTIVE** - changes the state of defaultGroup PdpGroup to ACTIVE +- **Check PdpGroup Query** - makes a PdpGroup query request and verifies that PdpGroup is in the ACTIVE state. +- **Deploy defaultDomain Policy** - deploys the policy defaultDomain in the existing PdpGroup +- **Create/Update PDP Group** - creates a new PDPGroup named sampleGroup. +- **OS Process Sampler** - OS Process Sampler to start a new Pdp Instance +- **Check PdpGroup Query** - makes a PdpGroup query request and verifies that 2 PdpGroups are in the ACTIVE state and defaultGroup has a policy deployed on it. +- **Deployment Update sampleDomain** - deploys the policy sampleDomain in sampleGroup PdpGroup using pap api +- **Check PdpGroup Query** - makes a PdpGroup query request and verifies that the defaultGroup has a policy defaultDomain deployed on it and sampleGroup has policy sampleDomain deployed on it. +- **Check Deployed Policies** - checks for all the deployed policies using pap api. +- **OS Process Sampler** - OS Process Sampler to stop the newly created Pdp Instance +- **Undeploy Policy sampleDomain** - undeploys the policy sampleDomain from sampleGroup PdpGroup using pap api +- **Undeploy Default Policy** - undeploys the policy defaultDomain from PdpGroup +- **Change state to PASSIVE(sampleGroup)** - changes the state of sampleGroup PdpGroup to PASSIVE +- **Delete PdpGroup SampleGroup** - delete the sampleGroup PdpGroup using pap api +- **Change State to PASSIVE(defaultGroup)** - changes the state of defaultGroup PdpGroup to PASSIVE +- **Check PdpGroup Query** - makes a PdpGroup query request and verifies that PdpGroup is in the PASSIVE state. +- **Delete Policy defaultDomain** - deletes the operational policy defaultDomain using policy/api component +- **Delete Policy sampleDomain** - deletes the operational policy sampleDomain using policy/api component - **Delete Policy Type** - deletes the operational policy type using policy/api component The following steps can be used to configure the parameters of test plan. @@ -258,14 +271,16 @@ The following steps can be used to configure the parameters of test plan. - **HTTP Header Manager** - used to store headers which will be used for making HTTP requests. - **User Defined Variables** - used to store following user defined parameters. -========== =============================================== - **Name** **Description** -========== =============================================== - PAP_HOST IP Address or host name of PAP component - PAP_PORT Port number of PAP for making REST API calls - API_HOST IP Address or host name of API component - API_PORT Port number of API for making REST API calls -========== =============================================== +=========== =================================================================== + **Name** **Description** +=========== =================================================================== + PAP_HOST IP Address or host name of PAP component + PAP_PORT Port number of PAP for making REST API calls + API_HOST IP Address or host name of API component + API_PORT Port number of API for making REST API calls + DIR Path where the pdp instance startup and stop script is placed + CONFIG_DIR Path where the pdp default Config file is placed +=========== =================================================================== Screenshot of PAP stability test plan @@ -295,3 +310,35 @@ Stability test plan was triggered for 72 hours. .. image:: images/pap-s3p-jm-1.png .. image:: images/pap-s3p-jm-1.png + +Test Results Frankfurt release +------------------------------- + +**Summary** + +Stability test plan was triggered for 72 hours. + +.. Note:: + + .. container:: paragraph + + Test cases for starting and stopping the PDP Instance has been included in the + test plan. These test cases have resulted in a spike in the Average time taken per request. + +**Test Statistics** + +======================= ================= ================== ================================== +**Total # of requests** **Success %** **Error %** **Average time taken per request** +======================= ================= ================== ================================== + 29423 100 % 0 % 948 ms +======================= ================= ================== ================================== + +**VisualVM Screenshot** + +.. image:: images/pap-s3p-vvm-1_F.png +.. image:: images/pap-s3p-vvm-2_F.png + +**JMeter Screenshot** + +.. image:: images/pap-s3p-jm-1_F.png +.. image:: images/pap-s3p-jm-1_F.png -- cgit 1.2.3-korg