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/
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