3571a607f2
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 |
||
---|---|---|
.. | ||
alarm | ||
api | ||
central | ||
cmd | ||
compute | ||
data_processing | ||
dispatcher | ||
energy | ||
event | ||
hardware | ||
identity | ||
image | ||
locale | ||
network | ||
objectstore | ||
openstack | ||
orchestration | ||
profiler | ||
publisher | ||
storage | ||
tests | ||
transformer | ||
volume | ||
__init__.py | ||
agent.py | ||
cli.py | ||
collector.py | ||
coordination.py | ||
messaging.py | ||
middleware.py | ||
neutron_client.py | ||
notification.py | ||
notifier.py | ||
nova_client.py | ||
pipeline.py | ||
plugin.py | ||
sample.py | ||
service.py | ||
utils.py |