From ac588d62a90e7badc32acf476e0ce391e8bdd31b Mon Sep 17 00:00:00 2001 From: mrichomme Date: Thu, 28 May 2020 22:38:30 +0200 Subject: [PATCH] Update documentation Issue-ID: INT-1551 Signed-off-by: mrichomme Change-Id: Iacc99e3504ae62e90bc3d963056d780ae13c402a Signed-off-by: mrichomme --- docs/conf.py | 2 +- docs/docs_pnf_onboarding_preonboarding.rst | 2 - docs/files/s3p/daily_frankfurt1.png | Bin 0 -> 59945 bytes docs/files/s3p/daily_frankfurt2.png | Bin 0 -> 24219 bytes docs/functional-requirements-5g.csv | 3 +- docs/integration-s3p.rst | 196 +++++++++++++++++++++-------- docs/release-notes.rst | 6 +- 7 files changed, 154 insertions(+), 55 deletions(-) create mode 100644 docs/files/s3p/daily_frankfurt1.png create mode 100644 docs/files/s3p/daily_frankfurt2.png diff --git a/docs/conf.py b/docs/conf.py index 919596d97..6684e1c8b 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -4,7 +4,7 @@ branch = 'latest' master_doc = 'index' linkcheck_ignore = [ - r'http://localhost:\d+/', + r'http://localhost:.*', 'http://CONSUL_SERVER_UI:30270/ui/#/dc1/services', r'https://.*h=frankfurt', r'http.*frankfurt.*', diff --git a/docs/docs_pnf_onboarding_preonboarding.rst b/docs/docs_pnf_onboarding_preonboarding.rst index 1def25673..deb7c3e36 100644 --- a/docs/docs_pnf_onboarding_preonboarding.rst +++ b/docs/docs_pnf_onboarding_preonboarding.rst @@ -25,5 +25,3 @@ How to Use - PNF onboarding (SDC Resource Onboarding) The onboarding step is mandatory in ONAP. A vendor-provided PNF onboarding package must be onboarded according to procedure: `SDC Resource Onboarding `_ - - diff --git a/docs/files/s3p/daily_frankfurt1.png b/docs/files/s3p/daily_frankfurt1.png new file mode 100644 index 0000000000000000000000000000000000000000..44d82870dde97bc1d4ffd498432af9ded614884b GIT binary patch literal 59945 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 Po1Y?x+_FK-+kN^k_ycsp literal 0 HcmV?d00001 diff --git a/docs/functional-requirements-5g.csv b/docs/functional-requirements-5g.csv index 308577644..286fd3aba 100644 --- a/docs/functional-requirements-5g.csv +++ b/docs/functional-requirements-5g.csv @@ -2,9 +2,10 @@ 5G Realtime PM and High Volume Stream Data Collection, :ref:`official doc `,M.Przybysz 5G PNF Plug and Play, :ref:`official doc `, M.Przybysz K.Kuzmicki 5G Bulk PM, :ref:`official doc `, J.Cuddy +5G OOF and PCI,:ref:`official doc `, Reshmasree c 5G NRM Network Resource Model (Configuration management),:ref:`official doc `,Y.Wang C.Huang 5G NETCONF configuration,:ref:`official doc `, A.D.Singh -5G PNF Pre-Onboarding & Onboarding,,M.Przybysz K.Kuzmicki D.Melia A.Walshe +5G PNF Pre-Onboarding & Onboarding,:ref:`official doc `,M.Przybysz K.Kuzmicki D.Melia A.Walshe 5G OOF SON,:ref:`official doc `,Reshmasree c 5G E2E Network Slicing ,:ref:`official doc`,C.Chen Z.Min Swaminathan S 5G ORAN A1 Adapter (SDNR),:ref:`official doc `,SandeepShah diff --git a/docs/integration-s3p.rst b/docs/integration-s3p.rst index f42b48911..835c08e1b 100644 --- a/docs/integration-s3p.rst +++ b/docs/integration-s3p.rst @@ -3,22 +3,60 @@ ONAP Maturity Testing Notes --------------------------- -For the El Alto release, ONAP continues to improve in multiple -areas of Scalability, Security, Stability and Performance (S3P) -metrics. - +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 ========= -** TODO ** +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 ~~~~~~~~~~~ @@ -29,18 +67,58 @@ The Stability Test has two main components: - 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 72 34 0 38 100% -vFW Closed Loop 75 7 0 68 100% -**Total** 147 41 0 106 **100%** +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/Dublin+Release+Stability+Testing+Status . +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 @@ -52,48 +130,68 @@ Detailed results can be found at https://wiki.onap.org/display/DW/Dublin+Release - 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 ========== -Integration Resilience Testing verifies that ONAP can automatically recover -from failures of any of its components. -This is done by deleting the ONAP pods that are involved in each particular Use -Case flow and then checking that the Use Case flow can again be executed -successfully after ONAP recovers. +The resilience test executed in El Alto was not realized in Frankfurt. -Methodology -~~~~~~~~~~~ -For each Use Case, a list of the ONAP components involved is identified. -The pods of each of those components are systematically deleted one-by-one; -after each pod deletion, we wait for the pods to recover, then execute the Use -Case again to verify successful ONAP platform recovery. - - -Results: 99.4% PASS -~~~~~~~~~~~~~~~~~~~ -=============================== ======== ========== ======== ========= ========= -Use Case Attempts Env Issues Failures Successes Pass Rate -=============================== ======== ========== ======== ========= ========= -VNF Onboarding and Distribution 49 0 0 49 100% -VNF Instantiation 64 19 1 44 97.8% -vFW Closed Loop 66 0 0 66 100% -**Total** 179 19 1 159 **99.4%** -=============================== ======== ========== ======== ========= ========= - -Detailed results can be found at https://wiki.onap.org/display/DW/Dublin+Release+Resilience+Testing+Status . - - -Deployability -============= - -Smaller ONAP container images footprint reduces resource consumption, -time to deploy, time to heal, as well as scale out resources. - -Minimizing the footprint of ONAP container images reduces resource -consumption, time to deploy, time and time to heal. It also reduces -the resources needed to scale out and time to scale in. For those -reasons footprint minimization postively impacts the scalability of -the ONAP platform. Smaller ONAP container images footprint reduces -resource consumption, time to deploy, time to heal, as well as scale -out resources. +.. |image1| image:: files/s3p/daily_frankfurt1.png + :width: 6.5in + +.. |image2| image:: files/s3p/daily_frankfurt2.png + :width: 6.5in diff --git a/docs/release-notes.rst b/docs/release-notes.rst index 990d70d11..f12f32781 100644 --- a/docs/release-notes.rst +++ b/docs/release-notes.rst @@ -44,7 +44,8 @@ ONAP Maturity Testing Notes A Frankfurt daily CI chain has bee put in place after the RC0 milestone. This CI chain is used to track the stability of the release from the RC0. it will be maintained as the latest stable CI branch and replaces the El Alto branch. -The daily results can be found in +The daily results can be found in . +A 72 stability test has been executed after RC1. Verified Use Cases and Functional Requirements ---------------------------------------------- @@ -81,7 +82,8 @@ Robot Test Suites Version: 1.6.2 -:Release Date: 2020-06-15 +:Release Date: 2020-06-27 +:sha1: b0407856e24e04126734a176f171afc7274ae2f4 **New Features** -- 2.16.6