I've been extremely happy to work with the OCP community in the past with
other OCP members around running multiple scale-out/cloud solutions,
operating systems (gasp!), and OCP hardware [1]. Now I am _super_ excited
that Canonical is now an OCP Gold Member and with the upcoming OCP Summit
in March I would like to share with you what we have done with OCP/ONIE
based networking technologies and hope to spur the same level of
cooperation within the OCP Networking community.

In MAAS we added the capability to add ONIE (non-PXE based) devices that we
announced at OCP Paris in conjunction with Cumulus[2] in order to manage
and deploy ONIE based operating systems in a similar fashion that MAAS does
for Windows, CentOS, and Ubuntu on servers compatible with any switches
that support ONIE, including the Accton 5712 and the Facebook Wedge, both
of which are OCP-accepted switches.  I have also written a MAAS Power
Driver to work with the Facebook Wedge OpenBMC[3] which brings the ability
to do OS-agnostic complete lights out life-cycle management of a switch via
MAAS and at the last OpenStack Design Summit (ODS) we showed off deploying
snappy Ubuntu Core running on two ONIE-based switches[4].

Wait ... what is snappy Ubuntu Core?  The best way to understand is to
watch the ODS Tokyo demo[4], but in short it is a modern,
device-and-application-oriented open source distribution that is built from
the ground up to provide a secure, isolated, and transactionally updated
operating system, hardware enablement, and Apps.  It has support for
running traditional applications and operating systems in Linux Containers,
Docker, and KVM but the core host/OS and application updates are also
isolated by design (but don't require LXC/docker/KVM) and provide roll-out
and roll-back capabilities and isolation so that application updates
don't/can't break the core operating system.  It is a fundamental shift in
traditional Linux distribution hardware enablement, packaging, and
security, so I know a single paragraph isn't sufficient, so watch the video
and feel free to reach out to me or the snappy developer mailing list[5].

             "Snappy Ubuntu Core is an NOS-agnostic, bootloader-agnostic,
open source operating system."

The current snappy Ubuntu Core 15.04 is an interim release primarily
focused on devices, IoT, and robotics.  The first release of snappy Ubuntu
Core for top of rack switching will be our next release, 16.04 LTS, which
is releasing in April.  For the demos at ODS Tokyo last October and this
week at MWC we are using a reference network control software Snap App as a
proof-of-concept on 15.04 called BCOS to provide full network/port
functionality and forwarding, but with the release of 16.04 LTS there will
be other NOS Snaps available on Snappy Ubuntu Core.

-- Get up and running with snappy Ubuntu Core on ONIE --

And now that you know what snappy Ubuntu Core is (because you watched the
ODS Tokyo talk) and know that you can run it almost anywhere (from
Raspberry Pi2 to Microsoft Azure), it is probably most interesting to an
OCP audience on how to deploy and run it on a switch.  Since not everyone
has an extra switch laying around I have put together some pre-compiled
virtual ONIE KVM switch and snappy binaries with instructions [6].  Just
open up the README and in about five minutes you'll be having fun with
snappy on a virtual ONIE switch.

-- How to build your own installer for your switch --

If you DO have an extra ONIE switch laying around, you can build your own
image using this code [7].  Just modify the installer/installer.conf for
your specific hardware (there are several templates there already) and
follow the README instructions to build.

-- What's next? --

I've shared my code, if you try it and and have questions, feel free to
reach out to me.  I'm sharing it in the spirit of not only making sure
Canonical's open source technologies work well with OCP technologies but
that we are driving awareness and adoption of OCP technologies and working
with the larger OCP ecosystem which not only includes hardware vendors but
software and NOS vendors as well.

I am at MWC (Mobile World Congress) this week were we have the same two
switches we demoed at ODS Tokyo but we have extended the demo to include
MAAS running on the switch to deploy OpenStack and SDN functionality to a
10-node OpenStack cluster.  If you happen to be here please stop by our
Booth in Hall 3 (Booth #3J30).

And finally, I look forward to seeing everyone at the OCP Summit.

David



Links

1. OCP 2015 Summit - Ubuntu - Mark Shuttleworth

   https://www.youtube.com/watch?v=a4P7lvIUc5M

2. MAAS Deploying to ONIE/OCP based devices

   https://www.youtube.com/watch?v=WjNID6di5UE

3. Link to Facebook Wedge OpenBMC MAAS Power Driver

   https://code.launchpad.net/~david-duffey/maas/wedge-1.9

4. Mark Shuttleworth presenting snappy Ubuntu Core on ONIE based switches

   https://www.youtube.com/watch?v=Av8kd1Gci7s&feature=youtu.be&t=1165

5. Snappy Developer Mailing List

     https://lists.ubuntu.com/mailman/listinfo/snappy-devel

6. Easily try out snappy on an ONIE Virtual Switch (Try This!!!!)

    http://people.canonical.com/~dduffey/files/OCP/snappy-onie-15.04/

7. Build your own 15.04 snappy onie installer for your own OCP switch

    https://code.launchpad.net/~david-duffey/+junk/snappy-onie-installer






FAQ - Some common questions that I've received from OCP community:


Q. Is MAAS/snappy Ubuntu Core Open Source?

A. MAAS and snappy Ubuntu Core are both open source projects that follow
the familiar Ubuntu distribution model.


Q. If I develop a snap (Application), do I have to release it as Open
Source?

A. No.  Just like other common Open Source based operating systems, as long
as you abide by the code you are using, building, and distributing you can
package and release applications under the license you see fit.


Q. Is snappy Ubuntu Core a NOS?

A. No.  snappy Ubuntu Core lays the foundation of a pluggable operating
system that you can extend via applications (Snaps) and hardware enablement
(kernel Snaps) to make it useful for certain device hardware and device
functionality.  Similar to how NOS vendors today may base their NOS on
debian or  classic Ubuntu, you can develop NOS functionality to run on
snappy Ubuntu Core.  To give snappy Ubuntu Core NOS-like functionality may
require a specific kernel snap (in the case that the hardware functionality
is not in the stock kernel snap) and a NOS (or Nework Control Software)
snap.  (kernel snap/HAL)+(snappy Ubuntu Core snap)+(NOS/NCS Snap).


Q. How does snappy Ubuntu Core and ONIE relate?

A. ONIE is a bootloader, snappy Ubuntu Core is an operating system, they
don't "compete".  snappy Ubuntu Core works with a number of bootloaders,
including ONIE.  Most of the demos we've shown of deploying snappy Ubuntu
Core to switches have been done using ONIE.  You can also easily boot
snappy Ubuntu Core on different architectures, virtualization environments,
or public/private clouds (https://developer.ubuntu.com/en/snappy/start/).
We have also updated MAAS to be able to manage and deploy to ONIE devices
as well as manage switches with a BMC (like OpenBMC on the Facebook Wedge)
that allow for full OS-agnostic life-cycle infrastructure management.


Q. How does snappy Ubuntu Core relate with ONL?

A. Both are Open Source operating systems where ONL provides a
traditional/classic Linux style operating system and has a network-centric
focus and is a focal point for enabling network-switch functionality in
Linux.  Snappy Ubuntu Core provides a devices and application centric
modular Linux platform distribution/OS.  On the last monthy OCP networking
call there was discussion about making ONL more modular.  It could be
possible to use the hardware enablement pieces from ONL (kernel) and "snap
them up" to work with snappy Ubuntu Core and userspace components / network
control software as Applications (for example FBOSS).  I am excited about
collaborating with ONL in accelerating the adoption of open source and OCP
hardware.


Q. Will Canonical donate snappy Ubuntu Core to OCP?

A. No, for many of the same reasons as it does not make sense to donate
classic Ubuntu to OCP.  Snappy Ubuntu Core is already an open source
project and with a large community of developers outside of networking
switching that also includes IoT, robotics, user devices, etc..  While the
modern atomic, transaction, secure features of snappy Ubuntu Core are
particularly interesting for enterprise switching we wouldn't want to limit
snappy to that to a single class of devices.  OCP and the open source
networking community gain more out of snappy Ubuntu Core by leveraging this
additional ecosystem of open source developers vs. using it as a single
purpose built NOS.



--
David Duffey
+1-512-850-6776 (work), +1-512-287-4289 (work fax)
_______________________________________________
opencompute-networking mailing list
Unsubscribe: http://lists.opencompute.org/mailman/options/opencompute-networking

opencompute-networking@lists.opencompute.org
http://lists.opencompute.org/mailman/listinfo/opencompute-networking

Reply via email to