Latest Publications

Announcing Magnum – CaaS for OpenStack

The Magnum community is pleased to announce the first release of Magnum available now for download.

Magnum is a Container-as-a-Service (CaaS) system for OpenStack.

Magnum is meant to launch a minimalistic host OS such as Fedora Atomic, CoreOS, or Ubuntu Snappy. The OS includes enough tools to launch Docker, Kubernetes, and Flannel. Once the OS is launched, Magnum configures the OS clusters for multi-tenant users.

Magnum has seven major objects:
Bay: A collection of node objects where work is scheduled
BayModel: An object stores template information about the bay which is used to create new bays consistently
Node: A baremetal or virtual machine where work executes
Pod: A collection of containers running on one physical or virtual machine
Service: An abstraction which defines a logical set of pods and a policy by which to access them
ReplicationController: An abstraction for managing a group of PODs to ensure a specified number of PODs are running
• Container: A docker container

Magnum also includes a python client.

To get started with the code, try out the developer oriented documentation for using Magnum.

Please contact us on Freenode IRC (#openstack-containers) for any questions during your quick start.

• Multi-tenancy is not yet implemented, but coming soon.
• Magnum is designed to allow deployment of Containers on any compute form factor, including Bare metal, virtual machines, and nested within containers.
• Ironic integration is coming soon, using the nova ironic scheduler.
• Magnum is not limited to only using a uOS, we just don’t want to introduce extra dependencies beyond what are usually available there.

For more information on work completed in this milestone check out the blueprints completed.

magnum-contributions-by-companiesMagnum was written by a collaboration of open source software developers from over 8 different companies. Everything from the concept stage to now has been done completely in the open.

Interested? Please contribute to Magnum. Visit our project page on the OpenStack Wiki to find our meeting schedule and project information.

The Magnum Repo can be accessed with Git from:


How to be Awesome

As the PTL of the Solum project, I regularly meet new people who take an interest in what we are doing, and want to get involved with Solum or contribute to OpenStack. I feel compelled to share my formula for becoming an awesome contributor to an OpenStack community project. This advice probably applies equally well to becoming an Open Source contributor for any project, but it has actually been tested and proven in the OpenStack community, so I am confident it will work for you.

The first thing new contributors usually say is “I don’t know Python yet, but I do know language XYZ, so how can I make an impact right away?” Universally all open source contributors want a chance to do something helpful and meaningful for the projects they love. What most of them don’t realize is that developing new software features is not the only way they can make their impact felt. Here is how I suggest newcomers start out. Follow these in order, and continue with steps 2+ ongoing as you start to advance through the list.

1) First cover the groundwork. Get yourself set up so that you have the *option* to contribute by getting your CLA taken care of. Visit the Contributing page for details on this.

2) Show up on the project IRC channel. Ours is #solum on Freenode. Set up your chat client to idle in there, and try to keep an eye on our public conversations. This will help you keep the pulse on what’s happening. Do not fear the public nature of this discussion. It is normal to be shy at first, but you will get used to it.

3) Attend the weekly IRC team meetings (whichever make sense in your timezone). Our team meeting schedule and agenda are posted on the OpenStack wiki for your reference. You have to chime in to be recorded in the attendance, which I strongly recommend. If you arrive late, that’s still okay. Nobody is perfect.

4) Subscribe to and read the mailing list. In the subscription settings you can set up topic tag filtering, so if you only want messages from the [Solum] topic that’s possible. Be sure when you send new emails to the list that you include [Solum] in the subject line.

5) Start looking at code reviews. Once you have your LaunchPad account set up, you can use it to sign into Gerrit, and start reviewing code. To review Solum code, check our review queue. This is a great way to get a sense of what is in flight now, and is about to land. It’s also a great way to see a lot of Python code. Check out our guidelines at the bottom of our Contributing page for more about how to vote on reviews. Anyone can vote. In the settings you can tune what emails the system sends you.

6) When you are confident and ready to do some coding work, check our our task queue, which includes bugs. There is also a task queue for our client software. Use the guidelines at our Contributing page to set up your development environment and submit your code for review.

7) Once you have closed out a couple of bugs, it might be time to get more ambitious and start helping out with new feature development. We will consider code from anywhere, but we are much happier if you discuss your plans as you start by chatting with us in IRC, and in our weekly meetings so we can start with confidence knowing that we share a clear vision of how it will be done.

If you do all of those things, you definitely will win friends and influence people. This is the way that you add real value as a member of the community, and can begin to multiply the value your contributions by helping everyone else as they show up to help as well. You will be surprised at how amazing it will feel to make your contribution, and be a part of a winning team on an inspirational mission. Thanks for being awesome!

Computable Object Store with Swift and ZeroVM

Today I am presenting a session at BigDataCamp LA in El Segundo, CA.ZeroVM


ZeroVM combines with OpenStack Swift through a project called ZeroCloud. ZeroCloud is middleware for Swift and adds a job manager and a ZeroVM daemon installed on the storage nodes. Adding ZeroVM to Swift changes a static object storage solution into a dynamic storage + compute platform. ZeroCloud can manipulate stored objects and perform full map/reduce operations in place, without reading data over the network to separate compute nodes. This allows a storage cluster to leverage spare compute cycles, where they would otherwise be wasted.

Here are the slides from my talk. If there is a video recording, I will add that here when it becomes available.