Make the error message of alarm-not-found clear

When creating a alarm combination with invalid project, ceilometer will
raise alarm-Not-Found error, even though the specified alarm ids are
existent. The error message is easily misleading.
This change gives a explicit presentation of this case.

Change-Id: Id189209ed4ccf27543f8dc628ca5f82eeeeeaa44
Closes-bug: #1320433
Add testcase for multiple discovery-driven sources

This test was intended to reproduce the reported issue around
resources discovered for one pollster bleeding into the resource
list passed to an unrelated pollster with the same interval.

However the observed behaviour seems correct.

Related-bug: #1335986
Change-Id: Ifb608246ad2ee2d858b4268ae2e8dc6faaff025c
Replace datetime of time_constraints by aware object

Error occurs in alarm evaluation when timezone in time_constraints is specified,
because astimezone() cannot be applied to a native datetime.

Making datetime to non-native (aware object) will solve the problem.

Change-Id: Ic0de4a5b32865bbe330c2936f14adf59168eefe5
Closes-bug: #1342676
Fix two out-dated links in doc

Change-Id: Ie5f7fa53d334f09332661dc21ee27aff35be1c21
Use None instead of mutables in test method params defaults

Mutables in the method params defaults might cause errors and
that's why it's anti-pattern in most of the cases and should be
removed.

Change-Id: Ie9897aae6e95962e0991ac9d9fc5c175f2da12a4
Remove redudent space in doc string

In file ceilometer/compute/plugin.py, there are some redudent
spaces, the patch will remove them and make the code more pleasure:)

Change-Id: I1a896366bab3344422d905b30b24cbb8f257ddde
Move hbase alarms driver code to alarm tree

This change move the alarms related code of hbase driver to
the alarm storage subtree.

Partial implements blueprint dedicated-alarm-database

Change-Id: I03f4f4e0399b460e5a5caaa49f95f805fb026a64
Correct misspelled words

Correct some misspelled words (
"extention" => "extension",
"adress" => "address"..)

Change-Id: I192905676031d1a05fc23aa222dc061b40b44932
Merge "Move hbase alarms driver code to alarm tree"
basestring replaced with six.string_types

That's needed to move further in py3 compatibility.

Partially-Implements: blueprint ceilometer-py33-support
Change-Id: I5796de3b3f359c95ddc059374e19f7e7154e45c6
Move sqlalchemy alarms driver code to alarm tree

This change move the alarms related code of sqlalchemy driver to
the alarm storage subtree.

Partial implements blueprint dedicated-alarm-database

Change-Id: I70047a321581ee8b12533a8a5834d26e9d203532
Remove ConnectionProxy temporary class

Since all drivers have been splitted, we can remove the temporary
ConnectionProxy class.

Partial implements blueprint dedicated-alarm-database

Change-Id: I30240173ff07bb7503a5331d13ca601b2868debc
Don't override the original notification message

We must not override the notification message.

This patch make the code clearer by not changing the message payload
during the loop over neutron ressources.

Change-Id: Ib3d1245555c9d5e080fc0979df874ee940bed29d
Set python hash seed to 0 in tox.ini

New tox (>=1.7.0) sets a random python hash seed by default. This is
generally good for testing because it will help keep projects working
regardless of the hash seed, but ceilometer unittests don't currently
pass with a random hash seed so set it to the python default seed.

This change will allow us to use new tox again and remove the
restriction on tox<=1.6.1 to run unittests.

Redundant setenvs for specific test envs are removed to prevent them
from overriding the PYTHONHASHSEED value.

Note this change will need to be backported to the stable branches to
keep unittests there working with new tox as well.

Change-Id: Ibc613d77ad52d5f7d8d613f3dd66ffba4117ff72
Automatic discovery of TripleO Overcloud hardware

-geting IP addresses from Undercloud nova, allowing
 to poll all Overcloud nodes via SNMP
-adding support of basic auth, user_name and password
 used in TripleO by default

Change-Id: I189dbba9579055c8a1a878a769760a72e9174c6d
Fix aggregator flush method

When no samples have been handled by the aggregator but flush method is
called, an empty array must be returned because 'initial_timestamp' have
not been set yet.

Also, the pipeline always catchs exception from transformer and when an
error occurs into a transformer the unit can not catch them.
The patch also reraises any transformer exceptions.

Closes-bug: #1325507
Co-Authored-By: Ala Rezmerita <ala.rezmerita@cloudwatt.com>

Change-Id: Ib3183dfa3ee37ba586eb03a73f5de4641dd98514
Replace iterator.next() with next(iterator)

Python 3 introduced a next() function to replace the next()
method on iterator objects. Rather than calling the method on the
iterator, the next() function is called with the iterable object
as it's sole parameter, which calls the underlying __next__() method.

As the next() function was backported to Python 2.6, we can
use it either in the 2.x or 3.x simultaneously - that's why
six.next() usage was also removed from the source code.

Partially-Implements: blueprint ceilometer-py33-support
Change-Id: I47ad69b0e5dc0840f733230d485bb1443cff8e5b
Merge "basestring replaced with six.string_types"
Replace dict.iteritems() with six.iteritems(dict)

This change is needed to make Ceilometer code both Python 2.x and
3.x compatible in some future. Oslo modules are left without
changes in this change, that will be done directly in the
oslo-incubator code.

Partially-Implements: blueprint ceilometer-py33-support
Change-Id: Ic7fe5819f85524bb36f04dec6cad10d4cf2b935d
Merge "Replace iterator.next() with next(iterator)"