Joachim Barheine b988eb855c Fix crash-loop in thresholder caused by floating point numbers used as dimension filter
Example: avg(some_timer{quantile=0.99}) > 0.1)

Changes:
* add DECIMAL (floating point value) to allowed tokens for dimensions

Without this fix, an alarm-definition like the above one once injected
through the Python API will break the Java-ORM layer because the
alarm-definition cannot be parsed by the generated ANTLR parser.
As a consequence the thresholder worker will terminate, leading to a
crash-cycle. I could not find a way to make the ORM-layer ignore
non-parseable alarm-definitions. So maybe this fix should be
complemented by an extension of the Python API that uses exactly the
same ANTLR grammar to validate incoming alarm-definitions.

Change-Id: Ibbd41e1b817ebadc74b1b4a677db898cfa173ccb
2016-12-02 09:32:48 +00:00
2016-08-30 20:13:30 +02:00
2015-10-17 22:30:45 +00:00
2014-05-01 16:22:06 -07:00
2016-11-25 18:23:44 +01:00
2016-07-01 16:06:45 +00:00
2016-08-30 20:14:13 +02:00

Team and repository tags

Team and repository tags

Overview

monasca-common is a collection of sub-projects containing reusable application and platform code for building monitoring related services.

Build Instructions

Download and do mvn install.

$ cd java
$ mvn clean install

There is a pom.xml in the base directory but that should only be used for the StackForge build. The issue is that currently StackForge's bare-precise system only has Maven 2 on it and at least one of the modules of monasca-common requires Maven 3.

In order to get around this problem, the pom.xml in the base directory uses the exec-maven-plugin to run the script run_maven.sh. This script checks if the version of mvn is Maven 3 and if it is not, it downloads Maven 3 and then uses it to run the build in the java directory.

In addition, the run_maven.sh script copies the jar files that get built from java/*/target directories to the target directory in the base project directory. This is because the StackForge "monasca-common-localrepo-upload" job uploads any jar files from that directory to http://tarballs.openstack.org/ci/monasca-common. Copying the jar files to that directory made it so there didn't have to be changes made to the "monasca-common-localrepo-upload" job. The build for monasca-thresh downloads the jars it depends on from that location on tarballs.openstack.org.

A change has been submitted to StackForge to switch to bare-trusty for this build in the hopes that those systems will have maven 3, but it is not known how long that change will take to be accepted.

Application Specific Sub-Projects

Platform Sub-Projects

python monasca-common

To install the python monasca-common modules, git clone the source and run the following command::

$ sudo python setup.py install

To run the python monasca-common tests use::

$ nosetests monasca_common/tests
Description
Monasca common classes
Readme 4.8 MiB
Languages
Java 56.7%
Python 40.5%
Shell 1.3%
Dockerfile 1.1%
ANTLR 0.4%