1 .. This work is licensed under a
2 .. Creative Commons Attribution 4.0 International License.
3 .. http://creativecommons.org/licenses/by/4.0
10 Policy Drools PDP component
11 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 Both the Performance and the Stability tests were executed against a default ONAP installation in the PFPP tenant, from an independent VM running the jmeter tool to inject the load.
18 The kubernetes installation allocated all policy components in the same worker node VM and some additional ones.
19 The worker VM hosting the policy components has the following spec:
23 - 160GB Ephemeral Disk
25 The standalone VM designated to run jmeter has the same configuration. The jmeter JVM
26 was instantiated with a max heap configuration of 12G.
28 Other ONAP components used during the stability tests are:
30 - Policy XACML PDP to process guard queries for each transaction.
31 - DMaaP to carry PDP-D and jmeter initiated traffic to complete transactions.
32 - Policy API to create (and delete at the end of the tests) policies for each
34 - Policy PAP to deploy (and undeploy at the end of the tests) policies for each scenario under test.
36 The following components are simulated during the tests.
38 - SO actor for the vDNS use case.
39 - APPC responses for the vCPE and vFW use cases.
40 - AAI to answer queries for the use cases under test.
42 In order to avoid interferences with the APPC component while running the tests,
43 the APPC component was disabled.
45 SO, and AAI actors were simulated within the PDP-D JVM by enabling the
46 feature-controlloop-utils before running the tests.
51 The kubernetes charts were modified previous to the installation with
54 The oom/kubernetes/policy/charts/drools/resources/configmaps/base.conf was
59 --- a/kubernetes/policy/charts/drools/resources/configmaps/base.conf
60 +++ b/kubernetes/policy/charts/drools/resources/configmaps/base.conf
61 @@ -85,27 +85,27 @@ DMAAP_SERVERS=message-router
65 -AAI_HOST=aai.{{.Release.Namespace}}
73 -SO_HOST=so.{{.Release.Namespace}}
75 -SO_CONTEXT_URI=onap/so/infra/
76 -SO_URL=https://so.{{.Release.Namespace}}:8080/onap/so/infra
80 +SO_URL=https://localhost:6667/
88 VFC_CONTEXT_URI=api/nslcm/v1/
92 -SDNC_HOST=sdnc.{{.Release.Namespace}}
96 SDNC_CONTEXT_URI=restconf/operations/
98 The AAI actor had to be modified to disable https to talk to the AAI simulator.
102 ~/oom/kubernetes/policy/charts/drools/resources/configmaps/AAI-http-client.properties
104 http.client.services=AAI
106 http.client.services.AAI.managed=true
107 http.client.services.AAI.https=false
108 http.client.services.AAI.host=${envd:AAI_HOST}
109 http.client.services.AAI.port=${envd:AAI_PORT}
110 http.client.services.AAI.userName=${envd:AAI_USERNAME}
111 http.client.services.AAI.password=${envd:AAI_PASSWORD}
112 http.client.services.AAI.contextUriPath=${envd:AAI_CONTEXT_URI}
114 The SO actor had to be modified similarly.
118 oom/kubernetes/policy/charts/drools/resources/configmaps/SO-http-client.properties:
120 http.client.services=SO
122 http.client.services.SO.managed=true
123 http.client.services.SO.https=false
124 http.client.services.SO.host=${envd:SO_HOST}
125 http.client.services.SO.port=${envd:SO_PORT}
126 http.client.services.SO.userName=${envd:SO_USERNAME}
127 http.client.services.SO.password=${envd:SO_PASSWORD}
128 http.client.services.SO.contextUriPath=${envd:SO_CONTEXT_URI}
130 The feature-controlloop-utils was started by adding the following script:
134 oom/kubernetes/policy/charts/drools/resources/configmaps/features.pre.sh:
137 bash -c "features enable controlloop-utils"
140 Stability Test of Policy PDP-D
141 ******************************
143 The 72 hour stability test happened in parallel with the stability run of the API component.
145 Worker Node performance
146 =======================
148 The VM named onap-k8s-07 was monitored for the duration of the two parallel
149 stability runs. The table below show the usage ranges:
153 NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
154 onap-k8s-07 <=1374m <=20% <=10643Mi <=66%
159 The PDP-D uses a small configuration:
171 In practicality, this corresponded to an allocated 3.75G heap for the JVM based.
173 The PDP-D was monitored during the run and stayed below the following ranges:
177 NAME CPU(cores) MEMORY(bytes)
178 dev-drools-0 <=142m 684Mi
180 Garbage collection was monitored without detecting any significant degradation.
182 The test set focused on the following use cases:
188 For 72 hours the following 5 scenarios ran in parallel:
190 - vCPE success scenario
191 - vCPE failure scenario (failure returned by simulated APPC recipient through DMaaP).
192 - vDNS success scenario.
193 - vDNS failure scenario.
194 - vFirewall success scenario.
196 Five threads ran in parallel, one for each scenario. The transactions were initiated
197 by each jmeter thread group. Each thread initiated a transaction, monitored the transaction, and
198 as soon as the transaction ending was detected, it initiated the next one, so back to back with no
201 All transactions completed successfully as it was expected in each scenario, with no failures.
203 The command executed was
207 jmeter -n -t /home/ubuntu/jhh/s3p.jmx > /dev/null 2>&1
209 The results were computed by taking the ellapsed time from the audit.log
210 (this log reports all end to end transactions, marking the start, end, and
213 The count reflects the number of successful transactions as expected in the
214 use case, as well as the average, standard deviation, and max/min. An histogram
215 of the response times have been added as a visual indication on the most common
218 vCPE Success scenario
219 =====================
221 ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e:
233 .. image:: images/ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e.png
236 vCPE Failure scenario
237 =====================
239 ControlLoop-vCPE-Fail:
243 ControlLoop-vCPE-Fail :
252 .. image:: images/ControlLoop-vCPE-Fail.png
254 vDNS Success scenario
255 =====================
257 ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3:
269 .. image:: images/ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3.png
271 vDNS Failure scenario
272 =====================
274 ControlLoop-vDNS-Fail:
286 .. image:: images/ControlLoop-vDNS-Fail.png
288 vFirewall Success scenario
289 ==========================
291 ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a:
303 .. image:: images/ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a.png