January 28 29, 2014San Jose. Engineering Workshop

Similar documents
Petitboot - A kexec based bootloader. Geoff Levand - Linux Plumbers Conference 2012 August 29-31, San Diego, CA

Linux+ Guide to Linux Certification, Third Edition. Chapter 2 Linux Installation and Usage

Travis Cardwell Technical Meeting

Kernel Internals. Course Duration: 5 days. Pre-Requisites : Course Objective: Course Outline

D1S - Embedded Linux with Ac6 System Workbench

Building Applications with IOx

EMBEDDED LINUX ON ARM9 Weekend Workshop

OpenSwitch OPX Installation Guide with Enhancement Package. Release 2.1.0

Installation of Fedora 12 with CD

ovirt Node November 1, 2011 Mike Burns Alan Pevec Perry Myers ovirt Node 1

Managing the Management Switches. Erik Ruiter SURFsara Cumulus Meetup Amsterdam 2017

D-TACQ 2G Programmer's Guide

D1 - Embedded Linux. Building and installing an embedded and real-time Linux platform. Objectives. Course environment.

ovirt Node June 9, 2012 Mike Burns ovirt Node 1

Network booting putting the pieces together

Open Source Facebook. David Hendricks: Firmware Engineer Andrea Barberio: Production Engineer

D1Y - Embedded Linux with Yocto

The (almost completely) Open Source Whitebox Router

Networking Software. ONIE Project Update. Alex Doyle Build Engineer Cumulus Networks

CIT 470: Advanced Network and System Administration. Topics. Workstation Management. Workstations

Poky Linux & OpenEmbedded based environment

ECE 471 Embedded Systems Lecture 12

Oxalis Getting Started

ECE 471 Embedded Systems Lecture 16

Linuxboot continuous integration

ECE 471 Embedded Systems Lecture 16

Display Modules (DL-DM) Application Developer's Guide

Getting Started. System Requirements. Installation

OpenSwitch OPX Installation Guide. Release 2.1.0

Building Debian-Based Products: Experiences in Collaboration

Rapid Bare-Metal Provisioning and Image Management Service. Presenters: Apoorve Mohan Ravi Santosh Gudimetla (Northeastern University)

CloudFleet Documentation

Open Networking Hardware and Software Steven Noble / Big Switch Networks

Zephyr Kernel Installation & Setup Manual

Trellis Introduction. Saurav Das, Charles Chan & Jono Hart. with contributions from many more. CORD Build 2017, San Jose January 14, 2018

From Bare Metal to Cloud


Introduction p. 1 Why Linux? p. 2 Embedded Linux Today p. 3 Open Source and the GPL p. 3 Free Versus Freedom p. 4 Standards and Relevant Bodies p.

INSTALLATION RUNBOOK FOR Netronome Agilio OvS. MOS Version: 8.0 OpenStack Version:

Booting Linux Fast & Fancy. Embedded Linux Conference Europe Cambridge, Robert Schwebel

Installation Tools for Clusters. Rajesh K., Computer Division, BARC

Memory management. Last modified: Adaptation of Silberschatz, Galvin, Gagne slides for the textbook Applied Operating Systems Concepts

V Workstation Imaging

GadgetPC Single Board Computer. System Restore Guide. Document Revision: 1.04 Date: 31 January, 2010

PathFinder-XD for MIPS Powered Devices. Simulator

Onto Petaflops with Kubernetes

ViryaOS RFC: Secure Containers for Embedded and IoT. A proposal for a new Xen Project sub-project

TQ2440 Development Platform Manual

Dockerized Tizen Platform

Installing and Using Openfiler 2.3 with ESX Server

How to Simplify Configuration With System Roles and get your lunch hour back. Terry Bowling Technical Product Manager Red Hat Enterprise Linux

Cubieboard4 Linux Sdk Guide TF BOOT & TF WRITE EMMC. Website: Support:

Isn't it Ironic? Managing a bare metal cloud. devananda.github.io/talks/isnt-it-ironic.html. Devananda van der Veen

Android System Development Training 4-day session

Be smart. Think open source.

System Requirements ENTERPRISE

Virtualisation for Oracle databases and application servers

64-bit ARM Unikernels on ukvm

Xen Summit Spring 2007

docker & HEP: containerization of applications for development, distribution and preservation

Embedded lightweight unix

User. Applications. Operating System. Hardware

into a Corporate Infrastructure -- A Case Study

Birds of a Feather Session - OSS Vancouver Eystein Stenberg, Mender.io

[Docker] Containerization

Quickstart. with F&S Development Machine Fedora 23. Version 1.2 ( )

3 Planning to Deploy ZENworks 2017 Update 3

Unikernels? Thomas [Twitter]

Guideline for the installation of C-MOR Video Surveillance Virtual Machine on VMware ESX Server

Thousands of Linux Installations (and only one administrator)

CONTAINERIZING JOBS ON THE ACCRE CLUSTER WITH SINGULARITY

Relax-and-Recover (ReaR) Automated Testing

Think Small to Scale Big

ML410 VxWorks BSP and System Image Creation for the BSB Design Using EDK 8.2i SP1. April

Acronis Backup & Recovery 11.5

How we added software updates to AGL

Linux Driver and Embedded Developer

OS10 Virtualization Guide. Enterprise Edition

Building an Open, Transparent NOS and Ecosystem Using Linux as the Key

Exam Name: VMware Certified Professional on vsphere 5 (Private Beta)

CARE: the Comprehensive Archiver for Reproducible Execution

Development Environment Embedded Linux Primer Ch 1&2

MySQL and SSD: Usage Patterns

Lab #1: A Quick Introduction to the Eclipse IDE

Compute Node Design for DAQ and Trigger Subsystem in Giessen. Justus Liebig University in Giessen

Mininet: Squeezing a 1000 node OpenFlow Network onto a Laptop. Bob Lantz, November 19, 2009

Oracle Enterprise Manager Ops Center

First Steps. esom/sk4 esom/3517 Embedded Linux Starter Kit

Embedded Linux Architecture

Diskless Linux Clusters

di-netboot-assistant: Install Debian in your LAN

The FreeBSD Package Cluster

CORD How to build a POD and automate deployments. #OpenCORD

Die Brummbeere Documentation

CS197U: A Hands on Introduction to Unix

KERNEL C.I. USING LINARO S AUTOMATED VALIDATION ARCHITECTURE. Wednesday, September 11, 13

Use of Mojo PowerPoint Template. Your name, Title

Debian & Yocto: State of the Art

deploying high capacity IP fabrics

LSST software stack and deployment on other architectures. William O Mullane for Andy Connolly with material from Owen Boberg

Transcription:

January 28 29, 2014San Jose

Open Network Linux A Common Linux Platform for OCP Switches Rob Sherwood Big Switch Networks CTO

Outline Proposed in November OCP workshop Goal: Common community target à faster adoption Status: Open sourced on github yesterday: 1/27 (!!) Technical details Multi-platform support: x86, PPC, and x86 VM Full Server-like experience on network hardware Network booting and image management Demo and Hello World L3 forwarding app

November Proposal: Tower of Babel is Bad STP + MLAG OpenFlow daemon Quagga + hooks Switch Agent(s) Fedora Linux Kernel Std. Debian Linux Kernel BusyBox Linux Kernel Platform Independent Device Tree #1 Initrd #1 Device Tree #2 Initrd #2 Device Tree #3 Initrd #3 Platform Dependent OCP Platform V1 OCP Platform V2 White box vendor Hardware Layer Stack #1 Stack #2 Stack #3

November Proposal: Common Linux Platform STP + MLAG OpenFlow daemon Quagga + hooks Keep differentiation in switch agents Standard packages, tools, etc. Stock Linux Kernel + any patches Unified Device Tree Repository Unified Driver Repository Come together around the common bits OCP Platform V1 OCP Platform V2 White box vendor Maximize hardware abstraction

Open Network Linux: Goals Accelerate adoption of OCP switch hardware Users: download image, install via ONIE Vendors: common Linux platform for new drivers, testing Create an open community Target: Linux portable to all networking devices License: Eclipse Public License and GPL for Kernel What s in it for me? Engineering efficiencies Better development and deployment experience

Open Network Linux: Status Lots of support from community thanks! Github went live yesterday: 1/27/2014 Main repository: github.com/opennetworklinux/onl Builds ONIE-compatible images for: Generic x86 platforms: Interface Masters not yet tested Many PPC platforms: Quanta LY2, LB9, LB8D, Accton 5652 x86 VM build: for testing qcow2 (vmdk via convert) Stability level: works for us Feedback welcome

Outline Proposed in November OCP workshop Goal: Common community target à faster adoption Status: Open sourced on github yesterday: 1/27 (!!) Technical details Multi-platform support: x86, PPC, and x86 VM Full Server-like experience on network hardware Network booting and image management Demo and Hello World L3 forwarding app

Technical Overview Code builds two main artifacts: ONL installer/loader: like grub, but multi-platform with netboot ONL SWI file: zip d SWitch Image with root fs, kernel, initrd Code is divided into multiple sub-modules ONL: main repository auto pulls in other repos linux-3.9.6: extracted kernel code loader: scripts and code for boot loader process infra and common: libraries, shared routines, faultd

Deployment Overview Full documentation in README in ONL repository 1. Get code from github.com/opennetworklinux/onl 2. (only for ppc) Build a cross-compilation workspace 3. Build ONL installer/loader image 4. Put ONL installer/loader image on ONIE server 5. Boot switch and install ONL via ONIE 6. Build one or more ONL SWI s 7. Netboot from scp/nfs/http/ftp/etc. to install ONL SWI

ONL is Multi-Platform Support many boxes from the same code-base Open Network Linux: Kernel Drivers Loader Work flow Build scripts Management Model X86 Arch PPC ARM? Interface Master s x86 VM others? Quanta LB9, LY2, LY5 Accton 5652 Delta, Alpha, etc.???

Tricks to Use Switches Like Servers Switches have flash, not hard drives Problem 1: Maximum flash cycle time limit disk writes Problem 2: Flash and ram more limited than typical servers Fix: Use overlayfs to overlay copy-on-write ram disk over flash ONL uses full-featured binaries For size, most switch OS s use stripped binaries, e.g., busybox Bigger binaries uses additional space, but ok with overlayfs Install/use proper Debian binaries using apt-get Useful for development or operations, e.g., gcc or Chef/Puppet

ONL Supports Net Booting Natively Boot SWIs over the network once ONL Loader installed SWIs are cached locally for performance, resilience Simplifies operational management, upgrades Supports http, ftp, tftp, nfs, ssh/scp, or ZTN Zero-touch Networking (ZTN): auto-discover SWIs Like PXE for your switches Query all http servers in local subnet, use SWI of first hit Just like ONIE Netboot makes managing your network much easier

Install Using ONIE then Boot ONL ~64MB uboot ENVs ONIE Free Space Boot Flash Boot Logic: 1. uboot POSTs 2. $nos_boot_cmd is read from ENVs 3. run $nos_boot_cmd If $nos_boot_cmd returns, run ONIE On install, ONIE sets $nos_boot_cmd to load ONL loader 4. Loader downloads specified SWI URL if not cached 5. Loader mounts rootfs as ramdisk with overlayfs 6. ONL loader kexec s SWI kernel ~2GB ONL Loader ONL SWI #1 (cached) ONL SWI #2 (cached) Mass Storage

Outline Proposed in November OCP workshop Goal: Common community target à faster adoption Status: Open sourced on github yesterday: 1/27 (!!) Technical details Multi-platform support: x86, PPC, and x86 VM Full Server-like experience on network hardware Network booting and image management Demo and Hello World L3 forwarding app

Demo and Forwarding Agents Demo: Netbooting Quick file system walk through Available Forward agents Download BSN s Switch Light OpenFlow daemon binary Hello World L3 agent Monitor Linux software route via rtnetlink Copy routes/neighbor/interfaces into ASIC with binary driver Enables box for Quagga, Xorp, etc. Work in progress

Conclusion Open Network Linux is available now Goal: support all bare metal switches: OCP and non-ocp github.com/opennetworklinux/onl Technical benefits: Multi-platform, switch like server, netbooting Contributions Encouraged! New platforms Additional features/drivers Better documentation

This is an interstitial slide