Makes sense. 
Customising the behaviour form YAML should be possible even now by declaring an 
enricher with the same ID.

Svet.


> On 4.11.2016 г., at 23:00, Aled Sage <[email protected]> wrote:
> 
> Hi all,
> 
> TL;DR: I'd like to change the defaults for an app so that it is "down" and 
> "on-fire" if any of its children are failed.
> 
> _*Current Situation*_
> Currently in Brooklyn, it is surprising what values are set for an app's 
> "service.isUp" and its "service.state" sensors:
> * If any of the app's children are "isUp=true" (or if it has no children), 
> then the app sets itself as "isUp=true".
> * If any of the children report "state=on_fire", then the app sets itself as 
> "state=on_fire".
> 
> Note the inconsistency: if one of two children are healthy, then the app is 
> "isUp=true && state=on_fire".
> 
> This behaviour of "quorum" for children/members is controlled by an enricher, 
> which can be easily configured in Java but not in YAML.
> 
> 
> _*Proposal*_
> We should change the default quorum behaviour for apps, to require all of the 
> app's children to be up. I'd argue that is the most common reason that it has 
> those children.
> 
> We should make this more easily configurable through config keys on the app, 
> so one can easily change the defaults. For example, to get the old behaviour:
> 
>   services:
>   - type: org.apache.brooklyn.entity.stock.BasicApplication
>      brooklyn.config:
>        quorum.up: atLeastOneUnlessEmpty
>        quorum.running: all
>      brooklyn.children:
>        ...
> 
> Would this change negatively affect any existing apps? Are there more 
> use-cases where the default of "atLeastOneUnlessEmpty" is more sensible than 
> "all"?
> 
> See https://github.com/apache/brooklyn-server/pull/407 for an implementation 
> of this.
> 
> Aled
> 

Reply via email to