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