aboutsummaryrefslogtreecommitdiffstats
path: root/docs/development/devtools/policy-cds.rst
blob: b21a16b16632995decf5ee23c6fe48c0c05df580 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
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.