aodh/ceilometer
Nejc Saje 3571a607f2 Switch partitioned alarm evaluation to a hash-based approach
Short version: make use of the new distributed workload partitioning
utilities in Ceilometer to simplify the alarm evaluation
partitioning. Code is intentionally non-consolidated to enable
easy deletion of 'singleton' and 'partitioned' services in the Kilo
cycle.

Longer version:
The assignment of alarms to individual partitioned alarm evaluators
now follows the same pattern as the division of resources between
scaled-out central agents.

The evaluators each join a tooz group and emit a periodic heartbeat
to tooz. Tooz provides distributed group membership information.

Thus the set of evaluators share minimal knowledge, but this is
sufficient to guide a hash-based approach to determining whether
an individual alarm UUID falls under the responsibility of an
individual evaluator.

The current RPC-fanout-based presence reporting and the master/slave
division of responsibilities can be dropped in the next cycle.
Also the rebalancing logic when a certain threshold of alarm
deletion is crossed will no longer be required.

DocImpact
Change-Id: Ica8dae569f9ff1c2f8fe58be6ae2def66be0da54
Implements: blueprint hash-based-alarm-partitioning
2014-09-01 14:47:41 -04:00
..
alarm Switch partitioned alarm evaluation to a hash-based approach 2014-09-01 14:47:41 -04:00
api Adding comparison operators in query for event traits 2014-08-28 12:10:49 +04:00
central Central agent work-load partitioning 2014-09-01 05:31:58 -04:00
cmd Switch partitioned alarm evaluation to a hash-based approach 2014-09-01 14:47:41 -04:00
compute Central agent work-load partitioning 2014-09-01 05:31:58 -04:00
data_processing Remove redundant parentheses 2014-08-25 16:22:28 +04:00
dispatcher Switch to oslo.utils 2014-08-22 14:52:13 +02:00
energy skip polls if service is not registered 2014-08-24 21:28:37 +00:00
event Switch to oslo.utils 2014-08-22 14:52:13 +02:00
hardware Merge "Remove redundant parentheses" 2014-08-26 10:51:20 +00:00
identity Remove redundant parentheses 2014-08-25 16:22:28 +04:00
image Merge "skip polls if service is not registered" 2014-08-26 14:14:09 +00:00
locale Imported Translations from Transifex 2014-08-14 06:08:51 +00:00
network Merge "skip polls if service is not registered" 2014-08-26 14:14:09 +00:00
objectstore Merge "skip polls if service is not registered" 2014-08-26 14:14:09 +00:00
openstack Merge "Remove oslo middleware" 2014-08-28 19:59:08 +00:00
orchestration Remove redundant parentheses 2014-08-25 16:22:28 +04:00
profiler Add an exchange for Trove in profiler notification plugin 2014-08-25 23:58:38 +08:00
publisher Permit usage of notifications for metering 2014-08-27 11:24:24 +02:00
storage Merge "Simplify chained comparisons" 2014-08-29 08:37:10 +00:00
tests Switch partitioned alarm evaluation to a hash-based approach 2014-09-01 14:47:41 -04:00
transformer Merge "Remove redundant parentheses" 2014-08-26 10:51:20 +00:00
volume Handle Cinder attach and detach notifications 2014-08-06 12:38:47 -04:00
__init__.py Empty files should no longer contain copyright 2013-12-24 20:19:04 +08:00
agent.py Central agent work-load partitioning 2014-09-01 05:31:58 -04:00
cli.py Switch to oslo.utils 2014-08-22 14:52:13 +02:00
collector.py Permit usage of notifications for metering 2014-08-27 11:24:24 +02:00
coordination.py Central agent work-load partitioning 2014-09-01 05:31:58 -04:00
messaging.py Fixed various import issues exposed by unittest 2014-06-25 08:37:12 +08:00
middleware.py Fix H405 violations and re-enable gating 2014-07-01 13:41:27 +03:00
neutron_client.py Follow up fixes to network services pollsters 2014-07-22 11:33:56 -07:00
notification.py Don't keep a single global TRANSPORT object 2014-06-16 10:31:13 +02:00
notifier.py Fix H307 violations and re-enable gating 2014-07-01 13:34:54 +03:00
nova_client.py Automatic discovery of TripleO Overcloud hardware 2014-07-28 07:53:03 +00:00
pipeline.py Use resource discovery for Network Services 2014-07-21 12:11:50 -07:00
plugin.py Central agent work-load partitioning 2014-09-01 05:31:58 -04:00
sample.py Remove (c) and remove unnecessary encoding lines 2014-05-31 13:02:21 +02:00
service.py Sync oslo log module and its dependencies 2014-07-17 10:12:04 +00:00
utils.py Central agent work-load partitioning 2014-09-01 05:31:58 -04:00