Update documentation
[integration.git] / docs / integration-s3p.rst
1 .. _integration-s3p:
2
3 ONAP Maturity Testing Notes
4 ---------------------------
5
6 Historically integration team used to execute specific stability and resilience
7 tests on target release. For frankfurt a stability test was executed.
8 Openlab, based on  Frankfurt RC0 dockers was also observed a long duration
9 period to evaluate the overall stability.
10 Finally the CI daily chain created at Frankfurt RC0 was also a precious indicator
11 to estimate the solution stability.
12
13 No resilience or stress tests have been executed due to a lack of resources
14 and late availability of the release. The testing strategy shall be amended in
15 Guilin, several requirements have been created to improve the S3P testing domain.
16
17 Stability
18 =========
19
20 ONAP stability was tested through a 72 hour test.
21 The intent of the 72 hour stability test is not to exhaustively test all
22 functions but to run a steady load against the system and look for issues like
23 memory leaks that cannot be found in the short duration install and functional
24 testing during the development cycle.
25
26 Integration Stability Testing verifies that the ONAP platform remains fully
27 functional after running for an extended amounts of time.
28 This is done by repeated running tests against an ONAP instance for a period of
29 72 hours.
30
31 The 72 hour stability run result was **PASS**.
32
33 The onboard and instantiate tests ran for over 115 hours before environment
34 issues stopped the test. There were errors due to both tooling and environment
35 errors.
36
37 The overall memory utilization only grew about 2% on the work nodes despite
38 the environment issues. Interestingly the kubernetes ochestration node memory
39 grew more which could mean we are over driving the API's in some fashion.
40
41 We did not limit other tenant activities in Windriver during this test run and
42 we saw the impact from things like the re-installation of SB00 in the tenant
43 and general network latency impacts that caused openstack to be slower to
44 instantiate.
45 For future stability runs we should go back to the process of shutting down
46 non-critical tenants in the test environment to free up host resources for
47 the test run (or other ways to prevent other testing from affecting the stability
48 run).
49
50 The control loop tests were **100% successful** and the cycle time for the loop was
51 fairly consistent despite the environment issues. Future control loop stability
52 tests should consider doing more policy edit type activites and running more
53 control loop if host resources are available. The 10 second VES telemetry event
54 is quite aggressive so we are sending more load into the VES collector and TCA
55 engine during onset events than would be typical so adding additional loops
56 should factor that in. The jenkins jobs ran fairly well although the instantiate
57 Demo vFWCL took longer than usual and should be factored into future test planning.
58
59
60 Methodology
61 ~~~~~~~~~~~
62
63 The Stability Test has two main components:
64
65 - Running "ete stability72hr" Robot suite periodically.  This test suite
66   verifies that ONAP can instantiate vDNS, vFWCL, and VVG.
67 - Set up vFW Closed Loop to remain running, then check periodically that the
68   closed loop functionality is still working.
69
70 The integration-longevity tenant in Intel/Windriver environment was used for the
71 72 hour tests.
72
73 The onap-ci job for  "Project windriver-longevity-release-manual" was used for
74 the deployment with the OOM set to frankfurt and Integration branches set to
75 master. Integration master was used so we could catch the latest updates to
76 integration scripts and vnf heat templates.
77
78 The jenkins job needs a couple of updates for each release:
79
80 - Set the integration branch to 'origin/master'
81 - Modify the parameters to deploy.sh to specify "-i master" and "-o frankfurt"
82   to get integration master an oom frankfurt clones onto the nfs server.
83
84 The path for robot logs on dockerdata-nfs  changed in Frankfurt so the
85 /dev-robot/ becomes /dev/robot
86
87 The stability tests used robot container image  **1.6.1-STAGING-20200519T201214Z**.
88
89 robot container updates: API_TYPE was set to GRA_API since we have deprecated
90 VNF_API.
91
92 Shakedown consists of creating some temporary tags for stability72hrvLB,
93 stability72hrvVG,stability72hrVFWCL to make sure each sub test ran successfully
94 (including cleanup) in the environment before the jenkins job started with the
95 higher level testsuite tag stability72hr that covers all three test types.
96
97 Clean out the old buid jobs using a jenkins console script (manage jenkins)
98
99 ::
100
101   def jobName = "windriver-longevity-stability72hr"=
102   def job = Jenkins.instance.getItem(jobName)
103   job.getBuilds().each { it.delete() }
104   job.nextBuildNumber = 1
105   job.save()
106
107
108 appc.properties updated to apply the fix for DMaaP message processing to call
109 http://localhost:8181 for the streams update.
110
111 Results: 100% PASS
112 ~~~~~~~~~~~~~~~~~~
113 =================== ======== ========== ======== ========= =========
114 Test Case           Attempts Env Issues Failures Successes Pass Rate
115 =================== ======== ========== ======== ========= =========
116 Stability 72 hours  77       19         0        58        100%
117 vFW Closed Loop     60       0          0        100       100%
118 **Total**           137      19         0        158       **100%**
119 =================== ======== ========== ======== ========= =========
120
121 Detailed results can be found at https://wiki.onap.org/display/DW/Frankfurt+Stability+Run+Notes
122
123 .. note::
124  - Overall results were good. All of the test failures were due to
125    issues with the unstable environment and tooling framework.
126  - JIRAs were created for readiness/liveness probe issues found while
127    testing under the unstable environment. Patches applied to oom and
128    testsuite during the testing helped reduce test failures due to
129    environment and tooling framework issues.
130  - The vFW Closed Loop test was very stable and self recovered from
131    environment issues.
132
133 Resources overview
134 ~~~~~~~~~~~~~~~~~~
135 ============ ====================== =========== ========== ==========
136 Date          #1 CPU                #1 RAM      CPU*       RAM**
137 ============ ====================== =========== ========== ==========
138 May 20 18:45 dcae-tca-anaytics:511m appc:2901Mi 1649       36092
139 May 21 12:33 dcae-tca-anaytics:664m appc:2901Mi 1605       38221
140 May 22 09:35 dcae-tca-anaytics:425m appc:2837Mi 1459       38488
141 May 23 11:01 cassandra-1:371m       appc:2849Mi 1829       39431
142 ============ ====================== =========== ========== ==========
143
144 .. note::
145   - Results are given from the command "kubectl -n onap top pods | sort -rn -k 3
146     | head -20"
147   - * sum of the top 20 CPU consumption
148   - ** sum of the top 20 RAM consumption
149
150 CI results
151 ==========
152
153 A daily Frankfurt CI chain has been created after RC0.
154
155 The evolution of the full healthcheck test suite can be described as follows:
156
157 |image1|
158
159 Full healthcheck testsuite verifies the status of each component. It is
160 composed of 47 tests. The success rate from the 9th to the 28th was never under
161 95%.
162
163 4 test categories were defined:
164
165 - infrastructure healthcheck: test of ONAP kubernetes cluster and help chart status
166 - healthcheck tests: verification of the components in the target deployment
167   environment
168 - smoke tests: basic VM tests (including onboarding/distribution/instantiation),
169   and automated use cases (pnf-registrate, hvves, 5gbulkpm)
170 - security tests
171
172 The security target (66% for Frankfurt) was reached after the RC1. A regression
173 due to the automation of the hvves use case (triggering the exposition of a
174 public port in HTTP) was fixed on the 28th of May.
175
176 |image2|
177
178 Orange Openlab
179 ==============
180
181 The Orange Openlab is a community lab targeting ONAP end user. It provides an
182 ONAP and cloud resources to discover ONAP.
183 A Frankfurt pre-RC0 version was installed beginning of May. The usual gating
184 testing suite was run daily in addition of the traffic generated by the lab
185 users. The VM instantiation has been working well without any reinstallation
186 over the **27** last days.
187
188 Resilience
189 ==========
190
191 The resilience test executed in El Alto was not realized in Frankfurt.
192
193 .. |image1| image:: files/s3p/daily_frankfurt1.png
194       :width: 6.5in
195
196 .. |image2| image:: files/s3p/daily_frankfurt2.png
197       :width: 6.5in