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. The worker VM hosting the policy components has the
23 - 160GB Ephemeral Disk
25 The standalone VM designated to run jmeter has the same configuration and was only
26 used to run this tool allocating 12G of heap memory to the jmeter tool.
28 Other ONAP components used during the estability 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 usecases under test.
42 In order to restrict APPC responses to just the jmeter too driving all transactions,
43 the APPC component was disabled.
45 SO, and AAI actors were simulated internally within the PDP-D by enabling the
46 feature-controlloop-utils previous to run 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"
139 The PDP-D uses a small configuration:
142 Stability Test of Policy PDP-D
143 ******************************
145 The 72 hour stability test happened in parallel with the estability run of the API component.
157 Approximately 3.75G heap was allocated to the PDP-D JVM at initialization.
159 Worker Node performance
160 =======================
162 The VM named onap-k8s-07 was monitored for the duration of the two parallel
163 stability runs. The table below show the usage ranges:
167 NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
168 onap-k8s-07 <=1374m <=20% <=10643Mi <=66%
173 The PDP-D was monitored during the run an stayed below the following ranges:
177 NAME CPU(cores) MEMORY(bytes)
178 dev-drools-0 <=142m 684Mi
180 Garbagge collection was monitored without detecting any major spike.
182 The following use cases were tested:
188 For 72 hours the following 5 scenarios were run 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, one for each scenario described above, push the traffic back to back
199 All transactions completed successfully as expected in each scenario.
201 The command executed was
205 jmeter -n -t /home/ubuntu/jhh/s3p.jmx > /dev/null 2>&1
207 The results were computed by taking the ellapsed time from the audit.log
208 (this log reports all end to end transactions, marking the start, end, and
211 The count reflects the number of successful transactions as expected in the
212 use case, as well as the average, standard deviation, and max/min. An histogram
213 of the response times have been added as a visual indication on the most common transaction times.
215 vCPE Success scenario
216 =====================
218 ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e:
230 Transaction Times histogram:
232 .. image:: images/ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e.png
235 vCPE Failure scenario
236 =====================
238 ControlLoop-vCPE-Fail:
242 ControlLoop-vCPE-Fail :
251 Transaction Times histogram:
253 .. image:: images/ControlLoop-vCPE-Fail.png
255 vDNS Success scenario
256 =====================
258 ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3:
269 Transaction Times histogram:
271 .. image:: images/ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3.png
273 vDNS Failure scenario
274 =====================
276 ControlLoop-vDNS-Fail:
287 Transaction Times histogram:
289 .. image:: images/ControlLoop-vDNS-Fail.png
291 vFirewall Failure scenario
292 ==========================
294 ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a:
305 Transaction Times histogram:
307 .. image:: images/ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a.png