Changes are as follows: f29e865 3/17/15 Store ProcessLauncher signal handlers on class level bf92010 2/19/15 Optimization of waiting subprocesses in ProcessLauncher 2aacb11 1/29/15 Change oslo.config to oslo_config 2fbf506 1/29/15 Remove oslo.log code and clean up versionutils API 0cc741a 1/26/15 switch to oslo_i18n fbd77a7 1/21/15 Allow overriding name for periodic tasks 9896e0e 1/21/15 Separate add_periodic_task from the metaclass __init__ 80c4751 1/5/15 Remove unnecessary import of eventlet 442fc22 12/30/14 Added graceful argument on Service.stop method cf429e5 12/28/14 Remove extra white space in log message 5985b35 12/11/14 Prefer delayed %r formatting over explicit repr use Closes-bug: #1434744 Change-Id: Icf0b52170b3457d570fd87fd2875a1e759b97579
Magnum
new Openstack project for containers.
- Free software: Apache license
- Documentation: http://docs.openstack.org/developer/magnum
- Source: http://git.openstack.org/cgit/stackforge/magnum
- Bugs: http://bugs.launchpad.net/magnum
- ReST Client: http://git.openstack.org/cgit/stackforge/python-magnumclient
Architecture
There are seven different types of objects in the Magnum system:
- 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
Two binaries work together to compose the Magnum system. The first binary accessed by the python-magnumclient code is the magnum-api ReST server. The ReST server may run as one process or multiple processes. When a ReST request is sent to the client API, the request is sent via AMQP to the magnum-conductor process. The ReST server is horizontally scalable. At this time, the conductor is limited to one process, but we intend to add horizontal scalability to the conductor as well.
The magnum-backend process runs on a controller machine and connects to a kubernetes or docker ReST API endpoint. The kubernetes and docker ReST API endpoints are managed by the bay object.
When service or pod objects are created, Kubernetes is directly contacted via the k8s ReST API. When container objects are acted upon, the docker ReST API is directly contacted.
Features
- Abstractions for bays, containers, nodes, pods, and services
- Integration with Kubernetes and Docker for backend container technology.
- Integration with Keystone for multi-tenant security.
- Integration with Neutron for k8s multi-tenancy network security.
Installation and Usage
- Getting Started Guides: http://git.openstack.org/cgit/stackforge/magnum/tree/doc/source/dev/dev-quickstart.rst