Tests for system and network aggregate pollsters

In hardware pollsters, no test is available for
verifying systems statistics and network aggregate
related meters. This patch adds tests for both.

Change-Id: I57a66181622be3f27b5d0e6e3e446df159db84a0
Closes-Bug: #1390786
add keystone events to definitions

keystone events are not measurements and do not make much sense as
samples. this patch adds definition for keystone events.

Change-Id: I13b76a71cf434512190615266948293df4d34589
Partial-Bug: #1384874
add sahara and heat events

sahara and heat samples are not measurements. they also make no
sense in the context of samples. this patch adds them to definitions
file

Change-Id: Ie19cc60897129bc012a8da1b068e309fd6120c7f
Partial-Bug: #1384874
Override retry_interval in MongoAutoReconnectTest

Currently, retry_interval is only override when class definition,
that will not work for all unit test cases. This patch fixes this
issue by putting it to setUp method.

Note, retry_interval is 0 can still work for retry algorithm, we
can reduce the time cost to minimum.

Note, DB2 uses same code as MongoDB for connecting, so if MongoDB
works, so can DB2. But they are different in many ways, and this
patch only aims at improving the unit test speed, so DB2 test can
be discussed and added in another patch.

Change-Id: I3e5e15b6d2f503ad7fb81875470259508eff988c
Closes-Bug: #1390680
[MongoDB] Fix bug with 'bad' chars in metadatas keys

MongoDB has two restrictions on fields names, they cannot contain '.' and
start with '$'. In resource_metadata field we can get any data, so it could
be dict with any keys, and if some key contain i.e. dots sample with this
metadata wouldn't be stored in MongoDB.

To protect samples from missing this patch propose to check metadata
for occurrence of dots and '$' in keys if metadata is dict, and to transform
dict with dots before storing it in MongoDB. Transformation means that
we make dict more nested and new node appears where there is dot in dict
key.

It means that if we get metadata as a dict {'a.b.c': v} before storing in
MongoDB it would be transform in {'a': {'b': {'c': v}}}.

Closes-Bug: 1246264
Change-Id: I279ae67cd24d4dadd7d7e58007e7c5c297d91772
Do not print snmpd password in logs

The snmpd password is sensitive information, so we'd better not
print it.

Change-Id: I4ab11c468ae7e13214303c755e60717bd407cbe8
Closes-Bug: #1398670
ensure unique list of consumers created

this patch makes sure that we don't create duplicate consumers when
setting up notification listener

Change-Id: I3974fb8fcc78d57bbe41e2a234859d15ab8d9db0
Closes-Bug: #1397424
Sync oslo-incubator code to latest

Currently, gettextutils has graduated from oslo-incubator, so we
need to port to new library oslo.i18n, this sync is the first move
to do that.

Sync to latest:
    commit 62339865b57eeaa3212ce61427feb19a8c0b0c0e
    Add more to the release notes
    Change-Id: Ifad658f532b5d549144008170bfe2e4181038ddf

Change-Id: I3a2432ba2960c74db614e017e29bd95c560176f6
Partial-Bug: #1389546
Merge "Do not print snmpd password in logs"
Merge "ensure unique list of consumers created"
Initializing a longer resource id in DB2 nosql backend

Longer resource id is reqpured by compute node's resource as their
id is '<hostname>_<nodename>'. DB2 creates a VARCHAR(70) for
resource id when its length < 70. But DB2 can create a VARCHAR(n)
for the resource id which has n(n>70) characters. This patch adds
an option 'db2nosql_resource_id_maxlen'(default is 512) to allow
user to adjust the value for their ENV.

@DocImpact

Change-Id: Ib58cfffb238d3b818831f0ccfe4659cfcf9c3c8a
Closes-Bug: #1387532
Merge "Tests for system and network aggregate pollsters"
Imported Translations from Transifex

For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: I2f3f4a3f092ccaacbdf077edae22f80630cda00c
Merge "add keystone events to definitions"
Merge "[MongoDB] Fix bug with 'bad' chars in metadatas keys"
Merge "Sync oslo-incubator code to latest"
Merge "Imported Translations from Transifex"
Merge "add sahara and heat events"
Rely on VM UUID to fetch metrics in libvirt

VM instance name is inconsistent between nova parent node and nova cell node.
So it is necessary to rely on VM UUID (which is an unique ID and immutable for VM
resource) rather than instance name to fetch system metrics via libvirt’s
lookupByUUIDString API.

Change-Id: I59dad915185fb191b7712024697e7b15e9e759e4
Closes-bug: #1396473
Merge "Initializing a longer resource id in DB2 nosql backend"