Skip to content

Commit 9260995

Browse files
author
A. Jesse Jiryu Davis
committed
test_ha uses MongoClient instead of Connection PYTHON-451
1 parent d35bec1 commit 9260995

File tree

2 files changed

+90
-89
lines changed

2 files changed

+90
-89
lines changed

test/high_availability/ha_tools.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
import pymongo
2929
import pymongo.errors
30+
from pymongo.read_preferences import ReadPreference
3031

3132
home = os.environ.get('HOME')
3233
default_dbpath = os.path.join(home, 'data', 'pymongo_high_availability')
@@ -142,7 +143,7 @@ def start_replica_set(members, auth=False, fresh=True):
142143

143144
config = {'_id': set_name, 'members': members}
144145
primary = members[0]['host']
145-
c = pymongo.Connection(primary, use_greenlets=use_greenlets)
146+
c = pymongo.MongoClient(primary, use_greenlets=use_greenlets)
146147
try:
147148
if ha_tools_debug:
148149
print 'rs.initiate(%s)' % config
@@ -243,7 +244,7 @@ def create_sharded_cluster(num_routers=3):
243244
return None
244245

245246
# Add the shard
246-
client = pymongo.Connection(host)
247+
client = pymongo.MongoClient(host)
247248
try:
248249
client.admin.command({'addshard': shard_host})
249250
except pymongo.errors.OperationFailure:
@@ -254,8 +255,11 @@ def create_sharded_cluster(num_routers=3):
254255

255256

256257
# Connect to a random member
257-
def get_connection():
258-
return pymongo.Connection(nodes.keys(), slave_okay=True, use_greenlets=use_greenlets)
258+
def get_client():
259+
return pymongo.MongoClient(
260+
nodes.keys(),
261+
read_preference=ReadPreference.PRIMARY_PREFERRED,
262+
use_greenlets=use_greenlets)
259263

260264

261265
def get_mongos_seed_list():
@@ -273,7 +277,7 @@ def restart_mongos(host):
273277

274278

275279
def get_members_in_state(state):
276-
status = get_connection().admin.command('replSetGetStatus')
280+
status = get_client().admin.command('replSetGetStatus')
277281
members = status['members']
278282
return [k['name'] for k in members if k['state'] == state]
279283

@@ -310,11 +314,11 @@ def get_recovering():
310314

311315

312316
def get_passives():
313-
return get_connection().admin.command('ismaster').get('passives', [])
317+
return get_client().admin.command('ismaster').get('passives', [])
314318

315319

316320
def get_hosts():
317-
return get_connection().admin.command('ismaster').get('hosts', [])
321+
return get_client().admin.command('ismaster').get('hosts', [])
318322

319323

320324
def get_hidden_members():
@@ -331,7 +335,7 @@ def get_hidden_members():
331335

332336

333337
def get_tags(member):
334-
config = get_connection().local.system.replset.find_one()
338+
config = get_client().local.system.replset.find_one()
335339
for m in config['members']:
336340
if m['host'] == member:
337341
return m.get('tags', {})
@@ -360,7 +364,7 @@ def kill_all_secondaries(sig=2):
360364
def stepdown_primary():
361365
primary = get_primary()
362366
if primary:
363-
c = pymongo.Connection(primary, use_greenlets=use_greenlets)
367+
c = pymongo.MongoClient(primary, use_greenlets=use_greenlets)
364368
# replSetStepDown causes mongod to close all connections
365369
try:
366370
c.admin.command('replSetStepDown', 20)
@@ -371,7 +375,7 @@ def stepdown_primary():
371375
def set_maintenance(member, value):
372376
"""Put a member into RECOVERING state if value is True, else normal state.
373377
"""
374-
c = pymongo.Connection(member, use_greenlets=use_greenlets)
378+
c = pymongo.MongoClient(member, use_greenlets=use_greenlets)
375379
c.admin.command('replSetMaintenance', value)
376380
start = time.time()
377381
while value != (member in get_recovering()):

0 commit comments

Comments
 (0)