Add document for policy-cds testing 21/125721/3
authorRam Krishna Verma <ram_krishna.verma@bell.ca>
Thu, 11 Nov 2021 18:19:02 +0000 (13:19 -0500)
committerRam Krishna Verma <ram_krishna.verma@bell.ca>
Thu, 11 Nov 2021 19:43:26 +0000 (19:43 +0000)
Adding document for policy-cds testing that includes
* creating entities in AAI.
* publishing relevant blueprints to CDS.
* running tests for apex-pdp
* running tests for drools-pdp
* deleting blueprints from CDS
* deleting entities from AAI

Issue-ID: POLICY-3735
Change-Id: Ieddaec9efc0f4241a2bbbbbd02ba1dfc40633da7
Signed-off-by: Ram Krishna Verma <ram_krishna.verma@bell.ca>
docs/development/devtools/devtools.rst
docs/development/devtools/policy-cds.rst [new file with mode: 0644]

index 97acac4..fae3d17 100644 (file)
@@ -329,6 +329,8 @@ the Policy Framework works in a full ONAP deployment.
 
    clamp-dcae.rst
 
+   policy-cds.rst
+
 ..
    api-pairwise.rst
 
diff --git a/docs/development/devtools/policy-cds.rst b/docs/development/devtools/policy-cds.rst
new file mode 100644 (file)
index 0000000..b21a16b
--- /dev/null
@@ -0,0 +1,135 @@
+.. This work is licensed under a
+.. Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+.. _policy-cds-pairwise-testing-label:
+
+.. toctree::
+   :maxdepth: 2
+
+Policy <-> CDS
+~~~~~~~~~~~~~~
+
+The pairwise testing is executed against a default ONAP installation as per OOM charts.
+Apex-PDP or Drools-PDP engine interacts with CDS to execute a control loop action.
+This test verifies the interaction between Policy and CDS to make sure the contract works as expected.
+
+General Setup
+*************
+
+The kubernetes installation will allocate all onap components across multiple worker node VMs.
+The normal worker VM hosting onap components has the following spec:
+
+- 16GB RAM
+- 8 VCPU
+- 160GB Ephemeral Disk
+
+
+The ONAP components used during the pairwise tests are:
+
+- AAI for creating dummy VNF & PNF for testing purpose.
+- CDS for publishing the blueprints & triggering the actions.
+- DMaaP for the communication between components.
+- Policy API to perform CRUD of policies.
+- Policy PAP to perform runtime administration (deploy/undeploy/status/statistics/etc).
+- Policy Apex-PDP to execute policies for both VNF & PNF scenarios.
+- Policy Drools-PDP to execute policies for both VNF & PNF scenarios.
+- Policy Xacml-PDP to execute decisions for guard requests.
+
+
+Testing procedure
+*****************
+
+The test set is focused on the following use cases:
+
+- End to end testing of a sample VNF based policy using Apex-PDP & Drools-PDP.
+- End to end testing of a sample PNF based policy using Apex-PDP & Drools-PDP.
+
+Creation of VNF & PNF in AAI
+----------------------------
+In order for PDP engines to fetch the resource details from AAI during runtime execution, we need to create dummy VNF & PNF entities in AAI.
+In a real control loop flow, the entities in AAI will be either created during orchestration phase or provisioned in AAI separately.
+
+Download & execute the steps in postman collection for creating the entities along with it's dependencies.
+The steps needs to be performed sequentially one after another. And no input is required from user.
+
+:download:`Create VNF & PNF in AAI <postman/create-vnf-pnf-aai.postman_collection.json>`
+
+Make sure to skip the delete VNF & PNF steps.
+
+
+Publish Blueprints in CDS
+-------------------------
+In order for PDP engines to trigger an action in CDS during runtime execution, we need to publish relevant blueprints in CDS.
+
+Download the zip files containing the blueprint for VNF & PNF specific actions.
+
+:download:`VNF Test CBA <cds-cba/vnf-test-cba.zip>`
+:download:`PNF Test CBA <cds-cba/pnf-test-cba.zip>`
+
+Download & execute the steps in postman collection for publishing the blueprints in CDS.
+In the enrich & publish CBA step, provide the previously downloaded zip file one by one.
+The execute steps are provided to verify that the blueprints are working as expected.
+
+:download:`Publish Blueprints in CDS <postman/publish-cba-CDS.postman_collection.json>`
+
+Make sure to skip the delete CBA step.
+
+
+Apex-PDP VNF & PNF testing
+--------------------------
+The below provided postman collection is prepared to have end to end testing experience of apex-pdp engine.
+Including both VNF & PNF scenarios.
+List of steps covered in the postman collection:
+
+- Create & Verify VNF & PNF policies as per policy type supported by apex-pdp.
+- Deploy both VNF & PNF policies to apex-pdp engine.
+- Query PdpGroup at multiple stages to verify current set of policies deployed.
+- Fetch policy status at multiple stages to verify policy deployment & undeployment status.
+- Fetch policy audit information at multiple stages to verify policy deployment & undeployment operations.
+- Fetch PDP Statistics at multiple stages to verify deployment, undeployment & execution counts.
+- Send onset events to DMaaP for triggering policies to test both success & failure secnarios.
+- Read policy notifications from DMaaP to verify policy execution.
+- Undeploy both VNF & PNF policies from apex-pdp engine.
+- Delete both VNF & PNF policies at the end.
+
+Download & execute the steps in postman collection.
+The steps needs to be performed sequentially one after another. And no input is required from user.
+
+:download:`Apex-PDP VNF & PNF Testing <postman/apex-pdp-vnf-pnf-testing.postman_collection.json>`
+
+Make sure to wait for 2 minutes (the default heartbeat interval) to verify PDP Statistics.
+
+Drools-PDP VNF & PNF testing
+----------------------------
+The below provided postman collection is prepared to have end to end testing experience of drools-pdp engine.
+Including both VNF & PNF scenarios.
+List of steps covered in the postman collection:
+
+- Create & Verify VNF & PNF policies as per policy type supported by drools-pdp.
+- Deploy both VNF & PNF policies to drools-pdp engine.
+- Query PdpGroup at multiple stages to verify current set of policies deployed.
+- Fetch policy status at multiple stages to verify policy deployment & undeployment status.
+- Fetch policy audit information at multiple stages to verify policy deployment & undeployment operations.
+- Fetch PDP Statistics at multiple stages to verify deployment, undeployment & execution counts.
+- Send onset events to DMaaP for triggering policies to test both success & failure secnarios.
+- Read policy notifications from DMaaP to verify policy execution.
+- Undeploy both VNF & PNF policies from drools-pdp engine.
+- Delete both VNF & PNF policies at the end.
+
+Download & execute the steps in postman collection.
+The steps needs to be performed sequentially one after another. And no input is required from user.
+
+:download:`Drools-PDP VNF & PNF Testing <postman/drools-pdp-vnf-pnf-testing.postman_collection.json>`
+
+Make sure to wait for 2 minutes (the default heartbeat interval) to verify PDP Statistics.
+
+
+Delete Blueprints in CDS
+------------------------
+Use the previously downloaded CDS postman collection to delete the blueprints published in CDS for testing.
+
+
+Delete VNF & PNF in AAI
+-----------------------
+Use the previously downloaded AAI postman collection to delete the VNF & PNF entities created in AAI for testing.