[Hawkular-dev] Resourcetype again

Heiko W.Rupp hrupp at redhat.com
Tue Oct 13 03:36:50 EDT 2015


On 9 Oct 2015, at 13:58, Lukas Krejci wrote:

> I disagree about the server being the authoritative source of 
> metadata.
>
> After all it is the feed that actually "sees" and can "touch" the 
> resource,
> not the server.

This is  complicated topic with no easy answer.
On one side we need to avoid storing the same
stuff over and over again. Take an Infinispan
cluster with 1000 nodes - here we do not want
to have 1000 times the same metadata stored
in inventory, but only one copy that all those
1000 nodes share.
On the other hand, we as Hawkular team do not
want to maintain the metadata of Infinispan.
Infinispan should indeed deliver their metadata
in some way. That could be like they provide that
on the 1st connecting node and then all others
share that metadata.

Also as Infinispan runs on top of WildFly, (but
exchanges some subsystems with their version),
and we need that information so that e.g. the
UI can show the stuff for WildFly unless it is
explicitly enabled/disabled for Infinispan.

The same applies for Hawkular server, which
also runs on top of WildFly.

> What the server can (and will) do is to provide for quickly checking 
> if
> certain metadata are present in inventory. I preliminarily call it 
> "metadata
> packs" which will be a collection of resource, metric and operation 
> types
> together with a method to compute their collective hash. The feed then 
> will
> check if a pack with a given hash is present in the server and if 
> there is,
> then it's good to go.
>
> If the hash does not match it means that some metadata, that the agent 
> expects
> (and requires) to correctly describe what it sees, needs to be changed 
> on the
> server (i.e. the agent uploads the changes it needs and forms a new 
> pack if it
> wants to).
>
> Now for this to make sense, a metadata pack uploaded by one feed (or 
> uploaded
> by an operator prior to any feed connecting to the server or even pre-
> installed with Hawkular) needs to be "globally visible" so that other 
> feeds
> don't have to upload their own version of it with the same hash - i.e. 
> pack
> with the same hash should be defined only once in the server.

That certainly makes sense and reflects what I wrote above.

> IMHO, if the agent stays the source of metadata and has the ability to 
> quickly
> check that all it needs is already "up with the hawk" then that's a 
> simpler
> solution that will be in the end easier on the feeds.

This is certainly a good approach. Where I am concerned,
and you sort of mention that in the next paragraph
is users messing with the resource types so that they
get into an indeterministic state.

> Note that these packs essentially don't need to be user-visible or 
> amendable
> "things" - primarily because it would be generally difficult to call 
> them
> user-friendly names.

   Heiko


More information about the hawkular-dev mailing list