Top Banner
“The DNA of OPNFV” Frank Brockners Distinguished Engineer, Cisco
33

The DNA of OPNFV

Feb 21, 2017

Download

Technology

Frank Brockners
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The DNA of OPNFV

“The DNA of OPNFV”

Frank Brockners

Distinguished Engineer, Cisco

Page 2: The DNA of OPNFV

Composing a Platform for NFV

Enhancements

Additions

Page 3: The DNA of OPNFV

OPNFV –

Systems Integration as an open community effort.

Page 4: The DNA of OPNFV

Serving different Audiences – RUN, TEST, CREATE

End-User Developerin active Upstream

Projects

Does my newpatch work at NFV-I

system level?

Developerof new features not

yet in Upstream(NFV specific

requirements)

How can I get my patches integrated/ accepted

(OPNFV and Upstream)?

Systems-Integrator/Tester

Could I get a tested foundation that avoids me

re-starting all test-work with every new release?

Could I get a NFV-I foundation with common

UX to run any VNF on?

Page 5: The DNA of OPNFV

Deployable NFV-Infrastructure

with a common User-Experience

to run VNFs

Page 6: The DNA of OPNFV

Towards a Common User Experience

Tools

Components

MyVNF

“Black Box NFV-Infra”

Theme: “Run my VNF for real” Assemble a set of infrastructure to enable real-world VNF deployments

• Predictable performance –Deploy to bare metal

• Validated –Functional testing, multiple test environments

• Repeatable –Automatic deployment

• Carrier-class –High availability

Hardware

Page 7: The DNA of OPNFV

Clear-cut components: “This is the Unix philosophy:

Write programs that do one thing and do it well. Write

programs to work together.” Build with lego-blocks instead

of using clay.

Doug McIlroy

Focus: “Do One Thing And Do It Well – DOTADIW”

Page 8: The DNA of OPNFV

Arno Release: Bottom’s Up Approach to UX: Components Driven

Do One Thing And Do It Well - DOTADIW

Fixed Set of Hardware Fixed Set of Components(“consume upstream”)

(Mostly) Fixed Set of Tools

6 Servers>= 3 Control nodes, >= 2 Compute nodes, 1 Provisioning node (“jumphost”) (Centos 7, runs test infra and installer VM)

Reference lab hosted by the Linux FoundationBlade servers with 80G connectivity each (Cisco UCS-B), CIMC management

TestTempest, Rally, Robot

InstallOption: Either Fuel, or Foreman/Quickstack

ComputeO/S Nova, KVM

StorageO/S Glance, O/S Cinder

NetworkOpenDaylight, OVS

InfraRabbitMQ, Corosync, Pacemaker, MySQL

See also: https://wiki.opnfv.org/get_started/get_started_system_state

Page 9: The DNA of OPNFV

• Component-selection drives

Platform Defintion

• Enhanced UX achieved through

different composition of

components

– Virtual deployments (using nested

virtualization – 1 server)

– Simple deployments

(no HA – 4 servers)

– Deployments with HA (6 servers)

Arno Service Release 1 (SR1)

... follows the same bottoms-up approach

FlexibilizedMinor version

updatesMinor version

updates & fixes

Arno SR1 improves Arno while keepingthe platform composition approach

Page 10: The DNA of OPNFV

Example:

Create a testing environment

https://wiki.opnfv.org/get_started_experiment1

Example of a deployment tool (Foreman/Quickstack):

Deployment tools are a composition of tools and

scripts/manifests

• Vagrant - Create and configure lightweight, reproducible, and portable

development environments.

• VirtualBox - A "hosted" hypervisor used to host the Foreman node.

• Khaleesi - An Ansible framework responsible kicking off builds and

tests

• Foreman - A bare-metal/virtual host management tool

• OPNFV/Genesis - Puppet modules for invoking QuickStack

• QuickStack - Puppet modules for installing/configuring OpenStack +

OpenDaylight

• OpenStack Puppet Modules (OPM) - Used to install OpenStack

• OpenDaylight Puppet Module - Used to install OpenDaylight

Page 11: The DNA of OPNFV

OPNFV – Number of Projects – When Arno was released

0

5

10

15

20

25

30

35

40

45

50

25-Nov-14 25-Dec-14 25-Jan-15 25-Feb-15 25-Mar-15 25-Apr-15 25-May-15 25-Jun-15 25-Jul-15 25-Aug-15

Total Release 1

June 4th, 2015: 28 Projects in total in OPNFV5 Projects participated in Arno

Arno

Page 12: The DNA of OPNFV

OPNFV – Number of Projects – As of Oct 12th, 2015

0

5

10

15

20

25

30

35

40

45

50

25-Nov-14 25-Dec-14 25-Jan-15 25-Feb-15 25-Mar-15 25-Apr-15 25-May-15 25-Jun-15 25-Jul-15 25-Aug-15

Total Release 2 Release 1

47 Project in total in OPNFV5 Projects participated in Arno38 Projects plan to participate in Brahmaputra

Arno

Brahmaputra

See also: https://wiki.opnfv.org/releases/brahmaputra/release_plan#participating_projects

Page 13: The DNA of OPNFV

Do one thing and do it well... for the User

Top-down UX definition to complement bottoms-up method

“Define” and “Observe”: Combining…

– “Observer approach” (black box: test driven definition) with

– “System level requirements” (white box: requirements and building-block driven definition)

Common user-observable behavior achieved through

– Description of user-observable behavior (requirements, common capabilities). Definition of common building blocks. Comparable to a “law”. Example: “System to support IPv6-only transport network”.

– System tests to verify existence of desired user-observable behavior. Comparable to test/check-points/samples that executive powers (“court & police”) do. Testing only observes a portion of the entire system behavior and can never fully describe the entire system behavior: Test samples can be defined to check IPv6 support for a specific set of scenarios.

Rules And Requirements(“Law”)

Tests/Samples(“Law enforcement:

Police/Court)+

Page 14: The DNA of OPNFV

Defining a common user-experience for OPNFV:

Tests and Gating Conditions

Common UX definition:Definition of user-observable

system behavior, common system requirements and common building

blocks

Deploy-and

Configtool

A

Deploy-and

Configtool

B

Deploy-and

Configtool

C

Deploy-and

Configtool

Functional Tests

Performance Tests

Component Tests

… Tests

Tests

Hardware definition

Still a meritocracy:Healthy competitionamong deploy toolsto allow merit to win

https://wiki.opnfv.org/testinghttps://wiki.opnfv.org/genesis

Page 15: The DNA of OPNFV

Project Genesis: Consolidate and Harmonize the UX

• Define common requirements that all installer projects have to follow

– For Brahmaputra those are: Apex, Compass4NFV, Fuel, JOID

• Genesis project is a democracy

– All installer projects are equally represented in Genesis

– Majority votes in case there is no consensus

See also: https://wiki.opnfv.org/genesis

Page 16: The DNA of OPNFV

Meritocracy with democratic elements

• OPNFV technical decision making follows standard meritocracy model

• Genesis consolidates requirements for UX across deployment tools: Define a baseline

• Installers can continue to differentiate (not on outcome, but on process like e.g. ease of use, etc.)

– Only baseline “choices” – continue to allow for “choosing” of non-UX impacting capabilities.

– Installers can install different (and eventually competing) components

Page 17: The DNA of OPNFV

Developer of component(s) and

Systems Integrator:

Test components at system level

in a variety of hardware setups

Page 18: The DNA of OPNFV

OPNFV Arno Core Infrastructure

• Arno established the key capabilites for continous deploy and testing

• “Do one thing and do it well”

• Install/Deploy tools & System Definition – Bootstrap/GetStarted

• CI/CD Pipeline – Octopus

• Docs – OPNFVdocs

• Testing - Functest

• Hardware definition - Pharos

Install/Deploy

Docs Function-Test

AutomationCI/CD

PipelineHardware

Page 19: The DNA of OPNFV

Systems Integration And Evolution as a Community Effort

Automatic Deploy and Test – CI/CD Pipeline

Install on reference system(s)

Test on reference system(s)

Lab1Lab2

Lab3

Lab1Lab2

Lab3

Integrate & build*as a system

*OPNFV currently composes builts fromexisting artifacts (e.g. RPMs) ratherthan builds from source

Choice of existing and new components,System state definition

Page 20: The DNA of OPNFV

Synchronize your Tool Chain with OPNFV:

Continuously deploy OPNFV to your lab

• Create an

OPNFV

compliant lab

• Hook-up your

local Jenkins to

OPNFV

• Continuously

deploy to your

lab

Further details: https://www.opnfv.org/sites/opnfv/files/release/opnfv-jenkins-slave-connection.arno.2015.1.0.pdfCurrent Jenkins slaves: https://build.opnfv.org/ci/computer/

OPNFV Jenkins master

Your Lab

Community Lab A

Community Lab ..

Jenkins slaveOPNFV’s slave.jar

Jenkins slaveOPNFV’s slave.jar

Jenkins slaveOPNFV’s slave.jar

Page 21: The DNA of OPNFV

• OPNFV offers a set of community test labs

• Compliant to OPNFV hardware reference spec

• Individual hardware components for

custom/advanced testing

Build your own lab or choose an OPNFV community lab

See also: https://wiki.opnfv.org/pharos

https://www.opnfv.org/sites/opnfv/files/release/pharos-spec.arno.2015.1.0.pdf

Page 22: The DNA of OPNFV

Developer of new/evolved components:

Get components and associated

requirements recognized by Upstream

Projects

Page 23: The DNA of OPNFV

Private Features and Tests in Arno...

... weren’t really in scope

• “Arno consumed Upstream” – OPNFV purely “composed”

• Already Arno release time, there were already a lot of projects

that were working on additional things, and the number

increased since then...

For Brahmaputra, there are a lot of projects which compile

requirements and perform development – focused on upstream...

Page 24: The DNA of OPNFV

OPNFV is very open to new projects...

If your project meet the following, then your project can likely have a life in OPNFV...

• Open Source

• Open Community

• Open Development

• Open Design

• Scope: NFV-I and VIM

Page 25: The DNA of OPNFV

Building/evolving features means contributing upstream

Team Up To Drive Required Change Upstream

Swimming upstreamis hard

Team-up to increasethe likelyhood to succeed

Swimming upstreamis dangerous

Page 26: The DNA of OPNFV

Brahmaputra: Enable Choice

• More infrastructure tool projects (e.g. installers, etc.)

• More test-tools and test projects

• More component projects (e.g. SDN controllers)

• More feature/component evolution projects

0

5

10

15

20

25

30

35

40

Infra Test Feature Component

Page 27: The DNA of OPNFV

OPNFV Brahmaputra

• Core and Context

– Core Infrastructure: Continue to

do-one-thing-and-do-it-well

– Context: Enable Choice

• Add additional components,

enhance individual components

(complement/evolve upstream)

TestCI/CDPipeline

InstallDocs

Hardware

How to deal with choice and an exponentially growing set of combinations while allowing OPNFV to scale horizontally?

Page 28: The DNA of OPNFV

http://www.oxforddictionaries.com/us/definition/learner/subsidiarity

Page 29: The DNA of OPNFV

Enable Choice: Scale OPNFV HorizontallyScale-out approach to new projects - All “well behaving projects” can be integrated

Baseline

Add new tests?

Add newfeatures?

Common Tools, Common User Experience

How to deal with different test scenarios?

Subsidiarity: You want the test! You create the test case! You integrate

the test case into the OPNFV test tools! You make sure that the

hardware to run the additional test cases exist.

How to deal with new components?

Subsidiarity: You want the component! You integrate it into the installers!

You create the associated test cases.

Page 30: The DNA of OPNFV

Subsidiarity: “It is a fundamental principle of social philosophy,

fixed and unchangeable, that one should not withdraw from

individuals and commit to the community what they can

accomplish by their own enterprise and industry.”

Oswald von

Nell-BreuningPope Pius XIPope Leo XIII

Pope Pius XI, Quadragesimo anno, 1931

https://en.wikipedia.org/wiki/Subsidiarity_(Catholicism)

Page 31: The DNA of OPNFV

Focus & ComponentizeDo one thing and do it well

MeritocracyAllow for healthy competition

DemocracyAchieve consistent UX definition

SubsidiarityScale horizontally

OpenCommunity

OpenSource

Open Development

OpenDesign

NFV-I & VIMScope

Continous Systems Integration as an Open Community Effort

Page 32: The DNA of OPNFV

Thank you

Page 33: The DNA of OPNFV

Picture References

• Slide 7:

– Doug McIroy http://www.computerhope.com/people/malcolm_mcilroy.htm

• Slide 25:

– Salmon (left): http://www.johnfarkas.com/Creating_Culture/Blog/Entries/2008/10/10_Blueprint_for_a_Personal_Revolution.html

– Salmon (middle): https://thesalmonlife.wordpress.com/

– Salmon (right): http://paigehunter.com/5-reasons-run-entrepreneur/

• Slide 30:

– Oswald von Nell-Breuning: http://www.rheinische-geschichte.lvr.de/persoenlichkeiten/N/Seiten/OswaldvonNell-Breuning.aspx?print=true

– Pope Leo XIII: http://professorjohnston.com/pope-leo-xiii-on-self-conquest/

– Pope Pius XI: http://wdtprs.com/blog/2012/11/podcazt-133-reparation-for-sin-pius-xis-miserentissimus-redemptor/