From 661eb8d3a2d181a7e76094771d1f03b1e9f31be7 Mon Sep 17 00:00:00 2001 From: Ram Krishna Verma Date: Thu, 11 Nov 2021 13:19:02 -0500 Subject: 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 --- docs/development/devtools/devtools.rst | 2 + docs/development/devtools/policy-cds.rst | 135 +++++++++++++++++++++++++++++++ 2 files changed, 137 insertions(+) create mode 100644 docs/development/devtools/policy-cds.rst diff --git a/docs/development/devtools/devtools.rst b/docs/development/devtools/devtools.rst index 97acac48..fae3d17c 100644 --- a/docs/development/devtools/devtools.rst +++ b/docs/development/devtools/devtools.rst @@ -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 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 ` + +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 ` +:download:`PNF Test CBA ` + +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 ` + +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 ` + +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 ` + +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. -- cgit 1.2.3-korg