+0.5

I like the idea but I'm afraid it is too specific (i.e for DynamicClusters
only) whereas enrichers are supposed to be generic.
I would then do something like this:

   - You can have this for the generic case:

```
    brooklyn.enrichers:
    - type: org.apache.brooklyn.enricher.stock.ListGenerator
      brooklyn.config:
        uniqueTag: member-address-list-generator
        enricher.sourceSensors:
        - $brooklyn:entity("entity1").sensor("member.host.address")
        - $brooklyn:entity("entity2").sensor("member.host.address")
        - $brooklyn:entity("entity3").sensor("member.host.address")
        enricher.targetSensor: $brooklyn:sensor("member.host.address.list")
```

   - Or this for a cluster:

```
    brooklyn.enrichers:
    - type: org.apache.brooklyn.enricher.stock.ListGenerator
      brooklyn.config:
        uniqueTag: member-address-list-generator
        enricher.sourceCluster: $brooklyn:entity("my-cluster")
        enricher.sourceSensor: $brooklyn:sensor("member.host.address")
        enricher.targetSensor: $brooklyn:sensor("member.host.address.list")
```

WDYT?

On Fri, 6 May 2016 at 06:52 David Bush <david.b...@cloudsoftcorp.com> wrote:

> +1
>
> Using this in a couple of blueprints at the moment and would be really
> nice to have a concise method.
>
> --
> David Bush • Systems Integrator • Cloudsoft Corporation •
> http://www.cloudsoftcorp.com <http://www.cloudsoftcorp.com/>
> T: 07834 127195 • SKYPE: david.c.bush
>
> > On 6 May 2016, at 01:44, Mike Zaccardo <mike.zacca...@cloudsoftcorp.com>
> wrote:
> >
> > Hi all,
> >
> > I've encountered the following task numerous times when authoring
> > `DynamicCluster` blueprints: write a sensor that returns a comma
> separated
> > list of values for each member of a cluster (e.g. the host address of
> each
> > member).
> >
> > This is currently how to achieve such a task:
> >
> >      brooklyn.enrichers:
> >      - type: org.apache.brooklyn.enricher.stock.Aggregator
> >        brooklyn.config:
> >          uniqueTag: member-address-aggregator
> >          enricher.aggregator.excludeBlank: true
> >          enricher.aggregating.fromMembers: true
> >          enricher.sourceSensor: $brooklyn:sensor("member.host.address")
> >          enricher.targetSensor:
> > $brooklyn:sensor("member.host.address.list")
> >
> >      - type: org.apache.brooklyn.enricher.stock.Joiner
> >        brooklyn.config:
> >          uniqueTag: member-address-joiner
> >          enricher.sourceSensor:
> > $brooklyn:sensor("member.host.address.list")
> >          enricher.targetSensor:
> > $brooklyn:sensor("member.host.address.list.comma_separated")
> >          minimum: $brooklyn:config("cluster.size")
> >          separator: ","
> >          quote: false
> >
> > And here[1] is a specific example in a real blueprint.
> >
> > That's pretty verbose for a commonly required task.  Instead, it would be
> > nice to have something resembling the following:
> >
> >      brooklyn.enrichers:
> >      - type: org.apache.brooklyn.enricher.stock.ClusterListGenerator
> >        brooklyn.config:
> >          uniqueTag: member-address-list-generator
> >          enricher.sourceSensor: $brooklyn:sensor("member.host.address")
> >          enricher.targetSensor:
> > $brooklyn:sensor("member.host.address.list")
> >
> > Short and sweet!  WDYT?
> >
> > -Mike
> >
> > [1]
> >
> https://github.com/cloudsoft/brooklyn-tendermint/blob/master/tendermint-mintnet.bom#L82
>
> --
Thomas Bouron • Software Engineer @ Cloudsoft Corporation •
http://www.cloudsoftcorp.com/
Github: https://github.com/tbouron
Twitter: https://twitter.com/eltibouron

Reply via email to