The intent of Graffiti is for OpenStack users to be able to declare the capabilities and service level objectives they require at a higher, more portable way than they do today. The system will then guide the selection of lower level cloud resources that match the desired capabilities.
Various OpenStack services have introduced techniques to abstract some of the low level resource selection to one level higher (such as flavors or volume types). While powerful, a challenge that we’ve experienced with OpenStack is that the way resource types and resource instances get exposed and discovered across services makes usage and remapping across deployments a manual and error prone process. Graffiti provides a common methodology to describe resource capabilities in the cloud which we believe can then be leveraged by other projects such as Horizon, Nova, Heat, scheduling, reservation, and policy enforcement to enable better cross service collaboration and consistency.
Many OpenStack services are great at providing somewhere to use metadata in terms of key-value pairs. However, collaborating on metadata is largely a disconnected and difficult process. This often involves searching outdated wikis and opening the source code. It becomes more difficult as a cloud's scale grows.
At its most basic concept Graffiti is a metadata collaboration tool.
We will be showing a proof of concept demo in Horizon that crosses Nova, Glance, and Cinder.
We encourage participation where Graffiti can best fit in to the ecosystem and how it may relate to other projects and use cases.
Graffiti is just getting underway and we are working on a POC. The full project blueprints and code will soon be active at all the normal places.