diff --git a/oslo_messaging/_drivers/matchmaker_redis.py b/oslo_messaging/_drivers/matchmaker_redis.py index f77b755cf..4ba5447c5 100644 --- a/oslo_messaging/_drivers/matchmaker_redis.py +++ b/oslo_messaging/_drivers/matchmaker_redis.py @@ -128,7 +128,7 @@ class MatchMakerRedis(mm_common.HeartbeatMatchMakerBase): # No value is needed, we just # care if it exists. Sets aren't viable # because only keys can expire. - pipe.set(key_host, '') + pipe.sadd(key_host, '') pipe.execute() diff --git a/tests/drivers/test_matchmaker_redis.py b/tests/drivers/test_matchmaker_redis.py index 95bde9e8a..a36e14af6 100644 --- a/tests/drivers/test_matchmaker_redis.py +++ b/tests/drivers/test_matchmaker_redis.py @@ -46,6 +46,7 @@ class RedisMatchMakerTest(test_utils.BaseTestCase): "network": ["controller1", "node1", "node2", "node3"], "cert": ["controller1"], "console": ["controller1"], + "l3_agent.node1": ["node1"], "consoleauth": ["controller1"]} self.matcher = matchmaker_redis.MatchMakerRedis() self.populate() @@ -70,6 +71,10 @@ class RedisMatchMakerTest(test_utils.BaseTestCase): self.assertEqual( sorted(self.matcher.redis.smembers('cert')), ['cert.controller1', 'cert.keymaster']) + self.matcher.register('l3_agent.node1', 'node1') + self.assertEqual( + sorted(self.matcher.redis.smembers('l3_agent.node1')), + ['l3_agent.node1.node1']) def test_unregister(self): self.matcher.unregister('conductor', 'controller1')