The aodh.coordination Module

exception aodh.coordination.ErrorJoiningPartitioningGroup[source]

Bases: exceptions.Exception

class aodh.coordination.HashRing(nodes, replicas=100)[source]

Bases: object

get_node(key)[source]
exception aodh.coordination.MemberNotInGroupError(group_id, members, my_id)[source]

Bases: exceptions.Exception

class aodh.coordination.PartitionCoordinator(conf, my_id=None)[source]

Bases: object

Workload partitioning coordinator.

This class uses the tooz library to manage group membership.

To ensure that the other agents know this agent is still alive, the heartbeat method should be called periodically.

Coordination errors and reconnects are handled under the hood, so the service using the partition coordinator need not care whether the coordination backend is down. The extract_my_subset will simply return an empty iterable in this case.

extract_my_subset(*args, **kw)[source]

Filters an iterable, returning only objects assigned to this agent.

We have a list of objects and get a list of active group members from tooz. We then hash all the objects into buckets and return only the ones that hashed into our bucket.

heartbeat()[source]
is_active()[source]
join_group(group_id)[source]
leave_group(group_id)[source]
start()[source]
stop()[source]