Jump to: navigation, search

Compass

Revision as of 00:37, 1 November 2013 by Shuo (talk | contribs) (Why Compass?)

What is Compass?

Compass is an open source project trying to providing "deployment as a service" to a set of bare metal machines.

It can provide a Restful API service for operators to pragmatically deploy an OpenStack system on to the raw physical resources, from 10,000 feet view, it can be considered as a Live CD to a set of physical machines to the end users (staff deploying OpenStack system).

Why Compass?

  • Deployment System Extensibility: Compass is not limited to OpenStack cluster, it provides a data-driven framework for deployment.
    • Example: Providing capability to create a Ceph cluster by extending the data fields in Compass system
  • Hardware Support Extensibility: Like the Cinder's supports multiple storage vendors' system controlled by OpenStack API through plug-in framework, Compass supports topology-aware resource discovery to multiple networking vendor's equipment through its plug-in framework.
    • Example: Compass originally supports Huawei switches for topology-aware resource discovery, and we added support to HP switches with less than a couple of hundred lines of plug-in code.
  • Host OS/Hypervisor Extensibility:
    • Example: we first streamlined the process for CentOS, and Ubuntu support is being supported at this moment. We imagine we can repeat the similar easy effort to systems like ESXi.
  • Configuration Management System Extensibility:
    • Compass provides the concept of adapter. Current we have implemented Chef based deployment, and we believe other CM tools can be easily included in this framework. We believe this helps enterprise that has purchased supported license from other CM tools vendors.
  • Small Code Base, DRY:
    • The total code base is around 5,000 line of Python code.

Compass Overview

Compass Use Cases