aboutsummaryrefslogtreecommitdiffstats
path: root/docs/integration-s3p.rst
blob: 835c08e1b0e761ec6640cef47ba72a0a5bc75eed (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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
.. _integration-s3p:

ONAP Maturity Testing Notes
---------------------------

Historically integration team used to execute specific stability and resilience
tests on target release. For frankfurt a stability test was executed.
Openlab, based on  Frankfurt RC0 dockers was also observed a long duration
period to evaluate the overall stability.
Finally the CI daily chain created at Frankfurt RC0 was also a precious indicator
to estimate the solution stability.

No resilience or stress tests have been executed due to a lack of resources
and late availability of the release. The testing strategy shall be amended in
Guilin, several requirements have been created to improve the S3P testing domain.

Stability
=========

ONAP stability was tested through a 72 hour test.
The intent of the 72 hour stability test is not to exhaustively test all
functions but to run a steady load against the system and look for issues like
memory leaks that cannot be found in the short duration install and functional
testing during the development cycle.

Integration Stability Testing verifies that the ONAP platform remains fully
functional after running for an extended amounts of time.
This is done by repeated running tests against an ONAP instance for a period of
72 hours.

The 72 hour stability run result was **PASS**.

The onboard and instantiate tests ran for over 115 hours before environment
issues stopped the test. There were errors due to both tooling and environment
errors.

The overall memory utilization only grew about 2% on the work nodes despite
the environment issues. Interestingly the kubernetes ochestration node memory
grew more which could mean we are over driving the API's in some fashion.

We did not limit other tenant activities in Windriver during this test run and
we saw the impact from things like the re-installation of SB00 in the tenant
and general network latency impacts that caused openstack to be slower to
instantiate.
For future stability runs we should go back to the process of shutting down
non-critical tenants in the test environment to free up host resources for
the test run (or other ways to prevent other testing from affecting the stability
run).

The control loop tests were **100% successful** and the cycle time for the loop was
fairly consistent despite the environment issues. Future control loop stability
tests should consider doing more policy edit type activites and running more
control loop if host resources are available. The 10 second VES telemetry event
is quite aggressive so we are sending more load into the VES collector and TCA
engine during onset events than would be typical so adding additional loops
should factor that in. The jenkins jobs ran fairly well although the instantiate
Demo vFWCL took longer than usual and should be factored into future test planning.


Methodology
~~~~~~~~~~~

The Stability Test has two main components:

- Running "ete stability72hr" Robot suite periodically.  This test suite
  verifies that ONAP can instantiate vDNS, vFWCL, and VVG.
- Set up vFW Closed Loop to remain running, then check periodically that the
  closed loop functionality is still working.

The integration-longevity tenant in Intel/Windriver environment was used for the
72 hour tests.

The onap-ci job for  "Project windriver-longevity-release-manual" was used for
the deployment with the OOM set to frankfurt and Integration branches set to
master. Integration master was used so we could catch the latest updates to
integration scripts and vnf heat templates.

The jenkins job needs a couple of updates for each release:

- Set the integration branch to 'origin/master'
- Modify the parameters to deploy.sh to specify "-i master" and "-o frankfurt"
  to get integration master an oom frankfurt clones onto the nfs server.

The path for robot logs on dockerdata-nfs  changed in Frankfurt so the
/dev-robot/ becomes /dev/robot

The stability tests used robot container image  **1.6.1-STAGING-20200519T201214Z**.

robot container updates: API_TYPE was set to GRA_API since we have deprecated
VNF_API.

Shakedown consists of creating some temporary tags for stability72hrvLB,
stability72hrvVG,stability72hrVFWCL to make sure each sub test ran successfully
(including cleanup) in the environment before the jenkins job started with the
higher level testsuite tag stability72hr that covers all three test types.

Clean out the old buid jobs using a jenkins console script (manage jenkins)

::

  def jobName = "windriver-longevity-stability72hr"=
  def job = Jenkins.instance.getItem(jobName)
  job.getBuilds().each { it.delete() }
  job.nextBuildNumber = 1
  job.save()


appc.properties updated to apply the fix for DMaaP message processing to call
http://localhost:8181 for the streams update.

Results: 100% PASS
~~~~~~~~~~~~~~~~~~
=================== ======== ========== ======== ========= =========
Test Case           Attempts Env Issues Failures Successes Pass Rate
=================== ======== ========== ======== ========= =========
Stability 72 hours  77       19         0        58        100%
vFW Closed Loop     60       0          0        100       100%
**Total**           137      19         0        158       **100%**
=================== ======== ========== ======== ========= =========

Detailed results can be found at https://wiki.onap.org/display/DW/Frankfurt+Stability+Run+Notes

.. note::
 - Overall results were good. All of the test failures were due to
   issues with the unstable environment and tooling framework.
 - JIRAs were created for readiness/liveness probe issues found while
   testing under the unstable environment. Patches applied to oom and
   testsuite during the testing helped reduce test failures due to
   environment and tooling framework issues.
 - The vFW Closed Loop test was very stable and self recovered from
   environment issues.

Resources overview
~~~~~~~~~~~~~~~~~~
============ ====================== =========== ========== ==========
Date          #1 CPU                #1 RAM      CPU*       RAM**
============ ====================== =========== ========== ==========
May 20 18:45 dcae-tca-anaytics:511m appc:2901Mi 1649       36092
May 21 12:33 dcae-tca-anaytics:664m appc:2901Mi 1605       38221
May 22 09:35 dcae-tca-anaytics:425m appc:2837Mi 1459       38488
May 23 11:01 cassandra-1:371m       appc:2849Mi 1829       39431
============ ====================== =========== ========== ==========

.. note::
  - Results are given from the command "kubectl -n onap top pods | sort -rn -k 3
    | head -20"
  - * sum of the top 20 CPU consumption
  - ** sum of the top 20 RAM consumption

CI results
==========

A daily Frankfurt CI chain has been created after RC0.

The evolution of the full healthcheck test suite can be described as follows:

|image1|

Full healthcheck testsuite verifies the status of each component. It is
composed of 47 tests. The success rate from the 9th to the 28th was never under
95%.

4 test categories were defined:

- infrastructure healthcheck: test of ONAP kubernetes cluster and help chart status
- healthcheck tests: verification of the components in the target deployment
  environment
- smoke tests: basic VM tests (including onboarding/distribution/instantiation),
  and automated use cases (pnf-registrate, hvves, 5gbulkpm)
- security tests

The security target (66% for Frankfurt) was reached after the RC1. A regression
due to the automation of the hvves use case (triggering the exposition of a
public port in HTTP) was fixed on the 28th of May.

|image2|

Orange Openlab
==============

The Orange Openlab is a community lab targeting ONAP end user. It provides an
ONAP and cloud resources to discover ONAP.
A Frankfurt pre-RC0 version was installed beginning of May. The usual gating
testing suite was run daily in addition of the traffic generated by the lab
users. The VM instantiation has been working well without any reinstallation
over the **27** last days.

Resilience
==========

The resilience test executed in El Alto was not realized in Frankfurt.

.. |image1| image:: files/s3p/daily_frankfurt1.png
      :width: 6.5in

.. |image2| image:: files/s3p/daily_frankfurt2.png
      :width: 6.5in