[openstack-dev] [tripleo] Adding a LateServices ResourceChain

Lars Kellogg-Stedman lars at redhat.com
Thu Dec 22 19:02:12 UTC 2016


I've been working along with a few others on some "opstools"
composable services for TripleO: that is, services that provide
things like centralized logging, performance monitoring, or
availability/health monitoring.

We've been running into a persistent problem with TripleO's
architecture: our services in many cases need configuration
information to be provided by other services in the stack, but there's
no way to introspect this data from inside a composable service
template.  This has led to some rather messy and invasive changes to
things like puppet/services/services.yaml.

In https://review.openstack.org/#/c/413748/, I've proposed the
addition of a secondary chain of services called LateServiceChain.
This is, like the existing ServiceChain resource, just a Heat
ResourceChain.  Unlike the existing ServiceChain, it receives an
additional "RoleData" parameter that contains the role_data outputs
from all the services realized in ServiceChain.

This permits composable services in the LateServices chain to access
per-service configuration information provided by the other services,
leading to much cleaner implementations of these auxiliary services.

I am attempting to use this right now for a collectd composable
service implementation, but this model would ultimately allow us to
remove several of the changes made in services.yaml to support Sensu
and Fluentd and put them back into the appropriate composable service
templates.

I'd appreciate your feedback on this idea.  Thanks!

-- 
Lars Kellogg-Stedman <lars at redhat.com> | larsks @ {freenode,twitter,github}
Cloud Engineering / OpenStack          | http://blog.oddbit.com/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20161222/71073694/attachment.pgp>


More information about the OpenStack-dev mailing list