[GSoC] Hawkular Android Client
by Artur Dryomov
Hi everyone,
This year I will be working on the Hawkular Android client application as
part of the Google Summer of Code 2015 program.
The application itself will use Hawkular API and AeroGear SDK. In coming
days I’ll research these areas, especially documentation, and will try to
create some sort of architecture and basic design.
Thank you all for this opportunity!
Artur.
1 week, 5 days
Hawkular Metrics Openshift Containers
by Matt Wringe
I have a new subproject in Hawkular Metrics which sets up creating
components for Openshift/Fabric8
(https://github.com/hawkular/hawkular-metrics/pull/200).
There are 3 main parts
Cassandra: creates a custom seed provider to support
ReplicationControllers in Kubernetes, creates a folder/zip archive which
can be used to generate a Docker image. It may make sense to move the
Cassandra parts out to a separate project.
Hawkular Metrics: creates a folder/zip archive which can be used to
generate a Docker image
Kubernetes: pulls everything together into a single kubernetes
application. Can be used to deploy an application zip into fabric8 (via
drag and drop in the web console or via the maven plugin) or deploy all
the components into Openshift via the kubernetes.json configuration file.
The docker images are not created and deployed to a docker registry as
part of the build, it will just create a folder where you can run the
docker build from. None of the maven docker plugins I looked at seemed
to really work properly, so its still a manual process to do the build
(and push to a registry). Its something which needs to be improved.
The Cassandra service currently only supports adding new nodes to a
cluster and not removing them via the ReplicationController. This is due
to the replication factor being set to be 1 by default (which means when
a node is removed, so is the data it contained).
I believe the docker subproject of hawkular metrics is obsolete and can
be removed
(https://github.com/hawkular/hawkular-metrics/tree/master/docker), but
someone please correct me if I am wrong. It's scripts are referring to
the console which no longer exists as part of the project.
- Matt
1 week, 5 days
Maven swagger plugin
by Gary Brown
Hi
The current version of the maven-swagger-plugin used by hawkular doesn't include derived types in the generated docs.
I've tried updating to 2.3.4 and it still does not work. From some basic tests with 3.0.0, it seems to produce the correct content in the json schema - but has slightly different attributes to the plugin configuration, which when updated does not seem to run the template correctly.
The other issue is some API changes when updating the com.wordnik:swagger-* dependencies in line with this maven plugin, as there have been some GAV and API changes.
Its not an urgent issue, but it looks like we will be impacted by changes when we need to upgrade, so thought I would raise the issue.
Regards
Gary
1 week, 5 days
Tenant Id - Not Part of URL
by Stefan Negrea
Hello Everybody,
I've been working on a PR for the upcoming Hawkular Metrics release that will remove the tenant id from the end-point URLs. The tenant id will be moved to either a header parameter or a query parameter. The query parameter is in place for cases (such as curl) where setting a header is not possible, difficult, or inconvenient.
Here is an example of the change:
Existing URL:
/{tenantId}/gauge/{metricId}/data
New URL:
/gauge/{metricId}/data
Tenant id set via:
1) header - tenantId
2) query parameter - tenantId
There are two exceptions to this rule, /tenants and /db/{tenantid}/series. The /tenants end-point will be changed into something different in the upcoming releases since it is mostly a management type API that does not belong in the same place with the regular metrics endpoint. And /db/{tenantid}/series end-point is needed in this exact format for compatibility with Influxdb compatible services.
Now, to the merits of this change. The tenant id is volatile, can change any time, and changes to it should be expected; but the rest of the URL is fixed. The second issue is that the tenant id is a security concern. So we were limited in design choices since a security concern was leaking as part of the URL.
So removing the tenant id from the URL will give us permanent & consistent addresses for resources (metrics and metric data points). And we will gain a lot of flexibility on the security side. In the future, users could authenticate with a user/pass combo and the backend would transform that into a tenant id to be used on the request. If the same user later decides to use a tenant id to pass along the request, the URL of the resources would not change. Another expectation is that tenant id is not sufficient, it is typically a combo of id + secret; so we would have resorted to a header or query param for the second piece of information (the secret).
This change will give us the flexibility to adjust the security model (the meaning of tenant ids and ways to validate them) without compromising the URL structure. This will help Hawkular Metrics as it gets integrated into more and more projects and products.
Here are the links to the JIRA and the PR for this change:
https://github.com/hawkular/hawkular-metrics/pull/202
https://issues.jboss.org/browse/HWKMETRICS-68
Thank you,
Stefan Negrea
Software Engineer
1 week, 5 days
hawkular wildfly agent - feed ID
by John Mazzitelli
There was some concern that the feed ID autogenerated by the agent might not be what a person always wants (e.g. feed ID for WF10 agents will be the unique UUID of the wildfly server).
So, if you want to define your own feed ID, you can configure it now. In the agent's standalone.xml <storage-adapter> you can specify a feedId attribute if you want. By default, it isn't specified, so the agent will autogenerate a unique feed ID for itself (this should really be the normal mode of operation, but some people like to complain, so I made it easy to shut them up :-)
This is in master. Will be in the next release.
1 week, 5 days
New and noteworthy in hawkular-parent 25
by Peter Palaga
Hi *,
hawkular-parent 25 brings the following:
* srcdeps-maven-plugin 0.0.5
* meets the promisses falsely done for 0.0.4:
* less console output
* built without tests
* wildfly-maven-plugin 1.1.0.Alpha4
I have sent PRs to all components repos.
Thanks,
Peter
_______________________________________________
hawkular-dev mailing list
hawkular-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hawkular-dev
1 week, 5 days
Alpha 11 - Are you ready?
by Juraci Paixão Kröhling
Team,
Now that BTM is integrated and the fixes from Alpha 10 are fixed, we are
ready to release Alpha 11.
Besides BTM, a couple of people asked for other features/fixes to be
included in Alpha 11. So, if you still have something pending that you'd
like to see on Alpha 11, do let me know. If nothing is said until Monday
morning (CET/UTC), I'll go ahead and start releasing components for
Alpha 11.
As there were changes in the Commons package, we'll probably need to
release all components. The planned schedule looks like this:
- Morning of Feb 29th, Monday: Parent, Commons and Accounts
- Afternoon of Feb 29th, Monday: Inventory, Metrics, BTM
- Morning of Mar 1st, Tuesday: Command Gateway, Agent, Alerts
- Afternoon of Mar 1st, Tuesday: Hawkular
Also, please do test the parts that concerns your work.
- Juca.
8 years, 9 months
ManageIQ / Hawkular - some questions
by Lucas Ponce
Hi,
As commented in the IRC I am going to prepare some questions about the $SUBJECT.
I have spent a couple of days reviewing ruby and starting to look into ManageIQ architecture where Hawkular will be a Middleware provider.
Some my preliminar doubts (perhaps this was discussed in a different thread, so please, point me to that if I missed it):
* Where will be stored metrics and inventory ?
That info should live in the provider (owner of that information) and copied to ManageIQ repository ? Or on the contrary, ManageIQ will be the owner of that info and the provider is a technical cache.
* How information of the providers is collected ?
In some preliminary meeting I understood that agents or whatever mechanism that collects information of the middleware domain should be sent to the provider. Is this valid ? or the architecture is that in the future all agents should be managed directly into ManageIQ ?
I guess that this is some kind of hybrid architecture as there will be always external provider (thinking on Amazon or other domain) that is managed by ManageIQ but the provider is the owner of the info.
* Alerting
This perhaps brings to me as I have personal interest on this topic.
I see that ManageIQ has alerting features, so it can define alerts and group them in policies into resources in some way.
>From what I see and related with the previous information, who is the owner of the information ? provider or ManageIQ ?
I can see that ManageIQ can be the owner of alerts definitions but perhaps the provider can have their own pre-configured alerts and feed ManageIQ.
(I am thinking again in how this works for the Amazon model, I'm sure that Amazon cloud will have their own alerting definitions, perhaps an hybrid approach can be used here).
Also, I have the same doubt with Events, one of the major features of Hawkular Alerts was to manage events in a generic way, so, if the provider if the owner of the metrics/inventory it makes sense in a first approach that it can be the owner of some of middleware events (perhaps Events might have several meanings here, it happened to us in Hawkular and also with the ManageIQ integration that term should be revisit to be sure that we are talking about same concept).
* Roles
Are we going to provide strong role profiles ? for example a middleware role, that only can see the Middleware information without any access to cloud/infrastructure.
* API
One of the feedbacks I have heard from people about Hawkular and with experience with OpenShift/CloudForms is the use of the API to personalize and automate powerful tasks (for example, feeding events generated by an application, not just for the container).
How API should work in this case ? All API should be proxied/routed by ManageIQ or accesing to the provider API is valid ? (Again, thinking on external providers like Amazon makes me wonder what is the goal of this).
I have more doubts (perhaps more related of the global architecture as I am not yet familiar with it) but I think these 5 topics are high level and it could help to understand better the context.
(Again, perhaps these ones are discussed/written in other thread, and are obvious, but I couldn't find them).
Thanks,
Lucas
8 years, 9 months