This is a follow-up to my previous post outlining the new composable services interfaces , which covered the basics of the new for Newton composable services model.
The final piece of the composability model we've been developing this cycle is the ability to deploy user-defined custom roles, in addition to (or even instead of) the built in TripleO roles (where a role is a group of servers, e.g "Controller", which runs some combination of services).
What follows is an overview of this new functionality, the primary interfaces, and some usage examples and a summary of future planned work.