Parallel Session Integration

Purpose

This template is to be used for the “Parallel Deep Dive Sessions to Align with architecture / Use cases” at the may ONAP developers event

Instructions.

The purpose of each section is to translate the use cases and functional architecture into specific identified needs for the components, and to identify potential projects to be proposed.  There are three parts to this exercise:

  1. Identify needs based on the use case and architecture on this module, and potential dependencies on other modules or external artifacts.

  2. Group these into projects.  Consider that coding, documentation, and testing is required.   Include an initial scope for the project.

  3. If time, mapping the needs into the projects.

The need identification table has the following columns

-          Identified need: <slogan for the identified need>

-          Brief need description: <a few sentences describing the need>

-          Driver:<Related use case or architecture change, if any>

-          Dependencies:<identify dependencies on other modules or artifacts (e.g. other onap module, models, …)

-          Project: <If time, after the projects are identified, suggest in which project the need would best fit>

Time keeping suggestion:  The exercise time is 45 minutes.  A good practice would be to split into 20 minutes on need identification and 20 minutes on project proposals.

Exercise output.

ONAP Meeting Session name: integration

Need Identification:

Identified Need

Description

Driver

Dependencies

Project fit
(if time)

Test

•Code and tools for automatic system testing and continuous integration test flows across ONAP projects

•Common guidelines, templates, and best practices to help project developers to write unit and system test code

•Framework and tools for security testing

robot test suites executed. Consumer driven/broker driven testing framework

•Automate the building artifacts/binaries to minimize human errors and reduce engineering costs

•Ensure that changes in one project will not break the functionality of other projects

•Assure that the entire ONAP project/product functions correctly in the case of continual change in subprojects

•Ensure consistency in unit and system testing methodology across all the ONAP projects

•Capture security issues

Robot Framework, Project Specific Contributions of Tests

integration

CI Builder

•Scripts and definitions for build pipelines and CI jobs in Jenkins, as well as for VM and docker images required for CI tests

•Required to support the executing of CI jobs (e.g. for Jenkins)

Jenkins

integration

Autorelease

•Scripts to build the artifacts/binaries (e.g. zip/targz files) that are used in the release candidates and final release from scratch

•Detect cyclical dependencies

•Generate release candidates and final release

•It generates dependency lists / graph automatically

Jenkins

integration

Distribution

•Scripts to be used by the end user for setup and execution of the ONAP project modules

•Default/sample configuration files, README files

•Ease of industry adoption of ONAP by providing scripts and other information for setup/installation/configuration



integration

Packaging

•Scripts and package definitions for deb, RPM, etc. installer packages for various Linux or other OS distributions

•Sample VM or docker images

•An industry standard installer could help anyone to try out ONAP easier

•Industry adaption

Jenkins, Nexus

integration

 S3P

•Test cases for performance, scalability, resilience/stress testing, longevity

•Benchmarking and performance whitepapers

•Define standard S3P testing metrics

•Provide and publish benchmarking results

Jenkins,

integration

Infrastructure Specification

•Develop the specifications for the “ONAP compliant” deployment and test environment

•Assist the planning and procurement of the necessary hardware and infrastructure for setting up ONAP environments



integration

Bootstrap



•A framework to automatically install and test a set of base infrastructure components for new developer

•Reduce the barrier of entry to allow new ONAP developers to ramp up onto active development quickly

•Reduce the cost to the community in responding to simple environment setup questions faced by new developers



integration

VF Compliant and Verification Testing

•Create automatic test cases and script for VF testing

•Perform VF compliant testing and verification using tools provided by ONAP

•Delivery the testing reports and whitepaper

•Assist define the testing metrics

•Reduce adoption risks for end-users

Jenkins, Labs

integration

Community Integration Lab

•Scripts and definitions for setting up a POC sample deployment of use cases in lab settings

•Provisioning, installation, and setup of all the telco equipment such as switches, routers, and gateways to enable end to end testing

•Allow remote access to the lab environment for interoperability testing

•Automatic updates of code in lab environment from future releases

•Support the needs of consistent, reproducible lab setup for demo and POC purposes

•Promote easy interoperability testing with different hardware devices, SDN controllers, etc.

•Automate the process of keeping the lab code up to date with the latest changes

Labs

integration

Template

Templates for test suites





integration



Project proposals.

Project 1:

Project ID: integration

Project Name: System Integration and Testing

Project Description:

  • Responsible for ONAP cross-projects system integration and all related testing, such as VNF compliant & verification testing, necessary for the successful delivery and industry adaption of the ONAP project as a whole.   Provide integration tools and processes for CI/CD of source master and release branches.  Consolidation of common test suites.

  • Test

  • CI Builder

  • Autorelease

  • Distribution

  • Packaging

  • S3P

  • Infrastruture Specification

  • Bootstrap

  • VF Compliant and Verification Testing

  • Community Integration Lab

  • Test Templates

Scope:

  • Provides all the cross-project infrastructure framework and DevOp toolchain, code and scripts, best practice guidance and benchmark, testing reports and white paper related to:

    • Cross projects Continuous System Integration Testing (CSIT)

    • VNF compliant and verification testing leveraging ONAP projects

    • Release delivering of the ONAP project

    • PoC: building and maintenance community integration labs

    • Continuous Distribution (CD) to ONAP community integration labs

Other:

-          Leveraging existing set up already in ONAP/ECOMP and OPEN-O





Meeting Notes:

#info helen says presents Slidedeck: System Integration and Testing

#info helen says integration team is a helper project.  Not have authority to be gatekeeper.

#info helen says we use nexus, docker, slack, bitgeria, swagger, etc.

#info helen says for open-o, created many test cases

#info helen says we use test suites robot framework

#info helen shares jenkins job flow

#info danials says this looks like they are complimentary to existing in ECOMP/ONAP with end-to-end testing

#info helen says that for each project, they will create their own CSIT test suite 

#question will there be docker level test?  Looking at the docker logs?

  • We have the base infrastructure for it.  We do not scan the logs for strings.  The robot test framework will check against the signature of the api call.

#question Will there be dynamic testing?

  • We trigger unit level testing triggered automatically by Jenkins at build time

#question In the microservice, the broker based testing is getting more popular.

  • consumer driven, broker driven

#question who builds the test?

  • The developer will write the test and the integration team provides the framework, but it will be up to individual projects

#question do we test both expected and unexpected inputs?

  • We should test both.

#question can we consider a consolidation of the test?

  • That's the goal of the common integration.

#question do we have a way to leverage localize test environments?

  • Requires additional work with LF

#question Can we have test templates?

  • Yes

#question We need a project to address security concerns?

  • The TSC needs to own that and create a committee for that



Presentations

System Integration and Testing.pdf