At a high level, the current OPNFV CI pipeline can be summarized as follows:

Similar documents
OPNFV overview and Edge Cloud

Introducing Open Platform for NFV. Please direct any questions to

Telco Perceptions of OPNFV. Roz Roseboro, Senior Analyst, Heavy Reading

System Integration and Testing Project Proposal

Infrastructure-as-Code and CI Infrastructure at Open Stack A look at one of the largest CI systems and system administration

Marc Hornbeek DevOps-the-Gray Principal DevOps Consultant, Trace3 Author, DevOps Test Engineering Course The DevOps Institute

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

PAVING THE WAY TO OPEN SOURCE NFV. A Linux Foundation Collaborative Project

WHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction

OPEN-O DevOps Practice with Automation Toolchain

OPNFV Release Notes for the Arno SR1 release of OPNFV when using Foreman as a deployment tool

ONAP Release Planning

I keep hearing about DevOps What is it?

Jenkins: A complete solution. From Continuous Integration to Continuous Delivery For HSBC

NetDevOps. Building New Culture around Infrastructure as Code and Automation. Tom Davies Sr. Manager,

Continuous Integration / Continuous Testing

TM DevOps Use Case. 2017TechMinfy All Rights Reserved

Introduction to Cisco and Intel NFV Quick Start

SDN VPN user guide. Release draft (fd6f067) OPNFV

OTC Tools Development and Release process. Igor Stoppa & Eduard Bartosh & JF Ding V May 2013

#jenkinsconf. Managing jenkins with multiple components project. Jenkins User Conference Israel. Presenter Name Ohad Basan

STATE OF NFV AND OPNFV: AN UPDATE

ONAP Developer Typical Setup 2017 July ONAP Virtual Developers Event

ITIL isn t evil Most people who implement it are

Open Source Networking Software Case studies and Roundtable. Arpit Joshipura GM, Networking

Code Review for DevOps

Building a compliance program based on Open Source Georg Kunz

Continuous Integration and Delivery with Spinnaker

The OpenStack Project Continuous Integration System. Elizabeth K.

Clover Overview: Gambia release. April 16, 2018

OpenStack and OpenDaylight, the Evolving Relationship in Cloud Networking Charles Eckel, Open Source Developer Evangelist

OpenStack Enabling DevOps Shannon McFarland CCIE #5245 Distinguished DEVNET-1104

A DEVOPS STATE OF MIND. Chris Van Tuin Chief Technologist, West

Test Automation Strategies in Continuous Delivery. Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions

"Charting the Course... H8Q14S HPE Helion OpenStack. Course Summary

How to Take the CI/CD Plunge

Change-sets. Basavaraj Karadakal

IBM Cloud for VMware Solutions vrealize Automation 7.2 Chef Integration

Getting Started with Contributing to OpenStack An Introductory Crash Course on OpenStack Development

Understanding the Open Source Development Model. » The Linux Foundation. November 2011

Introduction to OpenStack

How Can Testing Teams Play a Key Role in DevOps Adoption?

Leveraging OPNFV test tools beyond the NFV domain. Georg Kunz, Emma Foley & the OPNFV testing community

Managing The Digital Network Workforce Transformation

Teaching Elephants to Dance (and Fly!)

Accelerate OpenStack* Together. * OpenStack is a registered trademark of the OpenStack Foundation

Akraino & Starlingx: A Technical Overview

The Automatic On-boarding System Used in China Mobile's NFV/SDN Network

Will your application be secure enough when Robots produce code for you?

Open Source Community Extends Virtual Central Office to Mobile Use Case

Strengthen and Scale security using DevSecOps

TM DevOps Use Case TechMinfy All Rights Reserved

DevOps Agility in the Evolving Cloud Services Landscape

Tools for Distributed, Open Source Systems Administration

Research Faculty Summit Systems Fueling future disruptions

Upcoming Services in OpenStack Rohit Agarwalla, Technical DEVNET-1102

Orchestrating the Continuous Delivery Process

What is Dell EMC Cloud for Microsoft Azure Stack?

Seven Habits of Highly Effective Jenkins Users. Andrew Bayer Cloudera OSCON Java 2011

Team Up: Contributing to the Tizen Platform. Narasimha Swamy Sanjay NM

Go Faster: Containers, Platforms and the Path to Better Software Development (Including Live Demo)

Build Cloud like Rackspace with OpenStack Ansible

Empowering Developers to Take Flight Continuous Integration at Gogo

OSA 201: Deep dive into deploying OpenStack with OSA

TM DevOps Use Case. 2017TechMinfy All Rights Reserved

James Won-Ki Hong. Distributed Processing & Network Management Lab. Dept. of Computer Science and Engineering POSTECH, Korea.

Deployment Case Study of SDN and NFV Transformation. Marcela Blanco-Luna Solutions Architect Advanced Services

vpp-firstcut Documentation

Roles and Responsibilities of Maintainers

CONTINUOUS DELIVERY WITH DC/OS AND JENKINS

DevNet Workshop-Hands-on with CloudCenter and Jenkins

Delivering Red Hat OpenShift at Ease on Red Hat OpenStack and RHV

Open Source Networking & LFN. Arpit Joshipura GM, Linux Foundation

A DEVOPS STATE OF MIND. Chris Van Tuin Chief Technologist, West

FROM VSTS TO AZURE DEVOPS

Reference Platform Design for Edge Cloud

Security as Code: The Time is Now. Dave Shackleford Founder, Voodoo Security Sr. Instructor, SANS

Jenkins User Conference Israel. #jenkinsconf. CI / Liveperson. Gidi Samuels. July 16, #jenkinsconf

CLOUD WORKLOAD SECURITY

The Seven Steps to Implement DataOps

DevOps Course Content

Radisys* and Intel Deliver Agile and Flexible Rack-Scale NFV Infrastructure for. Communications Service Providers

DEPLOYING NFV: BEST PRACTICES

The New Intelligent Edge Akraino Edge Stack Project Overview

Accelerate at DevOps Speed With Openshift v3. Alessandro Vozza & Samuel Terburg Red Hat

Jumpstart your Production OpenStack Deployment with

Multi-Arch Layered Image Build System

Using Digital Rebar to Create Composable Infrastructure Operations for Site Reliability Engineers

Taming your heterogeneous cloud with Red Hat OpenShift Container Platform.

Engaging Academia in ONAP Perspective of a Faculty Member at SMU Ali Shah PhD Adjunct Professor

SDN and NFV as expressions of a systemic trend «integrating» Cloud, Networks and Terminals

Akraino & Starlingx: a technical overview

Release for Lithium. George Zhao, Ed Warnicke, Colin Dixon, Mathieu Lemey, Robert Varga, An Ho.

How to Build an Appium Continuous Testing Pipeline

CDN SaaS aligned to NFV

ETOOMANYCATS. How we produce OpenStack

Continuous integration & continuous delivery. COSC345 Software Engineering

Organising benchmarking LLVM-based compiler: Arm experience

DevOps CICD for VNF a NetOps Approach

Cloud Essentials for Architects using OpenStack

Transcription:

Cross Community Continuous Integration (XCI) Empowers Innovation by Increasing Collaboration Between and Upstream Communities With XCI, regularly integrates the latest from each supported branch of select upstream projects, slashing the time to implement new features and address bugs from months to days. A Linux Foundation Collaborative Project

The project has embraced the DevOps development model by building a sophisticated continuous integration (CI) pipeline. Until now, has integrated the latest major release of upstream projects such as OpenStack, OpenDaylight, FD.io and others. Major releases of these projects can be on a multi-month cadence, for instance six months. Waiting this long for integration is sub-optimal since it delays how quickly community members can access the latest upstream innovations; and it also delays how quickly upstream communities can get valuable feedback from testing. The XCI initiative solves this problem by regular integration and testing of the latest software versions from several upstream projects. XCI is needed to address the complex testing challenges in. From stress, to robustness, resiliency, VNF on-boarding and end-to-end testing, XCI is now a part of 's DNA and allows us to test as closely as possible from upstream to provide realistic Telco grade feedback, including orchestration." - MORGAN RICHOMME, NFV ARCHITECT, ORANGE

THE CHALLENGE A recent survey of Communications Service Providers (CSPs) indicates that 80% of those surveyed feel that the DevOps software development model (DevOps) is essential or important to NFV success. The top DevOps engagement activities were evaluating DevOps toolchains, and automating and testing infrastructure. DevOps from the perspective means a cultural and mindset change where development, release, and operations teams work together in concert by applying CI/ CD principles, automation, and practices to develop, test, deploy and monitor software systems. The process part of DevOps, also known as continuous integration/continuous deployment, or CI/CD, is something has been working towards since the inception of the project. s CI pipeline allows the community to benefit from a DevOps approach where users get quick access to new features, developers get rapid feedback, and the overall software stack undergoes a large number of incremental changes as opposed to few dramatic changes every few months. At a high level, the current CI pipeline can be summarized as follows: 1. The project pulls the most recent major releases of upstream projects. For example, in the case of OpenStack, this would be the most recent six-monthly release; e.g., Danube integrates the OpenStack Newton release. 2. For patches sent to Gerrit for review, there are various verification jobs that run against the patch to provide feedback to submitters and reviewers. 3. Automated deployment occurs in a variety of environments across multiple hardware platforms via the Pharos project. The CI pipeline currently integrates and installs (by invoking different installers) different combinations of stack components, projects and configurations, called scenarios, on a daily basis and executes a smoke test on each scenario. Next, additional automated tests of increasing complexity are executed against the scenario. 3

The below diagram summarizes these three flows: Latest Stable Upstream Pull Into Local Repo New Patch Health Check (Verify) Pass Merge Artifact Repo Daily Smoke Test Daily Feature Test Daily Component Test Additional Tests Simplified View of the CI Pipeline While the pipeline is quite advanced, it can always be improved. One major challenge with the existing approach is that the upstream project code is not current. The below diagram shows how upstream projects are integrated into today and how it impedes the community s progress. 1 Master 5 -critical bugfix backport Candidate Community 2 Stable branch bugfix backport Post Community +1 6 Upstream Project Pulled into 3 Pulled into 7 4 8 Post 1. New feature committed upstream 5. If the feature needs a bug fix, new patch committed upstream +0 months 2. Feature appears in upstream release +1-6 months 6. Fix appears in next upstream release +1-6 months 3. Feature appears in repo +2 months 7. Fix pulled into repo +2 months 4. Feature appears in release +4 months 8. Fix appears in next release +4 months Upstream Project Integration and Impact (Durations as estimates) 4

Let us walk through a few situations of how the current integration approach is limiting: A. A Proof of Concept (PoC) lab wants to try out a new upstream feature: Per the above diagram, once a developer commits the code, it could take 3-8 months before the feature appears in the repository. It is roughly an additional 4 months for the feature to appear in an major release; the total time elapsed being 7-12 months. In the case of OpenStack, hypothetically, a patch merged for the Newton release in late March or early April of 2016 would have shown up in Danube on April 4, 2017. B. A new upstream feature has a bug, and an user wants to submit a fix, and then try out a fixed version: As you see, this will take 3-8 months for the community to try out the new feature and find the bug. Then it might take an additional 5-10 months for the fix to appear in the next upstream release which then propagates to the next release over six months. So for a new feature to be developed, debugged, and to finally appear in an release could take 14-24 months from initial development. Clearly, these delays are detrimental to the community s goal of rapid integration, validation, and verification. XCI aims to re-engineer the status quo. 5

THE SOLUTION The XCI initiative integrates the latest from all supported branches of select upstream projects on a periodic basis instead of waiting for a major release. The initiative will start with regular integration of OpenStack, OpenDaylight 1 (ODL) SDN controller and the FD.io virtual switch. The below diagram shows how this works: Upstream Project (e.g. OpenStack) Upstream contribution by contributor Upstream Gerrit Pass Upstream Git Regularly Pinned Git Regular CI Testing +1/-1 Health Check (Verify) XCI Integration Tasks 1 In reality, an XCI approach with ODL has been in the works for some time, but it is now being improved and formalized. 6

XCI involves two primary integration and testing tasks: 1. For patches submitted upstream by community members, XCI will run verification job(s) depending on the project and the patch, providing feedback to the upstream community Gerrit in the form of +1/-1. 2. XCI will use the latest from all supported branches on a regular basis (e.g. daily), integrate and install them into scenarios, and perform regular CI testing against those scenarios. This approach solves key problems identified above: 1. Upstream changes can now be utilized by very quickly; e.g. daily. 2. Feedback can now be provided rapidly, again say daily. A feature development or bug fix cycle can now be compressed from months to just days. 7

XCI UNDER THE HOOD XCI utilizes most of the current tools from the RelEng and Pharos projects. Additionally, XCI uses two OpenStack infrastructure tools: Bifrost and OpenStack- Ansible (OSA) for the purposes of provisioning nodes and installing different scenarios built from the latest supported branches of OpenStack, ODL and FD.io: Bifrost: Bifrost is an OpenStack project for bare-metal provisioning of server nodes. It builds on the OpenStack Ironic project, except that it is used independently of other OpenStack services. The project provides a set of Ansible playbooks that deploy a base image onto bare metal hardware in an automated fashion. OpenStack-Ansible: OSA, also an OpenStack project, uses Ansible to deploy an OpenStack environment on a provisioned node. The project creates Ansible playbooks to deploy core and optional OpenStack services. OSA is used to install different scenarios with ODL and FD.io. With the above tools, XCI will support three base operating systems: Ubuntu 16.04, CentOS 7 and OpenSUSE 42.2. As a side technical note, the XCI initiative has additional complexity: since Bifrost and OSA are actually OpenStack projects, they have to be pinned and tested on a regular basis too, since an older version may not be able to deploy the latest code. So you have CI of the tooling along with CI of the software it installs. 8

XCI DEVELOPER SANDBOX In addition to the automated flows above, developers may want to locally develop and test based on the latest versions of the upstream projects. The XCI Sandbox allows developers to set up a scenario with the latest upstream code or code developed locally by them. Moreover, XCI Sandbox allows developers to do so on a single node, even a laptop. It does not require a full Pharos POD. Specifically, XCI Sandbox: Provides an automated way to set up a development and test environment Offers different flavors of environments Allows different versions of upstream components Allows a mechanism to enable or disable additional OpenStack or other upstream project services Currently, the sandbox has four different flavors available (xci-aio, xci-mini, xci-noha, xci-ha) that consume from 1 VM to 6 VMs with increasing hardware requirements. As an example, the xci-ha flavor is the most resource-hungry and requires 8 vcpus, 16GB RAM and 80GB of disk per VM, and it takes 2 hours and 10 minutes to install. In summary, the XCI initiative extends the continuous aspect of the CI pipeline to upstream projects. While the initial upstream projects XCI will integrate are OpenStack, ODL and FD.io, in the future, the efforts will also be extended to other upstream projects such as ONAP. 9

REFERENCES XCI wiki page: wiki.opnfv.org/pages/viewpage.action?pageid=8687635 XCI developer sandbox: wiki.opnfv.org/display/inf/xci+developer+sandbox Ansible information: ansible.com Pharos wiki page: wiki.opnfv.org/display/pharos/pharos+home OpenStack Bifrost information: docs.openstack.org/developer/bifrost OpenStack Ansible information: docs.openstack.org/developer/openstack-ansible XCI YouTube Video: https://www.youtube.com/watch?v=0x8nmvf48dm&t=1s 10