Brooklyn-ers,
I've encountered a few situations on customer projects where I want to
compose a simple blueprint from generic Brooklyn entities, but also need
to perform app-specific actions on the remote machines at specific
stages of the entity lifecycle. For example, I want a MySQL node, but
bootstrapping the schemas requires downloading and unpacking a ZIP file
and running multiple DDL and SQL scripts.
VanillaSoftwareProcess is undeniably cool: YAML-configurable bash
commands for install, customize, launch and post-launch actions are
immensely useful! If those same hooks were provided by the parent
SoftwareProcess class, they could be used to extend the functionality of
any concrete entity *without the need to create custom subclasses*.
Food for thought.
A.
--
Alasdair Hodge
Principal Engineer,
Cloudsoft Corporation