joyce e8def40a41 Fix matchmaker_redis ack_alive fails with KeyError
Fix matchmaker_redis: ack_alive fails with KeyError on re-registration
attempt.

def ack_alive(self, key, host):
    topic = "%s.%s" % (key, host)
    if not self.redis.expire(topic, CONF.matchmaker_heartbeat_ttl):
        # If we could not update the expiration, the key
        # might have been pruned. Re-register, creating a new
        # key in Redis.
        self.register(self.host_topic[host], host)

self.host_topic is a dict with keys of tuple (key, host), not 'host',
register's first parameter is the topic like 'notification-info',
so modify it to key.
And it will not cause indefinite recursion, because when register end,
the key exist in redis, redis.expire will return True.

Add test case for ack_alive.

Closes-Bug: #1419718

Change-Id: I8d972afe89aec02a5c8f0d9dd4e216bc12c298a1
2015-02-27 16:32:10 +08:00
2014-01-15 04:08:18 +00:00
2015-01-26 21:55:20 +00:00
2014-06-05 22:48:44 +02:00
2015-02-05 12:11:37 +01:00
2014-04-30 02:45:47 +00:00
2015-01-14 09:04:22 +01:00
2015-02-11 16:25:04 +00:00

Oslo Messaging Library

The Oslo messaging API supports RPC and notifications over a number of different messaging transports.

Description
OpenStack library for messaging
Readme 36 MiB
Languages
Python 99.8%
Shell 0.2%