Merge "drools documentation redo"
authorJorge Hernandez <jorge.hernandez-herrero@att.com>
Mon, 15 Jun 2020 17:35:28 +0000 (17:35 +0000)
committerGerrit Code Review <gerrit@onap.org>
Mon, 15 Jun 2020 17:35:28 +0000 (17:35 +0000)
12 files changed:
docs/conf.py
docs/development/devtools/apex-s3p.rst
docs/development/devtools/images/frankfurt/apex_s3p_jm-1.png [new file with mode: 0644]
docs/development/devtools/images/frankfurt/apex_s3p_jm-2.png [new file with mode: 0644]
docs/development/devtools/images/frankfurt/apex_s3p_vm-1.png [new file with mode: 0644]
docs/development/devtools/images/frankfurt/apex_s3p_vm-2.png [new file with mode: 0644]
docs/development/devtools/pap-s3p.rst
docs/development/devtools/zip/frankfurt/apex_s3p_result.tar [new file with mode: 0644]
docs/installation/oom.rst
docs/release-notes.rst
integration/pom.xml
pom.xml

index 78ab348..a1c6023 100644 (file)
@@ -13,4 +13,4 @@ intersphinx_mapping = {}
 html_last_updated_fmt = '%d-%b-%y %H:%M'
 
 def setup(app):
-    app.add_stylesheet("css/ribbon_onap.css")
+    app.add_stylesheet("css/ribbon.css")
index d3a8d41..784c4cb 100644 (file)
@@ -267,6 +267,86 @@ After the test stop, we can generate a HTML test report via command
 
 :download:`result.zip <zip/result.tar>`
 
+
+Frankfurt release
+^^^^^^^^^^^^^^^^^^
+
+The 72 hour Stability Test for apex-pdp has the goal of introducing a steady flow of transactions using jMeter.
+
+The input event will be submitted through the rest interface of DMaaP , which then triggers a grpc request to CDS. Based on the response, another DMaaP event is triggered.
+
+This test will be performed in an OOM deployment setup. The test will be performed in a multi-threaded environment where 5 threads running in JMeter will keep sending events for the duration of 72 hours.
+
+Test Plan Frankfurt release
+---------------------------
+
+The 72 hours stability test will run the following steps in a 5 threaded loop.
+
+- **Create Policy** - creates a policy using the policy/api component
+- **Deploy Policy** - deploys the policy in the existing PdpGroup
+- **Check Health** - checks the health status of apex
+- **Send Input Event** - trigger 'unauthenticated.DCAE_CL_OUTPUT' event of DMaaP.
+- **Get Output Event Response** - check for the triggered output event.
+- **Undeploy Policy** - undeploys the policy from PdpGroup
+- **Delete Policy** - deletes the policy using the policy/api component
+
+The following steps can be used to configure the parameters of the test plan.
+
+- **HTTP Header Manager** - used to store headers which will be used for making HTTP requests.
+- **HTTP Request Defaults** -  used to store HTTP request details like Server Name or IP, Port, Protocol etc.
+- **User Defined Variables** -  used to store the following user defined parameters:
+
+==================  ============================================================================  ============================
+**Name**            **Description**                                                               **Default Value**
+==================  ============================================================================  ============================
+wait                Wait time after each request (in milliseconds)                                120000
+threads             Number of threads to run test cases in parallel.                              5
+threadsTimeOutInMs  Synchronization timer for threads running in parallel (in milliseconds).      150000
+==================  ============================================================================  ============================
+
+
+Download and update the jmx file presented in the apex-pdp git repository - `jmx file path <https://gerrit.onap.org/r/gitweb?p=policy/apex-pdp.git;a=tree;f=testsuites/apex-pdp-stability/src/main/resources;h=99d373033a190a690d4e05012bc3a656cae7bc3f;hb=refs/heads/master>`_.
+
+- HTTPSampler.domain - The ip address of the VM in which the apex container is running
+- HTTPSampler.port - The  listening port, here is 23324
+- ThreadGroup.druation - Set the duration to 72 hours (in seconds)
+
+Use the CLI mode to start the test
+
+.. code-block:: bash
+
+    ./jmeter.sh -n -t ~/apexPdpStabilityTestPlan.jmx -Jusers=1 -l ~/stability.log
+
+
+Stability Test Results Frankfurt release
+-----------------------------------------
+
+The stability test plan was triggered for 72 hours, injecting input events to apex-pdp from 5 client threads running in JMeter.
+
+After the test stops, we can generate an HTML test report via the command:
+
+.. code-block:: bash
+
+    ~/jMeter/apache-jmeter-5.2.1/bin/jmeter -g stability.log -o ./result/
+
+==============================================  ===================================================  ================================  =============  ============
+**Number of Client Threads running in JMeter**  **Number of Server Threads running in Apex engine**  **Total number of input events**  **Success %**  **Error %**
+==============================================  ===================================================  ================================  =============  ============
+5                                                4                                                    26766                             100%           0%
+==============================================  ===================================================  ================================  =============  ============
+
+**VisualVM Screenshot**
+
+.. image:: images/frankfurt/apex_s3p_vm-1.png
+.. image:: images/frankfurt/apex_s3p_vm-2.png
+
+**JMeter Screenshot**
+
+.. image:: images/frankfurt/apex_s3p_jm-1.png
+.. image:: images/frankfurt/apex_s3p_jm-2.png
+
+:download:`result.zip <zip/frankfurt/apex_s3p_result.tar>`
+
 Setting up Performance Tests in APEX
 ++++++++++++++++++++++++++++++++++++
 
diff --git a/docs/development/devtools/images/frankfurt/apex_s3p_jm-1.png b/docs/development/devtools/images/frankfurt/apex_s3p_jm-1.png
new file mode 100644 (file)
index 0000000..07b2859
Binary files /dev/null and b/docs/development/devtools/images/frankfurt/apex_s3p_jm-1.png differ
diff --git a/docs/development/devtools/images/frankfurt/apex_s3p_jm-2.png b/docs/development/devtools/images/frankfurt/apex_s3p_jm-2.png
new file mode 100644 (file)
index 0000000..cb68c89
Binary files /dev/null and b/docs/development/devtools/images/frankfurt/apex_s3p_jm-2.png differ
diff --git a/docs/development/devtools/images/frankfurt/apex_s3p_vm-1.png b/docs/development/devtools/images/frankfurt/apex_s3p_vm-1.png
new file mode 100644 (file)
index 0000000..7ecbbea
Binary files /dev/null and b/docs/development/devtools/images/frankfurt/apex_s3p_vm-1.png differ
diff --git a/docs/development/devtools/images/frankfurt/apex_s3p_vm-2.png b/docs/development/devtools/images/frankfurt/apex_s3p_vm-2.png
new file mode 100644 (file)
index 0000000..548f2b7
Binary files /dev/null and b/docs/development/devtools/images/frankfurt/apex_s3p_vm-2.png differ
index 2002327..5ae58ff 100644 (file)
@@ -151,15 +151,23 @@ The jmx file is present in the policy/pap git repository.
 Install simulators in VM1
 -------------------------
 
-For installing simulator, there is a script placed at `install simulator script <https://gerrit.onap.org/r/gitweb?p=policy/pap.git;a=blob;f=testsuites/stability/src/main/resources/simulatorsetup/setup_components.sh;h=86de3c1efcb468431a2395eef610db209a613fc3;hb=refs/heads/master>`_
+Clone PAP to VM1 using the following command :
 
-Copy the script & all related files in virtual machine and run it.
+.. code-block:: bash
+
+    root@policytest-policytest-3-p5djn6as2477:~$ git clone http://gerrit.onap.org/r/policy/pap
+
+For installing simulator, execute the script `setup_components.sh` as shown below:
+
+.. code-block:: bash
+
+    root@policytest-policytest-3-p5djn6as2477:~$ ./pap/testsuites/stability/src/main/resources/simulatorsetup/setup_components.sh
 
 After installation make sure that following 4 docker containers are up and running.
 
 .. code-block:: bash
 
-    root@policytest-policytest-3-p5djn6as2477:/home/ubuntu/simulator# docker ps
+    root@policytest-policytest-3-p5djn6as2477:~$ docker ps
     CONTAINER ID        IMAGE                                   COMMAND                  CREATED             STATUS              PORTS                    NAMES
     887efa8dac12        nexus3.onap.org:10001/onap/policy-api   "bash ./policy-api.sh"   6 days ago          Up 6 days           0.0.0.0:6969->6969/tcp   policy-api
     0a931c0a63ac        pdp/simulator:latest                    "bash pdp-sim.sh"        6 days ago          Up 6 days                                    pdp-simulator
@@ -169,15 +177,24 @@ After installation make sure that following 4 docker containers are up and runni
 Install PAP in VM2
 ------------------
 
-For installing PAP, there is a script placed at `install pap script <https://gerrit.onap.org/r/gitweb?p=policy/pap.git;a=blob;f=testsuites/stability/src/main/resources/papsetup/setup_pap.sh;h=dc5e69e76da9f48f6b23cc012e14148f1373d1e1;hb=refs/heads/master>`_
+Clone PAP to VM2 using the following command :
+
+.. code-block:: bash
+
+    root@policytest-policytest-3-p5djn6as2477:~$ git clone http://gerrit.onap.org/r/policy/pap
+
+For installing PAP, execute the script `setup_pap.sh` as shown below:
+
+.. code-block:: bash
 
-Copy the script & all related files in virtual machine and run it.
+    root@policytest-policytest-3-p5djn6as2477:~$ cd pap/testsuites/stability/src/main/resources/papsetup/
+    root@policytest-policytest-3-p5djn6as2477:~$ ./setup_pap.sh <VM2_IP> <VM1_IP>
 
 After installation make sure that following docker container is up and running.
 
 .. code-block:: bash
 
-    root@policytest-policytest-0-uc3y2h5x6p4j:/home/ubuntu/pap# docker ps
+    root@policytest-policytest-0-uc3y2h5x6p4j:~$ docker ps
     CONTAINER ID        IMAGE                                                         COMMAND                  CREATED             STATUS              PORTS                                            NAMES
     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
 
diff --git a/docs/development/devtools/zip/frankfurt/apex_s3p_result.tar b/docs/development/devtools/zip/frankfurt/apex_s3p_result.tar
new file mode 100644 (file)
index 0000000..1b4eeea
Binary files /dev/null and b/docs/development/devtools/zip/frankfurt/apex_s3p_result.tar differ
index f40d33e..9da5668 100644 (file)
@@ -85,13 +85,29 @@ After undeploying policy, loop on monitoring the policy pods until they go away.
   kubectl get pods -n onap
 
 **Step 4** Delete NFS persisted data for Policy
-Sudo to root if you logged in using another account such as ubuntu.
 
 .. code-block:: bash
 
   rm -fr /dockerdata-nfs/dev-policy
 
-**Step 5** Re-Deploy Policy pods
+**Step 5** Make sure there is no orphan policy database persistent volume or claim.
+
+First, find if there is an orphan database PV or PVC with the following commands:
+
+.. code-block:: bash
+
+  kubectl get pvc -n onap | grep policy
+  kubectl get pv -n onap | grep policy
+
+If there are any orphan resources, delete them with
+
+.. code-block:: bash
+
+    kubectl delete pvc <orphan-policy-mariadb-resource>
+    kubectl delete pv <orphan-policy-mariadb-resource>
+
+**Step 6** Re-Deploy Policy pods
+
 After deploying policy, loop on monitoring the policy pods until they come up.
 
 .. code-block:: bash
@@ -103,7 +119,9 @@ Restarting a faulty component
 *****************************
 Each policy component can be restarted independently by issuing the following command:
 
-kubectl delete pod <policy-pod> -n onap
+.. code-block:: bash
+
+    kubectl delete pod <policy-pod> -n onap
 
 Exposing ports
 **************
index c5d327f..31b056a 100644 (file)
@@ -206,42 +206,21 @@ POLICY-XACML
 POLICY-DROOLS-PDP
 ~~~~~~~~~~~~~~~~~
 
-* Support for offline mode.
-  - The OOM deployment now supports offline mode for PDP-D by default.
-
-* Parameterize mvn repo urls and proxy settings
-  - This allows the users to build the docker images for drools-pdp and drools-application using their own CI pipelines if needed.
-
-* TOSCA Policy Type design for operational policy supported by Drools so that policy is compliant with TOSCA policies
-* pip updated to pip3 in docker.
-* Extend PDP-D capabilities so that it can instantiate new drools controller instances for executing native Drools policies deployed from PAP.
-* Updated drools to use the redesigned Actors in policy/models.
-* Server Pool feature for supporting multiple active Drools PDP hosts.
-* server-pool is a resilient implementation that supports redundancy within and across data centers involving multiple PDP-Drools. Implementation involves hashing of which PDP-Drools owns which transaction and routing transactions to the appropriate PDP-Drools. By implementing as a feature, any deployment can choose to use or not use server-pool for its redundancy needs.
+* Support for PDP-D in offline mode to support locked deployments.   This is the default ONAP installation.
+* Parameterize maven repository URLs for easier CI/CD integration.
+* Support for Tosca Compliant Operational Policies.
+* Support for TOSCA Compliant Native Policies that allows creation and deployment of new drools-applications.
+* Validation of Operational and Native Policies against their policy type.
+* Support for a generic Drools-PDP docker image to host any type of application.
+* Experimental Server Pool feature that supports multiple active Drools PDP hosts.
 
 POLICY-DROOLS-APPLICATIONS
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-* Support for offline mode.
-* Rate limiting DCAE flooding of ONSETs
-  - Policy will get flooded with potentially hundreds of ONSETs at once being picked up from DMaaP. Processing of multiple ONSETs (potentially hundreds in a batch read) of the same underlying unique network alarm severely impacts performance.
-
-* Design Operational Policy Type for Drools
-  - Design and preload the drools operational policy type.
-  - Backwards compatible support for tosca operational policies in usecases.
-  - Tosca compliant vCPE, vFirewall, vDNS
-
-* PDP-D support for native Drools policy execution
-  - Topics are decoupled from controllers. Native policies require topics configured at installation. Topics can also be overridden or new ones added when being placed in the mounted config directory.
-
-* Update Drools to use new actors.
-  - Add frankfurt rules for Actor redesign
-  - Usecases controller disabled (to be removed shortly after Frankfurt release) and the Frankfurt controller will be used.
-
-* Delete template.demo sub-module and amsterdam controllers
-* Removed vLB from drools-apps.
-* Replace URL with host/port/contextURI in the controlloop properties.
-  - Corresponding changes in base.conf file in OOM which is mounted.
+* Removal of DCAE ONSET alarm duplicates (with different request IDs).
+* Support of a new controller (frankfurt) that supports the ONAP use cases under the new actor architecture.
+* Deprecated the "usecases" controller supporting the use cases under the legacy actor architecture.
+* Deleted the unsupported "amsterdam" controller related projects.
 
 Known Limitations, Issues and Workarounds
 =========================================
@@ -249,6 +228,10 @@ Known Limitations, Issues and Workarounds
 System Limitations
 ------------------
 
+The policy API component requires a fresh new database when migrating to the frankfurt release.
+Therefore, upgrades require a fresh new database installation.
+Please see the
+`Installing or Upgrading Policy <https://onap.readthedocs.io/en/frankfurt/submodules/policy/parent.git/docs/installation/oom.html#installing-or-upgrading-policy>`__ section for appropriate procedures.
 
 Known Vulnerabilities
 ---------------------
@@ -258,7 +241,7 @@ Known Vulnerabilities
 
 Workarounds
 -----------
-
+* `POLICY-2463 <https://jira.onap.org/browse/POLICY-2463>`_ - Parse incoming object using JSON.Parse() or cast the object to a String
 
 Security Notes
 --------------
index 352f810..a9881e4 100644 (file)
@@ -37,7 +37,7 @@
     <properties>
         <java.version>11</java.version>
         <version.logback>1.2.3</version.logback>
-        <version.dmaap>1.1.9</version.dmaap>
+        <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.0.pr3</version.jackson>
diff --git a/pom.xml b/pom.xml
index 505c0cc..7321b46 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.onap.oparent</groupId>
         <artifactId>oparent</artifactId>
-        <version>3.0.0</version>
+        <version>3.1.0-SNAPSHOT</version>
         <relativePath />
     </parent>
     <groupId>org.onap.policy.parent</groupId>
@@ -32,7 +32,7 @@
     <packaging>pom</packaging>
 
     <properties>
-        <oparent.version>3.0.0</oparent.version>
+        <oparent.version>3.1.0-SNAPSHOT</oparent.version>
     </properties>
 
     <modules>