Fix updating alarm can specify existing alarm name

when creating an alarm, we cannot specify an existing name of the
project. but when updating an alarm, we can specify an existing name.

Change-Id: Ia24347ee647e7755b50d0d5d2ff033f4c5cbeb19
Closes-bug: #1288155
spawn multiple workers in services

the collector service only ever grabs one connection to the
database at a time. this causes a massive backlog on the message
queue. enable ability to spawn multiple workers for notification
and collector services.

Change-Id: Ie85c4a6eace52c771c3eb8425839d253f8dd74cd
Closes-Bug: #1291054
Avoid swallowing AssertionError in test skipping logic

The logic designed to skip testcases when NotImplementedError
is raised by a storage driver can inadvertantly swallow a
failed assertion if the string representation happens to
include 'not implemented'.

Change-Id: I1c9e617a5dcb545941d92ed7a0d7cc702c407506
fix create_or_update logic to avoid rollbacks

check if entry exists rather than blindly adding entries to table.
this will avoid unnecessary rollback overhead.

Closes-Bug: #1295504
Change-Id: I923cc35ed4c9155ffa04ac189555cdbcb38bcbcf
Ensure idempotency of cardinality reduction in mongo

Fixes bug 1297004

Previously, the reduce function for the cardinality aggregate was not
idempotent with respect to partially-reduced values.  This led to the
cardinality value being inaccuarate when the size of the mapped set
caused mongo to call reduce in multiple stages.

Now, the reduce function respects the implicit idempotency requirement.

Change-Id: Ia1e5f8dad43a9afbba8bace610e0d6574fb579cc
Documenting hypervisor support for nova meters

Support was recently added for HyperV and Vsphere for Nova meters in
ceilometer. However, not all meters are supported by all the
hypervisors. Hence, have added documentation to list the meters and the
hypervisors which provide support for them.

Change-Id: I9c828ffdd8276a487a35f31ba4ba11dcab93964c
Implements: blueprint vmware-vcenter-server
Merge "Avoid swallowing AssertionError in test skipping logic"
Merge "Ensure idempotency of cardinality reduction in mongo"
Merge "spawn multiple workers in services"
Merge "fix create_or_update logic to avoid rollbacks"
Fix order of arguments in assertEquals

Part 1

Related to: bug #1277104

Change-Id: I9822a534d5082394dc5f64d911cd0a8fb1845018
Merge "Fix updating alarm can specify existing alarm name"
Fix ceilometer.conf.sample mismatch

ceilometer.conf.sample mismatch issue makes the tests failing. This patch
removes the checkupdate.sh test from tox.ini, like it was removed from nova
too, until having a proper solution for handling the changes in
ceilometer.conf.sample, to fix the gate quickly.

Closes-Bug: #1297999

Change-Id: I7889580b3df2d30d80703d7ef540194e7f71ec51
enable a single worker by default

there are issues with postgresql and multiple connections. change
default to a single worker to still allow multiple workers for
backends which support it.

Partial-Bug: #1298073
Change-Id: I1bf256f333ad8614bcae2c74dc0544553bffbbe7
Merge "Fix order of arguments in assertEquals"
Merge "enable a single worker by default"
Verify user/project ID for alarm created by non-admin user

Fixes bug 1297677

Previously, when a non-admin user created an alarm on behalf of
another user, the ownership of the alarm silently reverted to the
requestor's identity.

Now, we check for this case and fail with 401 Not Authorized when
a non-admin user attempts to create an alarm explicitly associated
with another identity.

Change-Id: I8f372b1523012990b8f1d48b03cf9ed9cef65c60
Remove escape character in string format

String format can use escape character '\' to break lines, but it
requires the continuous line not be aligned or the spaces will be
included too. This patch uses parentheses to format string, and
removes the '\'.

Change-Id: I6c007d48d9b99d102c82b4d93ef6f825828e9e20
SSL errors thrown with Postgres on multi workers

database connections were made on service initialisation and not
on process start. this led to all processes of a service sharing
the same connection. in this patch, we create unique
dispatch_manager to handle a different engine for each process.

we keep default to a single worker as schema needs to be updated
to avoid possible race/deadlock conditions

Closes-Bug: #1298073
Change-Id: I2ad05e2085c0c0f78653c6354d301d18b8dee121
Merge "Verify user/project ID for alarm created by non-admin user"