v0.16.0
This release brings a major new feature, hook tasks. A hook task is any stateless process (e.g. a Linux shell command) that can be run synchronously with the environment state machine, in response to an event and/or as a condition for completing a transition. It also adds support for disabling portions of the workflow tree when creating an environment, some user interface improvements in coconut
, as well as support for the O² Configuration library in the OCC library.
-
Support for hook tasks:
- [common] controlmode.String should not have ptr receiver
- [core] New MesosCommand_TriggerHook
- [core] Support for loading hook definitions from workflow template
- [core] MesosCommand_TriggerHook handling
- [core] task.Manager.TriggerHook implementation
- [core] Tie hooks to environment state machine triggers
- [core] Better error output on failed MesosCommandResponse
- [core] Fix timeout representation
- [core] Improve commandqueue error handling
- [core] Timeout support in task.Task
- [core] Improve error output, controlmode representation, GetRoles lock
- [core] Handle hooks in scheduler
- [core] Hook timeout support and hook handling fixes in environment
- [executor] New HookTask + BasicTask refactor
- [executor] MesosCommand_TriggerHook handling
- [executor] Refactor taskCmd lifetime for basic+hooks
- [executor] Add basic/hook task timeout support via context
- [executor] Implement triggering of hook tasks
-
Support for launch-time role disabling:
- [core] Add support for enabling/disabling roles at deployment time
- [core] Make iteratorRange/iteratorRole copyable
-
coconut
interface improvements:- [coconut] Accept lowercase event names as well as short start/stop
- [coconut] Support for --nospinner flag
-
Configuration library support in OCC library:
- [occ] Fill configuration ptree with local file
- [occ][OCTRL-295] Improve code documentation of PR#156