Added abc.ABCMeta metaclass for abstract classes

Change-Id: I036148693a38fb1b0d1c298eb22d16e8d24ecacf
Fix recursive_keypairs output

recursive_keypairs has 'separator' argument. This method is recursive
and a problem is that 'separator' argument is applied only in first
iteration of the method.

Besides, this method is used in flatten_metadata in API implementation.
That's why it is needed not to change output from recursive_keypairs in flatten_metadata.

So the path has a goal to fix incorrect recursive_keypairs impementation but
not to change output of flatten_matadata in API

Fixes bug 1268628

Change-Id: Ic9829342c47325c1df7b81dc4148c08a13e0d067
Add documentation for pipeline configuration

Extend the configuration section of the development documentation
of Ceilometer to contain the configuration options of pipelines.

Change-Id: Ie033431716b32a41040d5b4738e6ba150c2c9da8
Closes-Bug: #1272988
Add table prefix for unit tests with hbase

Fixes: bug #1271993

Change-Id: Idaa8bd4ae54db56fd060720eb46ccef4049ce493
Replace non-ascii symbols in docs

In order to successfully run sphinxcontrib-spelling on Ceilometer docs we need
to replace all non-ascii symbols with the analogous ones from ascii.

Without this fix sphinxcontrib-spelling will fail with:
"UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019'
in position 8: ordinal not in range(128)"

Change-Id: I37891b9471571c3509aece3949d9593738f99849
samples: fix test case status code check

If a driver returns NotImplemented, the status code won't be 404 but the
test should not fail. Use the status argument in get_json for that check.

Change-Id: I71f21589d3a9fa917746e5eecb20f0e883cab830
nova notifier: disable tests + update sample conf

The nova notifier is again broken due to Nova switch to oslo.messaging.

Anyway, it's likely that this code has been broken for a long time, as
it is not enabled nor tested on devstack anymore. And it's very unlikely
compatible with oslo.messaging.

This patch only disable the run of the tests for now, but we might
consider removing the code before i3 if nobody stands up and try to fix
it in a way or another.

This patch also update the configuration file for the new keystoneclient
release.

Change-Id: I679154baff476957f46e7930db69aeec7e368648
Fix string-to-boolean casting in queries

There is a function that converts strings to boolean that uses the
following rule:
Strings-True ('1', 't', 'true', 'on', 'y', 'yes') are converted to True
Strings-False ('0', 'f', 'false', 'off', 'n', 'no') are converted to False

But there is a default value (False by default) that returned in case when
the string is not in any of lists above. So by default any string that is
not in Strings-True will be converted to False. We may change this behaviour
by using strict=True checking.

If user creates a query we should validate that only valid strings (as above)
or boolean True or False are used in case of boolean filter.

Relates to bug 1236496

Change-Id: I83a54f09d715269c2d356bb7979a0372e6f7d2d0
Fix formating of compute-nova measurements table

Fixes bug 1276554

Avoid nova meters being ommitted from the generated docs.

Change-Id: I4f5871fd74bdb20c0867b5ba9300eb2fa28df632
Adds additional details to alarm notifications

Previously, the alarm notification contained only a stringified
reason. This change adds a JSON formatted reason why the alarm changed its
state to the notification.

New notification:
{
  "alarm_id": "0ca2845e-c142-4d4b-a346-e495553628ce",
  "current": "alarm",
  "previous": "ok",
  "reason": "Transition to alarm due to 1 samples outside threshold, most recent: 99.4"
  "reason_data": {
    "type": "threshold",
    "disposition": "outside",
    "count": 1,
    "most_recent": 99.4
  }
}

It also improves the reporting of OR-combination alarms. Previously the
reason said something like "At least one alarm in xx,yy,zz in state alarm".
Now only the offending alarms are listed.

Change-Id: I258c7bfc0c093c07e518418fea1bb1f044fe98eb
Implements: blueprint alarm-notification-details
Handle engine creation inside of Connection object

We now store sqlalchemy engine object inside of our Connection object.
This allows us to open multiple concurrent connections.

Change-Id: I57b6d89f30c065643dbfab958e032f2adac59cd6
sync oslo common code

sync code with commit-id: 5e5a51b3ddc25b3242e8f4f4b5e5357942618662

Change-Id: If62f3bba14cdc74c78685b2fdf5aa769c4158a50
Move ceilometer-send-counter to a console script

Change-Id: I504f999a04da0e58da5e60201325e062e1c7d9c5
Blueprint: remove-counter
Replace 'a alarm' by 'an alarm'

This is the right article to use. It also matters because the generated
documentation in api-site currently has to be manually fixed.

Change-Id: I4a31e268b5fef47e4a6530ca5e1e4159d10c8c48
Fix for a simple typo

Change-Id: Ideb906d75a917e2c2843f4270da879352fe52df6
Closes-Bug: 1276878
Updated from global requirements

Change-Id: Iec06d578879ff880152a1fa48d952a691a1b3306
Merge "Add documentation for pipeline configuration"
Merge "Move ceilometer-send-counter to a console script"
Merge "Fix string-to-boolean casting in queries"
Merge "Updated from global requirements"