Jump to: navigation, search

Difference between revisions of "Compass"

(What is Compass?)
(What is Compass?)
Line 2: Line 2:
  
 
Compass is an open source project that provides automated deployment and management of OpenStack and other distributed systems. It can be considered as what the LiveCD to a single box for a pool of servers – bootstrapping the server pool. Compass project follows the OpenStack community's four opens: Open Source, Open Community, Open Development, and Open Design.
 
Compass is an open source project that provides automated deployment and management of OpenStack and other distributed systems. It can be considered as what the LiveCD to a single box for a pool of servers – bootstrapping the server pool. Compass project follows the OpenStack community's four opens: Open Source, Open Community, Open Development, and Open Design.
 +
 +
See a demonstration of Compass at https://youtu.be/UArzko_cd5c
  
 
= Why Compass? =
 
= Why Compass? =

Revision as of 21:01, 1 July 2015

What is Compass?

Compass is an open source project that provides automated deployment and management of OpenStack and other distributed systems. It can be considered as what the LiveCD to a single box for a pool of servers – bootstrapping the server pool. Compass project follows the OpenStack community's four opens: Open Source, Open Community, Open Development, and Open Design.

See a demonstration of Compass at https://youtu.be/UArzko_cd5c

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 Overview

Compass is a Restful API driven deployment platform that performs discovery of the physical machines attached to a specified set of switches. It then customizes configurations for machines you identify and installs the systems and networks to your configuration specs. Compass is:

  • A Restful API server works in place
  • A demo UI frontend consuming our Restful API (as we provide Restful API, a third-party UI can be easily pluggable)
  • An adapter interface for automatic resource discovery with topology awareness (Huawei switch plug-in and HP switch plug-in have been tested, and it should be a matter of thin plug-ins for other network vendors’ device*)
  • An adapter interface for configuration management tools and we have implemented the Chef plug-in (we are willing to work with other CM tools, and it should be a matter of thin plug-ins**)
  • A Cobbler interface for OS provisioning
  • An interface for policy driven service deployment


Compass Modules


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)

  • Remote install and configure all or a subset of physical servers in a datacenter
  • Remote Install the OpenStack seed for a TripleO installation (maybe Ironic, too?)
  • Remote install and configure a Hadoop cluster (synergy with Savanna?)
  • Quickly setup and tear down test installations iteratively to develop the preferred configuration for a production deployment (cloud, big data, etc. Synergy with Infra or Test?)

Roadmap

Project Roadmap

  • Publish Project resources
  • Become an OpenStack Related Project
  • OpenStack community engagement
  • Cleanup the project to OpenStack Standards
  • Integrate and synergize with OpenStack projects

Development Roadmap

  • Next Development Steps
  • Long term vision

Resources

Project Home Page for Compass: http://www.syscompass.org/

Compass API Reference

Compass User Guide