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.
- Small Code Base:
- The total code base is around 5,000 line of Python code