summaryrefslogtreecommitdiffstats
path: root/docs/development/devtools/policy-cds.rst
diff options
context:
space:
mode:
authorRam Krishna Verma <ram_krishna.verma@bell.ca>2021-11-11 13:19:02 -0500
committerRam Krishna Verma <ram_krishna.verma@bell.ca>2021-11-11 19:43:26 +0000
commit661eb8d3a2d181a7e76094771d1f03b1e9f31be7 (patch)
treee14e9c75ef6b9dc7f22798af5c2fdd7b04ed7dd1 /docs/development/devtools/policy-cds.rst
parenta79dddcd4862ca36048553b7e325ab7b327259e6 (diff)
Add document for policy-cds testing
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>
Diffstat (limited to 'docs/development/devtools/policy-cds.rst')
-rw-r--r--docs/development/devtools/policy-cds.rst135
1 files changed, 135 insertions, 0 deletions
diff --git a/docs/development/devtools/policy-cds.rst b/docs/development/devtools/policy-cds.rst
new file mode 100644
index 00000000..b21a16b1
--- /dev/null
+++ b/docs/development/devtools/policy-cds.rst
@@ -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.