tomorrow
by John Mazzitelli
Tomorrow morning I would like to talk about something Heiko prototyped, which I then took and built out. It is related to server-feed communications and is also going to relate to pushing realtime information to the UI as well. Now that this stuff is in a place that is demoable (its hacked up, but it shows what I want it to show), I figure let everyone know what's going on, and what it is Heiko has been dreaming up (see how I subtly threw him under the bus there? :) Seriously, its a pretty cool idea and I have something working that I can show. If anyone is interested, I'll do this maybe during or after the status call. I realize its last minute, but I wanted to bring it up now before the end of week because I don't know if we want this infrastructure to go in the release next week or not.
9 years, 2 months
resteasy jackson or fasterxml jackson?
by John Mazzitelli
This is more for Lucas P, but wanted to put it out to the wider audience.
I'm playing with JSON stuff, and now that we are not using gson, we have to decide what jackson version we are going to use, because i just saw some oddities on stuff I'm building because of the two different impls that are available.
Are we going to use the restasy jackson2 or the fasterxml jackson artifacts? I think we need to consolidate on one (I mean, after all, we just got rid of gson - so we are trying to consolidate on one JSON impl). And they are technically two different impls because they are in two totally different Java packages and so look like two different impls. This can bite us if we aren't careful.
I'm using fasterxml right now. I don't know if i'm going down the exact same path that I did with gson (that is, using something no one else is). But my problem is I believe the resteasy modules are NOT in WildFly Core, so that's why I'm just pulling in the fasterxml artifacts directly rather than depending on the resteasy module.
9 years, 2 months
[GSoC] Hawkular Android Client: Weekly Report #7
by Artur Dryomov
Hi everyone,
This year I am working on the Hawkular Android application as part of the
Google Summer of Code 2015 program.
This morning Heiko had merged two pull requests. The first one is important
and is related to the API update, hopefully you can use the latest Hawkular
version with the application at this point—well, at least the 1.0.0 Alpha 2
[1]. The second one is more minor, but helpful—you can now filter alerts by
time periods, just like the web UI [2].
I wanted to discuss future plans—mostly because the application itself is
working and all basic features are available. Most of all I would like to
receive some feedback regarding the direction of the future development.
And I totally understand that Hawkular itself is evolving and there are
more changes to come.
Major.
- Accounts. I need to investigate if it is possible at all, but multiple
accounts handling would be nice. If it is not, at least logging out should
be supported. There is some work done about that, but the discussion
suddenly calmed down [3].
- Navigation. I am not entirely sure that the current navigation handles
everything properly. For example, at the moment all alerts are shown when
browsing alerts. There should be some categorization based on resources,
but at moment there are no proper API calls supporting it. The only thing
we have is filtering via trigger IDs. Web UI solution is mostly a hack from
my perspective [4].
- Applications. This is a big one. I need to try to configure it and
play with the API to understand how it works and how can I adapt the
application to handle it.
Minor.
- Chart. Distinguish availability and threshold ones. Not sure if it is
possible in a flexible way, because Inventory at this point doesn’t show a
type in the Metric model.
- Chart. Make it more like the web one. I’m kind of limited by the used
chart library, plus it is tricky to handle large sets of data, especially
for months and years. Trying to dig through the TypeScript source code to
understand how the web UI works.
- Lists. Maybe add pull-to-refresh support. Purely cosmetic and utility
change, not sure if it will be useful actually.
Most likely I should restructure these points into GitHub issues and work
on them, but I wanted to receive some feedback if it is possible. What do
you want to see in the application? What do you think should be primary
goals at this point?
Thanks and have a nice week!
Artur.
[1]: https://github.com/hawkular/hawkular-android-client/pull/28
[2]: https://github.com/hawkular/hawkular-android-client/pull/29
[3]: https://github.com/hawkular/hawkular-android-client/pull/26
[4]:
https://github.com/hawkular/hawkular/blob/b61fc571bfff88a08621b088c79f3a2...
9 years, 3 months
gson->jackson
by John Mazzitelli
Lucas,
https://github.com/hawkular/hawkular-agent/pull/21
Can you look at that? I'm confused how you got the bus stuff to work because:
a) I do not see you adding any additional dependencies to the bus WildFly extension module.xml
b) I do not see any additional jackson jars added.
The agent has:
<module name="org.codehaus.jackson.jackson-core-asl"/>
but that still fails:
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.core.JsonProcessingException
I see the org.codehaus.jackson modules in WildFly, but all of them have Java packages of org.codehaus, not org.fasterxml...
So, I'm not sure what magic I'm missing. I should have all the code in there now, I just need to know what runtime dependencies the agent needs to have to get those classes.
9 years, 3 months
Master "open" again
by Heiko W.Rupp
Hey,
alpha2 has been tagged, so post alpha2-changes can go in master now.
Remember to keep master in a releasable state nevertheless
Heiko
9 years, 3 months
Prototype of operations execution on the feed
by Heiko W.Rupp
Hey,
I have prototyped the execution of operations on the feed (WF-server for
now).
Note, that this is not any way of final implementation, but merely a
proof of
concept to get this started with the possibility to discuss some less
abstract situation/code.
Also for the "action on all selected items" - that is currently not
taking
the selected items only.
This works by having a new endpoint on the server
http://localhost:8080/hawkular/opsq
where a post to it submits one or more jobs onto the server.
A get to opsq/{feedid} then pulls one job for that feed.
The wf-agent now has a new runnable 'OpsGroupRunnable' that
once per minute polls that above endpoint and executes jobs that are
available.
I think that for a real implementation we should consider upgrading
the server-feed communication from many http/1.1 requests to
a websocket connection, that is then multiplexed on the server and
when something is added to the queue of jobs, it directly gets
pushed instead of the agent polling for it.
Also the result of the operation needs to be delivered back to the
server and ui; we need to add some unique operation id, to be able
to correlate request and result.
This also brings back the resource type discussion (see other email),
as e.g. a .war file does not support a :delete action. This needs e.g.
to
be broken out into a :undeploy and then remove-from-vf-content-repo
action. Or there are no :enable/:disable actions. They may need to be
translated into deploy/undeploy. Or greyed out in the UI.
The implementation spans multiple repositories - I do not intend
to send pull-requests, as this is only a prototype / proof of concept.
Hawkular-Monitor:
https://github.com/pilhuhn/hawkular-agent/tree/ops-get
UI-Services:
https://github.com/pilhuhn/hawkular-ui-services/tree/ops-get
Hawkular:
- QueueHandling
https://github.com/pilhuhn/hawkular/tree/ops-get/modules/ops-queue
- UI
https://github.com/pilhuhn/hawkular/tree/ops-get/ui/console/src/main/scripts
9 years, 3 months