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 <l...@redhat.com> | larsks @ {freenode,twitter,github}
Cloud Engineering / OpenStack          | http://blog.oddbit.com/

Attachment: signature.asc
Description: PGP signature

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to