Open Platform for Network Functions Virtualization (OPNFV) is collaborative open source platform which facilitates the development and evolution of various open source ecosystems through system level integration, deployment and testing. Cross Community Continuous Integration (XCI) is an OPNFV project that regularly integrates the latest from each supported branch of select upstream projects. In this session, I’m going to give an overview of the XCI project, how this project meet DevOps principles, explain its general workflow and share some challenges of consuming rapidly evolving open source projects.
2. Agenda
• Problem statement
• CI/CD principles & practices
• Proposal
• XCI definition and goals
• Main Components
• Workflow
• Features
6. OPNFV - Problem statement
• Late integration – Takes months
for a feature/fix to be available
• Slow feedback – Takes months
to know if a feature/fix works
• Lack of visibility – Not easy to
see the current state
• Too fragmented – Many ways to
do the same thing
7. CI/CD Principles & Practices
• Fail fast, Fix fast
• Always have a working software
• Small and frequent commits
• Reduce the complexity
• Test early and often
• Avoid surprises
9. Cross Community (XCI)
• It’s an additional OPNFV service that
enables
• Early integration – Works with master
• Faster and tailored feedback
• Reuse – Use of upstream tooling
• Better visibility.
• It aims to bring Continuous Delivery to
OPNFV
• Ensure composed platforms always work
15. Features – part 2
• Multiple Scenarios
• Kubernetes without SDN Controller (k8-nosdn-nofeature)
• OpenStack without SDN Controller (os-nosdn-nofeature)
• OpenStack with OpenDaylight Controller (os-odl-nofeature)
16. Features – part 3
Flavor
Number of VM
Nodes
VM Specs Per
Node
Time Estimates
Mini
3 VM Nodes
1 deployment
node
1 controller node
1 compute node
vCPUs: 6
RAM: 12GB
Disk: 80GB
NICs: 1
Provisioning: 12
mins
Deployment: 65
mins
Total: 77 mins
No HA
4 VM Nodes
1 deployment
node
1 controller node
2 compute nodes
vCPUs: 6
RAM: 12GB
Disk: 80GB
NICs: 1
Provisioning: 12
mins
Deployment: 70
mins
Total: 82 mins
HA
6 VM Nodes
1 deployment
node
3 controller
nodes
2 compute nodes
vCPUs: 6
RAM: 12GB
Disk: 80GB
NICs: 1
Provisioning: 15
mins
Deployment: 105
mins
Total: 120 mins