Jump to: navigation, search

Compass

Revision as of 04:11, 1 November 2013 by Rockyg (talk | contribs) (Compass Overview)

What is Compass?

Compass is an open source project d esignedto provide "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 the 10,000 foot 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 Cinder's support for multiple storage vendors' system controlled by an 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 supported 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. 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 enterprises that have purchased supported licenses from other CM tools vendors.
  • Small Code Base, DRY:
    • The total code base is around 5,000 line of Python code.
Compass Modules

Compass Overview

Compass Use Cases

We believe Compass may provide values to other OpenStack projects other than our original envisioned scenario. Here are some of our thoughts (and we would like to think of it and discuss it if needed)