summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrant Knudson <bknudson@us.ibm.com>2015-04-07 19:35:00 -0500
committerDoug Hellmann <doug@doughellmann.com>2015-04-15 19:52:16 +0000
commita3d8ae8f5fa092fe99a35c0ea714eb5ce81bcc0b (patch)
tree243f936c7fcbce9078b1ee3213430b268844b2b4
parente7f369191bb09c349c3c4b327b5558fbd1c3e77a (diff)
downloadkeystone-a3d8ae8f5fa092fe99a35c0ea714eb5ce81bcc0b.tar.gz
Work with pymongo 3.0
pymongo 3.0 renamed mongos_enum to read_pref_mode_from_name which was causing the unit tests to fail. Change-Id: Iaa7fd7221c2e6c865633ef342e6b83304a1de655 Closes-Bug: 1441393 (cherry picked from commit 7c3fe6acaef6fc283c383fb79f06e388df6e6926)
-rw-r--r--keystone/common/cache/backends/mongo.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/keystone/common/cache/backends/mongo.py b/keystone/common/cache/backends/mongo.py
index b5de9bc4c..58856ac8f 100644
--- a/keystone/common/cache/backends/mongo.py
+++ b/keystone/common/cache/backends/mongo.py
@@ -360,8 +360,12 @@ class MongoApi(object):
self._assign_data_mainpulator()
if self.read_preference:
- self.read_preference = pymongo.read_preferences.mongos_enum(
- self.read_preference)
+ # pymongo 3.0 renamed mongos_enum to read_pref_mode_from_name
+ f = getattr(pymongo.read_preferences,
+ 'read_pref_mode_from_name', None)
+ if not f:
+ f = pymongo.read_preferences.mongos_enum
+ self.read_preference = f(self.read_preference)
coll.read_preference = self.read_preference
if self.w > -1:
coll.write_concern['w'] = self.w