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 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.
The Magnum Repo can be accessed with Git from: