The first use-case for needing HOSA to collect and store inventory has come in - from the
Fuse team, specifically. This email is going to explain the current plan to get this to
happen. Feel free to chime in with thoughts.
Right now, HOSA does not support collecting and storing inventory. HJA (and HWFA) supports
collecting and storing inventory along with metrics.
HOSA has the privileges necessary to write directly to Origin Metrics. HJA does not.
We need to combine these to get what we need (and we need this soon because Fuse needs
it).
Currently, the idea is:
a) HJA will have a new storage adapter mode "HOSA" (right now it has
"HAWKULAR" and "METRICS" - the former is to support running with a
full hawkular server such as when running within CloudForms and the latter is for when
running with just a H-Metrics server). With this new HOSA mode, HJA will not store metrics
or inventory directly into H-Metrics. Instead it will "cache" the data and wait
for HOSA to come and ask for the data.
b) HOSA will have a new endpoint type "hawkular" (right now it has
"prometheus" and "jolokia" and "json"). This new type will
tell HOSA to read data from some HJA (which will including inventory data) and HOSA will
simply pass that data on to Origin Metrics. HOSA will read both metrics and inventory from
HJA and HOSA will store that data directly to Origin Metrics essentially making HOSA a
proxy to Origin Metrics.
I don't know if HOSA will decorate the data with its own metadata (like tags and
things) or if it will truly be a pass-through. I suspect HOSA will need to massage the
data it gets from HJA to ensure the data IDs are unique across the OpenShift cluster and
things like that.
That's the overall idea. I'm sure there are going to be stumbling blocks along the
way that is going to force us to change some things around. But at a high level, I think
it should work. HJA caches inventory and metrics rather than writing directly to an
H-Metrics server - and HOSA will collect that cached data in HJA and it will be the one to
store it in Origin Metrics.