5th workshop ci presen v19 æ å º - openairinterface€¦ · 20/6/2018 · iru 58 5$8 6sulqw...
TRANSCRIPT
5th OAI Workshop
Improvement of OAI community value by Continuous Integration
22nd June 2018Yoshio INOUE, FUJITSU Limited
0 Copyright 2018 FUJITSU LIMITED
FUJITSU Activity Aug. 2017-2017 2018
Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun
Continuous Integration(CI)framework development
Development
Sprint#1for RU-RAU
Sprint#3- TDD
configuration 1
Sprint#1- add to RRCMessages- O&M
Sprint#2- Multi Ues, - O&M- eNB Operational data collector
ExperimentEvaluation in anechoic chamber
(FDD&TDD)
FieldExperiment(FDD)
And Future aims...
Scope in this talk
introduced for development & Experiment
1
2
3
Copyright 2018 FUJITSU LIMITED1
Things to be done with CI during the last one month (20th Apr – 19th May)
More than 72 hours Continuous Operation
Fixed the Assertion incidents. eNB : 100 points, EPC : 50 points
Achievement of FUJITSU by CI
FDD TDD (Config1)
Frequency / Bandwidth Band3(1.7GHz) / 5MHz Band39(2.6GHz) / 5, 10, 20MHz
DL throughput 15Mbps@5MHz 27Mbps@20MHz
UL throughput 5Mbps@5MHz 10Mbps@20MHz
Num. of UEs 10 COTS UEs 5 COTS UEs64UEs, FUJITSU original simulator
Verification environment Indoor field Anechoic chamber
8,143
77,440
4,983
23,770
22010,000 20,000 30,000 40,000 50,000 60,000 70,000 80,000
Run eNB & EPC ping
iperf
Repetitive Attach / Detach
UE Reboot
Copyright 2018 FUJITSU LIMITED2
What is CI (Continuous Integration)?
Quality managementfor repeatedly execute the cycle of software development(such as build, testing, deploying) frequently and quickly
Using CI tools(Automation tools)
1. Prevent being personalized
2. Early detection of disability
3. Status visualization
4. Stabilization of qualityGit Repository
Developer
Compile & testing
Test Results
Sharing results
CI
CI tools
Copyright 2018 FUJITSU LIMITED3
Why CI?
Code Quality Improvement Immediately tested when
MergeRequest in gitlab•No more degradation
•Easy to determine the cause
•Short debugging time (Reduce time cost)
Always tested by nightly automatic test•Short term tests again and again (dig up hidden low % bugs)
•Long term tests to ensure stability
Probably the expectation for OAI getsslightly higher than before…
CarrierGrade
Field TestGrade
Experiment / PoCGrade
ProbablyWe Are Here
Time to find and fix bugs
Cost
of C
hang
e
Fast Failure(Easy to fix)
●
●
Copyright 2018 FUJITSU LIMITED4
Current status
Establishment of Automatic testing framework by Jenkins
Building the framework in Eurecom
Copyright 2018 FUJITSU LIMITED5
Steps to improve the value of OAI
Start CI in OAI development (ASAP)Step1
Test minimum items automatically Introduce Static Analysis tool(Coverity Scan)
Step2 Release 1st features list
Update features list by adding test itemsStep3
We should stand here soon.Users are expecting!!
Keep growing with source code
We are Here
Add testable features by all developers
Reinforce master branch
Copyright 2018 FUJITSU LIMITED6
Reinforce master branch
Release 1st features list
Add testable features by all developers
We are Here
Steps to improve the value of OAI
Step2
Update features list by adding test itemsStep3
We should stand here early.Users are expecting!!
Keep growing with source code
Start CI in OAI development (ASAP)Step1
Test minimum items automatically Introduce Static Analysis tool(Coverity Scan)
Copyright 2018 FUJITSU LIMITED7
Step1-1 Test minimum items automatically
The first thing users want to see is connection with Other nodes
“Interoperability test with OAI-EPC & COTS-UE” was prepared in CITest items Deploy OAI-eNB & OAI-EPC to the specified server FDD & TDD config1 Bandwidth 5MHz/10MHz/20MHz Repeat Attach & Detach with COTS-UE Ping, UDP iperf(Downlink, Uplink) Log Collection & Simple log check
Configuration example
Ether
OAI-eNB
Ether
OAI-EPCMME / SP-GW / HSS
ADBAndroid Debug Bridge
Jenkins
GitLab
networkUSRP X310
Coaxial
USB
COTS-UEFUJITSU Arrows Series
Ether
Copyright 2018 FUJITSU LIMITED8
Step1-1 Evaluated features by Minimum testing
FDD / TDD Config 1/2/3Duplex mode
5MHz / 10MHz / 20MHzBandwidth
TM1 / TM2(Stable) / TM3 / TM4 / TM5 / TM6 / TM7Transmission Mode
2 / 1Num of Antenna
Verified Verified Verified
Verified
PSS / SSS / PBCH / PCFICH / PHICH / PDCCHDownlink ChannelVerified Verified Verified Verified Verified Verified
PRACH / PUSCH / PUCCH (format 1/1a/1b) / SRS / DRSUplink ChannelVerified Verified Verified
5MHz : 16~17Mbps (w/ COTS UE Cat 3/4)
Downlink Throughput10MHz : 34~35Mbps (w/ COTS UE Cat 3/4)
Verified
5MHz : 8Mbps (w/ COTS UE Cat 3/4)
Uplink Throughput10MHz : 15Mbps (w/ COTS UE Cat 3/4)
Verified
OFDMA (DL) / SC-FDMA (UL)Access schemeVerified Verified
QPSK / 16QAM / 64QAMModulationVerified Verified Verified
Verified
Connection / Paging / Release / Re-establishmentMobile terminal ControlVerified Verified
Verified
Verified
Verified
Verified
Copyright 2018 FUJITSU LIMITED9
What is Static Code Analysis tool?Mechanically point out errors and vulnerabilities(e.g. Memory leak)
Why Static Code Analysis? For stability, detect bugs that can’t be detected by short-time dynamic test
Why Coverity Scan? No.1 share in US and Japan The false detection rate is less than 15%, the Pointing outs are almost bugs It is free to use for OSS
Coverity Scan’s result of OAI-RANURL : https://scan.coverity.com/projects/openairinterface5gThe Pointing outs should be fixed.
Step1-2 Introduce Static Analysis tool
Copyright 2018 FUJITSU LIMITED10
Add testable features by all developers
We are Here
Test minimum items automatically Introduce Static Analysis tool(Coverity Scan)
Start CI in OAI development (ASAP)
Steps to improve the value of OAI
Update features list by adding test itemsStep3
Keep growing with source code
Step1
Step2
We should stand here early.Users are expecting!!
Reinforce master branch
Release 1st features list
Copyright 2018 FUJITSU LIMITED11
What is important to users?
1. Is source code working?
2. What are the working features?
3. Is the community working?
How do users evaluate above?
They look at Master branch only.
We should cherish Master branch.
Copyright 2018 FUJITSU LIMITED12
1st features list?
FDD / TDD Config 1/2/3Duplex mode
5MHz / 10MHz / 20MHzBandwidth
TM1 / TM2(Stable) / TM3 / TM4 / TM5 / TM6 / TM7Transmission Mode
2 / 1Num of Antenna
Verified Verified Verified
Verified
PSS / SSS / PBCH / PCFICH / PHICH / PDCCHDownlink ChannelVerified Verified Verified Verified Verified Verified
PRACH / PUSCH / PUCCH (format 1/1a/1b) / SRS / DRSUplink ChannelVerified Verified Verified
5MHz : 16~17Mbps (w/ COTS UE Cat 3/4)
Downlink Throughput10MHz : 34~35Mbps (w/ COTS UE Cat 3/4)
Verified
5MHz : 8Mbps (w/ COTS UE Cat 3/4)
Uplink Throughput10MHz : 15Mbps (w/ COTS UE Cat 3/4)
Verified
OFDMA (DL) / SC-FDMA (UL)Access schemeVerified Verified
QPSK / 16QAM / 64QAMModulationVerified Verified Verified
Verified
Connection / Paging / Release / Re-establishmentMobile terminal ControlVerified Verified
Verified
Verified
Verified
Verified
Copyright 2018 FUJITSU LIMITED13
Reinforce master branch
We are Here
Test minimum items automatically Introduce Static Analysis tool(Coverity Scan)
Step2 Release 1st features list
Start CI in OAI development (ASAP)
Steps to improve the value of OAI
We should stand here early.Users are expecting!!
Keep growing with source code
Step1
Update Master branch and features listStep3
Add testable features by all developers
Copyright 2018 FUJITSU LIMITED14
Change to testable from implemented
Implemented
By making it always testable, the features becomes OAI value.
Tested & Testable
TESTCODE
Source : Eurecom 3rd & 4th OAI workshop
presentation doc.
Copyright 2018 FUJITSU LIMITED15
Challenges
Update our workflow How to validate NEW features? How to merge tests for existing and new features into CI test suite?
How to manage Master branch?
Copyright 2018 FUJITSU LIMITED16
Copyright 2018 FUJITSU LIMITED