glu
glu copied to clipboard
Feature Request: Add validate phase to the Glu Script
The way I see things, this is a desirable workflow (at least to me...). When deploying a fresh version of a service to a cluster of servers:
- Deploy to one server
- Validate the first server
- Deploy to 2 servers
- Validate those two
- Deploy to 4 servers, validate... 6 ... deploy more such that an any given time no more than Y servers are down, call it the sliding window. The sliding window grows exponentially starting at 1 ending at Y which is controlled by the user.
- Report success if all servers were validated.
- If any of the servers reported a failure, rollback all of them and report failure. Rolling back would again have to make sure that at least 50% of the hosts are up at any given time
Using the console's API (or maybe even the agent's API) this is probably doable but I'm suggesting this workflow as a core feature so that glu users would not have to re-implement.
I think a simple step forward, if you agree with the approach, is to add a validate() method to the GlueScript. So far we have install, configure, start, stop, unconfigure and uninstall so I suggest to add validate which, if fails, (returns false or throws) then glu would initiate a rollback protocol.
thoughts?
Do you mind opening a discussion topic on the forum for this ? http://glu.977617.n3.nabble.com/ (I would do it myself, but then the discussion would be created by me :)
This require further discussion and I am not sure that the issue tracking system is the best place.
Thanks Yan
discussion is here http://glu.977617.n3.nabble.com/Feature-Request-Add-validate-phase-to-the-Glu-Script-td2132263.html