diff options
Diffstat (limited to 'docs/development/devtools/policy-cds.rst')
-rw-r--r-- | docs/development/devtools/policy-cds.rst | 135 |
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. |