Please update JIRA status
by Heiko W.Rupp
Hey,
when starting to work on a JIRA in HAWKULAR or HWK*, please update
the the status in JIRA to be "on dev". You can do so by clicking on the
"Start Progress" button in Jira
This way it is easier to see what is worked on and also helps to prevent
more than one person starting the same issue.
Thanks
Heiko
8 years, 8 months
Inventory configuration definitions
by Lukas Krejci
Hi all,
There is a pending PR on inventory to add support for checking configurations
against a schema. The configs are directly mappable to JSON and the schemas
are actual JSON schemas.
Now to create a resource with configuration is a two-step process. First one
creates a resource without configuration and then adds a configuration to it.
When the PR is merged the configuration will be checked against the schema
(stored at the resource type) but that check will only happen when the config
is created (or updated), not when the resource itself is created.
Today, Heiko asked if a URL resource could be made required to have a valid
URL. Given the above, the answer is yes, but the URL resource can exist
without any URL, too, until someone assigns one to it (at which point it can
be ensured that it is a valid URL using some regex magic).
My question is, do we actually want to support Heiko's scenario (i.e. disallow
resource creation without also supplying valid config)? In my mind, one of the
reasons for bothering with Hawkular and abandoning RHQ was to ease up on the
strict rules we had there about resource hierarchies and resource creation.
Certainly, those restrictions and rules made sense, but at the same time
forced a rigid and non-modifiable workflow when working with RHQ.
IMHO, there should be an understanding of an "incomplete" resource - i.e. one
that doesn't have all the data with it that is should have - either because
that piece of data hasn't trickled down to the inventory or because the user
actually didn't decide yet what the resource will end up being. Having the
support for incomplete resources also makes the future support for changing
the resources' types easier - it could be done in steps.
Do you see strong reasons for requiring valid config at resource creation time
or do you think that current workflow is "workable" and my reasons for doing
it that way at least partially valid?
Thanks for input,
Lukas
8 years, 8 months
Each hawkular-metrics PR is now checked for performance regression
by Filip Brychta
Hello,
Please be aware that second check (first is continuous-integration/travis-ci/pr) on each hawkular-metrics PR now finally does something useful.
Following build (http://jenkins.jonqe.lab.eng.bos.redhat.com:9080/job/haw-perf-stability-t...) is launched for each PR which will:
1 - build the PR
2 - build hawkular-dist using snapshot artifact from step 1
3 - deploy hawkular-dist
4 - start perf test which will
- generate as high load as the hawkular is able to server. Right now from 300 threads where each thread is using unique tenantId.
- measure average throughput (one request == POST one data point to http://${server.host}:${server.port}/hawkular/metrics/gauges/test/data and wait for response)
- check % diff with previous build
- if the % diff is < -2, it will fail the build. Right now it's still not 100% stable because of shared network, this problem should be fixed soon. Expected instability is now +/- 2 % so anything bigger than 2% should be considered as regression
5 - report status back to the PR
So please from now on pay attention to result of that check and ping me if it fails.
Consider this just as first step, there will be more next week since we have more time now (JON 3.3.3 is out).
It would be nice if anybody could create a PR which would test this (just include some tiny sleep into request processing)
Thanks,
Filip
8 years, 8 months
faster dev build of hawkular
by Jiri Kremser
Hello there,
there is a PR hanging https://github.com/hawkular/hawkular/pull/342
that will change the way the -Pdev profile works. Currently, it creates the zip and gz archive, but most of us don't use it during the development. The directory is pretty much ok. So it won't be created anymore, if you need the zip/gz with precreated jdoe:password, use -Pdozip.
I am sending this not to break anyones automated workflow. I asked Filip and it seems QE don't depend on it.
Perhaps the dozip profile can go away completely, then.
jk
8 years, 8 months
dev/inventory-0.3.0.Final integration branch opened
by Lukas Krejci
Hi all,
I've opened the integration branch for the new inventory version now even
though there is not much new yet in inventory that is consumable by remote
clients.
The only breaking change since 0.2.0.Final right now is that inventory paths
now use percent encoding like URIs to escape special characters instead of the
backslash which was used before. This is not even merged to inventory master
yet (only the PR is opened). This was done to make passing the paths to the
REST api easier and to actually re-enable support for resource hierarchies in
inventory REST.
In the pipeline is the adding the REST methods for storing resource
configurations (but not configuration definitions yet) for which a WIP PR is
also open.
Cheers,
Lukas
8 years, 8 months
basic "deploy an app" should be working in kettle now
by John Mazzitelli
I got the basic use-case "deploy an application" working tonight so I released a new bus and agent with the feature so building hawkular/dist master branch should pull it in. I'll talk to the UI folks Monday morning on what they need to do next. But, in short, look at the DeployApplicationRequest JSON [1] - that's the JSON request. You must stream the application file content (the war or ear or whatever) immediately following the JSON text over the websocket as a single message.
My example .html [2] shows how I was able to stream data over the websocket to submit the request, but I did it by having the client browser load the file in memory first - not something I think we want to do in the product, but, this is how I got it to work:
=====
<html> ... <input type="file" id="file" name="file"/> ... </html>
...
<script>
...
document.getElementById('file').addEventListener('change', handleFileSelect, false);
var fileBinaryContent = null;
function handleFileSelect(evt) {
var theFile = evt.target.files[0];
var reader = new FileReader();
reader.onloadend = function(readEvent) {
if (readEvent.target.readyState == FileReader.DONE) {
fileBinaryContent = new Uint8Array(readEvent.target.result);
}
}
reader.readAsArrayBuffer(theFile);
}
...
// when you are ready to send, do the following
var text = "DeployApplicationRequest={...the json...}";
var binaryblob = new Blob([text, fileBinaryContent], {type: 'application/octet-stream'});
socket.send(binaryblob);
...
=====
That is all.
--John Mazz
[1] https://github.com/hawkular/hawkular-bus/blob/master/hawkular-feed-comm/f...
[2] https://github.com/hawkular/hawkular-bus/blob/master/hawkular-feed-comm/f...
8 years, 9 months
[metrics] schema changes
by John Sanda
The work for HWKMETRICS-168 was merged into the master branch of the hawkular-metrics repo earlier today. If you work out of master, you will need to recreate your schema(s). Some changes were made to the task_queue and leases tables.
- John
8 years, 9 months