Rename "set_name" to "replica_set_name".

Rename the attributes of IsMaster, ServerDescription, TopologyDescription, and
TopologySettings from "set_name" to "replica_set_name" for greater clarity.
This commit is contained in:
A. Jesse Jiryu Davis 2014-11-17 12:16:32 -05:00
parent 5991635553
commit 0e222c4c4c
16 changed files with 103 additions and 94 deletions

View File

@ -79,7 +79,7 @@ class IsMaster(object):
return None
@property
def set_name(self):
def replica_set_name(self):
"""Replica set name or None."""
return self._doc.get('setName')

View File

@ -305,7 +305,7 @@ class MongoClient(common.BaseObject):
self._topology_settings = TopologySettings(
seeds=seeds,
set_name=options.replica_set_name,
replica_set_name=options.replica_set_name,
pool_class=pool_class,
pool_options=options.pool_options,
monitor_class=monitor_class,

View File

@ -28,7 +28,7 @@ class ServerDescription(object):
"""
__slots__ = (
'_address', '_server_type', '_all_hosts', '_tags', '_set_name',
'_address', '_server_type', '_all_hosts', '_tags', '_replica_set_name',
'_primary', '_max_bson_size', '_max_message_size',
'_max_write_batch_size', '_min_wire_version', '_max_wire_version',
'_round_trip_times', '_is_writable', '_is_readable')
@ -45,7 +45,7 @@ class ServerDescription(object):
self._server_type = ismaster.server_type
self._all_hosts = ismaster.all_hosts
self._tags = ismaster.tags
self._set_name = ismaster.set_name
self._replica_set_name = ismaster.replica_set_name
self._primary = ismaster.primary
self._max_bson_size = ismaster.max_bson_size
self._max_message_size = ismaster.max_message_size
@ -82,9 +82,9 @@ class ServerDescription(object):
return self._tags
@property
def set_name(self):
def replica_set_name(self):
"""Replica set name or None."""
return self._set_name
return self._replica_set_name
@property
def primary(self):

View File

@ -26,7 +26,7 @@ class TopologySettings(object):
def __init__(
self,
seeds=None,
set_name=None,
replica_set_name=None,
pool_class=None,
pool_options=None,
monitor_class=None,
@ -37,12 +37,12 @@ class TopologySettings(object):
Take a list of (host, port) pairs and optional replica set name.
"""
self._seeds = seeds or [('localhost', 27017)]
self._set_name = set_name
self._replica_set_name = replica_set_name
self._pool_class = pool_class or pool.Pool
self._pool_options = pool_options or PoolOptions()
self._monitor_class = monitor_class or monitor.Monitor
self._condition_class = condition_class or threading.Condition
self._direct = (len(self._seeds) == 1 and not set_name)
self._direct = (len(self._seeds) == 1 and not replica_set_name)
@property
def seeds(self):
@ -50,8 +50,8 @@ class TopologySettings(object):
return self._seeds
@property
def set_name(self):
return self._set_name
def replica_set_name(self):
return self._replica_set_name
@property
def pool_class(self):
@ -73,14 +73,14 @@ class TopologySettings(object):
def direct(self):
"""Connect directly to a single server, or use a set of servers?
True if there is one seed and no set_name.
True if there is one seed and no replica_set_name.
"""
return self._direct
def get_topology_type(self):
if self.direct:
return TOPOLOGY_TYPE.Single
elif self.set_name is not None:
elif self.replica_set_name is not None:
return TOPOLOGY_TYPE.ReplicaSetNoPrimary
else:
return TOPOLOGY_TYPE.Unknown

View File

@ -40,7 +40,7 @@ class Topology(object):
topology_description = TopologyDescription(
topology_settings.get_topology_type(),
topology_settings.get_server_descriptions(),
topology_settings.set_name)
topology_settings.replica_set_name)
self._description = topology_description
self._opened = False
@ -93,7 +93,7 @@ class Topology(object):
# internal hostnames or IPs and we're connecting from
# outside. Or if we're a replica set and
# server_descriptions is empty, we have the wrong
# set_name. Include TopologyDescription's str() in
# replica_set_name. Include TopologyDescription's str() in
# exception msg.
raise AutoReconnect("No suitable servers available")

View File

@ -28,17 +28,17 @@ TOPOLOGY_TYPE = namedtuple('TopologyType', ['Single', 'ReplicaSetNoPrimary',
class TopologyDescription(object):
def __init__(self, topology_type, server_descriptions, set_name):
def __init__(self, topology_type, server_descriptions, replica_set_name):
"""Represent a topology of servers.
:Parameters:
- `topology_type`: initial type
- `server_descriptions`: dict of (address, ServerDescription) for
all seeds
- `set_name`: replica set name or None
- `replica_set_name`: replica set name or None
"""
self._topology_type = topology_type
self._set_name = set_name
self._replica_set_name = replica_set_name
self._server_descriptions = server_descriptions
# Is PyMongo compatible with all servers' wire protocols?
@ -93,7 +93,7 @@ class TopologyDescription(object):
else:
topology_type = self._topology_type
return TopologyDescription(topology_type, sds, self._set_name)
return TopologyDescription(topology_type, sds, self._replica_set_name)
def reset(self):
"""A copy of this description, with all servers marked Unknown."""
@ -106,7 +106,7 @@ class TopologyDescription(object):
sds = dict((address, ServerDescription(address))
for address in self._server_descriptions)
return TopologyDescription(topology_type, sds, self._set_name)
return TopologyDescription(topology_type, sds, self._replica_set_name)
def server_descriptions(self):
"""Dict of (address, ServerDescription)."""
@ -117,9 +117,9 @@ class TopologyDescription(object):
return self._topology_type
@property
def set_name(self):
def replica_set_name(self):
"""The replica set name."""
return self._set_name
return self._replica_set_name
@property
def known_servers(self):
@ -155,7 +155,7 @@ def updated_topology_description(topology_description, server_description):
# These values will be updated, if necessary, to form the new
# TopologyDescription.
topology_type = topology_description.topology_type
set_name = topology_description.set_name
set_name = topology_description.replica_set_name
server_type = server_description.server_type
# Don't mutate the original dict of server descriptions; copy it.
@ -218,22 +218,22 @@ def updated_topology_description(topology_description, server_description):
return TopologyDescription(topology_type, sds, set_name)
def _update_rs_from_primary(sds, set_name, server_description):
def _update_rs_from_primary(sds, replica_set_name, server_description):
"""Update topology description from a primary's ismaster response.
Pass in a dict of ServerDescriptions, current replica set name, and the
ServerDescription we are processing.
Returns (new topology type, new set_name).
Returns (new topology type, new replica_set_name).
"""
if set_name is None:
set_name = server_description.set_name
if replica_set_name is None:
replica_set_name = server_description.replica_set_name
elif set_name != server_description.set_name:
# We found a primary but it doesn't have the set_name
elif replica_set_name != server_description.replica_set_name:
# We found a primary but it doesn't have the replica_set_name
# provided by the user.
sds.pop(server_description.address)
return _check_has_primary(sds), set_name
return _check_has_primary(sds), replica_set_name
# We've heard from the primary. Is it the same primary as before?
for server in sds.values():
@ -257,10 +257,13 @@ def _update_rs_from_primary(sds, set_name, server_description):
# If the host list differs from the seed list, we may not have a primary
# after all.
return _check_has_primary(sds), set_name
return _check_has_primary(sds), replica_set_name
def _update_rs_with_primary_from_member(sds, set_name, server_description):
def _update_rs_with_primary_from_member(
sds,
replica_set_name,
server_description):
"""RS with known primary. Process a response from a non-primary.
Pass in a dict of ServerDescriptions, current replica set name, and the
@ -268,30 +271,33 @@ def _update_rs_with_primary_from_member(sds, set_name, server_description):
Returns new topology type.
"""
assert set_name is not None
assert replica_set_name is not None
if set_name != server_description.set_name:
if replica_set_name != server_description.replica_set_name:
sds.pop(server_description.address)
# Had this member been the primary?
return _check_has_primary(sds)
def _update_rs_no_primary_from_member(sds, set_name, server_description):
def _update_rs_no_primary_from_member(
sds,
replica_set_name,
server_description):
"""RS without known primary. Update from a non-primary's response.
Pass in a dict of ServerDescriptions, current replica set name, and the
ServerDescription we are processing.
Returns (new topology type, new set_name).
Returns (new topology type, new replica_set_name).
"""
topology_type = TOPOLOGY_TYPE.ReplicaSetNoPrimary
if set_name is None:
set_name = server_description.set_name
if replica_set_name is None:
replica_set_name = server_description.replica_set_name
elif set_name != server_description.set_name:
elif replica_set_name != server_description.replica_set_name:
sds.pop(server_description.address)
return topology_type, set_name
return topology_type, replica_set_name
# This isn't the primary's response, so don't remove any servers
# it doesn't report. Only add new servers.
@ -299,7 +305,7 @@ def _update_rs_no_primary_from_member(sds, set_name, server_description):
if address not in sds:
sds[address] = ServerDescription(address)
return topology_type, set_name
return topology_type, replica_set_name
def _check_has_primary(sds):

View File

@ -90,7 +90,7 @@ class ClientContext(object):
self.ismaster = {}
self.w = None
self.nodes = set()
self.setname = None
self.replica_set_name = None
self.rs_client = None
self.cmd_line = None
self.version = Version(-1) # Needs to be comparable with Version
@ -113,13 +113,13 @@ class ClientContext(object):
self.ismaster = self.client.admin.command('ismaster')
self.w = len(self.ismaster.get("hosts", [])) or 1
self.nodes = set([(host, port)])
self.setname = self.ismaster.get('setName', '')
self.replica_set_name = self.ismaster.get('setName', '')
self.rs_client = None
self.version = Version.from_client(self.client)
if self.setname:
if self.replica_set_name:
self.is_rs = True
self.rs_client = pymongo.MongoClient(
pair, replicaSet=self.setname)
pair, replicaSet=self.replica_set_name)
self.nodes = set([partition_node(node)
for node in self.ismaster.get('hosts', [])])

View File

@ -39,7 +39,7 @@ hostname = os.environ.get('HOSTNAME', 'localhost')
port = int(os.environ.get('DBPORT', 27017))
mongod = os.environ.get('MONGOD', 'mongod')
mongos = os.environ.get('MONGOS', 'mongos')
set_name = os.environ.get('SETNAME', 'repl0')
replica_set_name = os.environ.get('SETNAME', 'repl0')
ha_tools_debug = bool(os.environ.get('HA_TOOLS_DEBUG'))
@ -140,7 +140,7 @@ def start_replica_set(members, auth=False, fresh=True):
cmd = [mongod,
'--dbpath', path,
'--port', str(cur_port),
'--replSet', set_name,
'--replSet', replica_set_name,
'--nojournal', '--oplogSize', '64',
'--logappend', '--logpath', member_logpath]
if auth:
@ -158,7 +158,7 @@ def start_replica_set(members, auth=False, fresh=True):
if not res:
return None
config = {'_id': set_name, 'members': members}
config = {'_id': replica_set_name, 'members': members}
primary = members[0]['host']
c = pymongo.MongoClient(primary)
try:
@ -196,7 +196,7 @@ def start_replica_set(members, auth=False, fresh=True):
kill_all_members()
raise Exception(
"Replica set still not initalized after %s minutes" % patience)
return primary, set_name
return primary, replica_set_name
def create_sharded_cluster(num_routers=3):
@ -410,7 +410,7 @@ def add_member(auth=False):
cmd = [mongod,
'--dbpath', path,
'--port', str(cur_port),
'--replSet', set_name,
'--replSet', replica_set_name,
'--nojournal', '--oplogSize', '64',
'--logappend', '--logpath', member_logpath]
if auth:

View File

@ -259,7 +259,7 @@ class TestSCRAMSHA1(unittest.TestCase):
@client_context.require_auth
@client_context.require_version_min(2, 7, 2)
def setUp(self):
self.set_name = client_context.setname
self.replica_set_name = client_context.replica_set_name
# Before 2.7.7, SCRAM-SHA-1 had to be enabled from the command line.
if client_context.version < Version(2, 7, 7):
@ -285,16 +285,16 @@ class TestSCRAMSHA1(unittest.TestCase):
'?authMechanism=SCRAM-SHA-1' % (host, port))
client.pymongo_test.command('dbstats')
if self.set_name:
if self.replica_set_name:
client = MongoClient(host, port,
replicaSet='%s' % (self.set_name,))
replicaSet='%s' % (self.replica_set_name,))
self.assertTrue(client.pymongo_test.authenticate(
'user', 'pass', mechanism='SCRAM-SHA-1'))
client.pymongo_test.command('dbstats')
uri = ('mongodb://user:pass'
'@%s:%d/pymongo_test?authMechanism=SCRAM-SHA-1'
'&replicaSet=%s' % (host, port, self.set_name))
'&replicaSet=%s' % (host, port, self.replica_set_name))
client = MongoClient(uri)
client.pymongo_test.command('dbstats')
client.read_preference = ReadPreference.SECONDARY
@ -310,7 +310,7 @@ class TestAuthURIOptions(unittest.TestCase):
def setUp(self):
client = MongoClient(host, port)
response = client.admin.command('ismaster')
self.set_name = str(response.get('setName', ''))
self.replica_set_name = str(response.get('setName', ''))
client_context.client.admin.add_user('admin', 'pass',
roles=['userAdminAnyDatabase',
'dbAdminAnyDatabase',
@ -320,7 +320,7 @@ class TestAuthURIOptions(unittest.TestCase):
client.pymongo_test.add_user('user', 'pass',
roles=['userAdmin', 'readWrite'])
if self.set_name:
if self.replica_set_name:
# GLE requires authentication.
client.admin.authenticate('admin', 'pass')
# Make sure the admin user is replicated after calling add_user
@ -341,9 +341,9 @@ class TestAuthURIOptions(unittest.TestCase):
client = MongoClient('mongodb://admin:pass@%s:%d' % (host, port))
self.assertTrue(client.admin.command('dbstats'))
if self.set_name:
if self.replica_set_name:
uri = ('mongodb://admin:pass'
'@%s:%d/?replicaSet=%s' % (host, port, self.set_name))
'@%s:%d/?replicaSet=%s' % (host, port, self.replica_set_name))
client = MongoClient(uri)
self.assertTrue(client.admin.command('dbstats'))
client.read_preference = ReadPreference.SECONDARY
@ -355,9 +355,9 @@ class TestAuthURIOptions(unittest.TestCase):
self.assertRaises(OperationFailure, client.admin.command, 'dbstats')
self.assertTrue(client.pymongo_test.command('dbstats'))
if self.set_name:
if self.replica_set_name:
uri = ('mongodb://user:pass@%s:%d'
'/pymongo_test?replicaSet=%s' % (host, port, self.set_name))
'/pymongo_test?replicaSet=%s' % (host, port, self.replica_set_name))
client = MongoClient(uri)
self.assertRaises(OperationFailure,
client.admin.command, 'dbstats')
@ -373,9 +373,9 @@ class TestAuthURIOptions(unittest.TestCase):
client.pymongo_test2.command, 'dbstats')
self.assertTrue(client.pymongo_test.command('dbstats'))
if self.set_name:
if self.replica_set_name:
uri = ('mongodb://user:pass@%s:%d/pymongo_test2?replicaSet='
'%s;authSource=pymongo_test' % (host, port, self.set_name))
'%s;authSource=pymongo_test' % (host, port, self.replica_set_name))
client = MongoClient(uri)
self.assertRaises(OperationFailure,
client.pymongo_test2.command, 'dbstats')

View File

@ -552,7 +552,7 @@ class TestClient(IntegrationTest, TestRequestMixin):
uri = "mongodb://%s[::1]:%d" % (auth_str, port)
if client_context.is_rs:
uri += '/?replicaSet=' + client_context.setname
uri += '/?replicaSet=' + client_context.replica_set_name
client = rs_or_single_client_noauth(uri)
client.pymongo_test.test.save({"dummy": u("object")})
@ -1121,7 +1121,7 @@ class TestClientLazyConnectBadSeeds(IntegrationTest):
bad_seeds = ['%s.com' % chr(ord('a') + i) for i in range(10)]
return MongoClient(
bad_seeds,
replicaSet=client_context.setname,
replicaSet=client_context.replica_set_name,
connect=False)
def test_connect(self):

View File

@ -1277,7 +1277,7 @@ class TestCollection(IntegrationTest):
self.db.test.remove({"x": 1}, w=1, wtimeout=1)
self.db.test.update({"x": 1}, {"y": 2}, w=1, wtimeout=1)
if client_context.setname:
if client_context.replica_set_name:
# client_context.w is the number of hosts in the replica set
w = client_context.w + 1
@ -1362,7 +1362,7 @@ class TestCollection(IntegrationTest):
@client_context.require_version_min(2, 5, 1)
def test_aggregation_cursor(self):
db = self.db
if client_context.setname:
if client_context.replica_set_name:
# Test that getMore messages are sent to the right server.
db.read_preference = ReadPreference.SECONDARY
@ -1388,7 +1388,7 @@ class TestCollection(IntegrationTest):
def test_parallel_scan(self):
db = self.db
db.drop_collection("test")
if client_context.setname:
if client_context.replica_set_name:
# Test that getMore messages are sent to the right server.
db.read_preference = ReadPreference.SECONDARY

View File

@ -223,12 +223,12 @@ class TestCommon(IntegrationTest):
self.assertRaises(OperationFailure, coll.insert, doc, w=1)
m = MongoClient("mongodb://%s/" % (pair,),
replicaSet=client_context.setname)
replicaSet=client_context.replica_set_name)
coll = m.pymongo_test.write_concern_test
self.assertRaises(OperationFailure, coll.insert, doc)
m = MongoClient("mongodb://%s/?w=0" % (pair,),
replicaSet=client_context.setname)
replicaSet=client_context.replica_set_name)
coll = m.pymongo_test.write_concern_test
self.assertTrue(coll.insert(doc))

View File

@ -77,13 +77,13 @@ def create_mock_topology(uri, monitor_class=MockMonitor):
# Some tests in the spec include URIs like mongodb://A/?connect=direct,
# but PyMongo considers any single-seed URI with no setName to be "direct".
parsed_uri = parse_uri(uri.replace('connect=direct', ''))
set_name = None
replica_set_name = None
if 'replicaset' in parsed_uri['options']:
set_name = parsed_uri['options']['replicaset']
replica_set_name = parsed_uri['options']['replicaset']
topology_settings = TopologySettings(
parsed_uri['nodelist'],
set_name=set_name,
replica_set_name=replica_set_name,
pool_class=MockPool,
monitor_class=monitor_class)
@ -149,9 +149,9 @@ def check_outcome(self, topology, outcome):
self.assertEqual(
expected_server['setName'],
actual_server_description.set_name)
actual_server_description.replica_set_name)
self.assertEqual(outcome['setName'], topology.description.set_name)
self.assertEqual(outcome['setName'], topology.description.replica_set_name)
expected_topology_type = getattr(TOPOLOGY_TYPE, outcome['topologyType'])
self.assertEqual(topology_type_name(expected_topology_type),
topology_type_name(topology.description.topology_type))

View File

@ -58,7 +58,7 @@ class TestReplicaSetClientBase(IntegrationTest):
@client_context.require_replica_set
def setUpClass(cls):
super(TestReplicaSetClientBase, cls).setUpClass()
cls.name = client_context.setname
cls.name = client_context.replica_set_name
cls.w = client_context.w
ismaster = client_context.ismaster

View File

@ -90,11 +90,14 @@ class SetNameDiscoverySettings(TopologySettings):
address = ('a', 27017)
def create_mock_topology(seeds=None, set_name=None, monitor_class=MockMonitor):
def create_mock_topology(
seeds=None,
replica_set_name=None,
monitor_class=MockMonitor):
partitioned_seeds = list(imap(common.partition_node, seeds or ['a']))
topology_settings = TopologySettings(
partitioned_seeds,
set_name=set_name,
replica_set_name=replica_set_name,
pool_class=MockPool,
monitor_class=monitor_class)
@ -239,7 +242,7 @@ class TestSingleServerTopology(TopologyTest):
class TestMultiServerTopology(TopologyTest):
def test_close(self):
t = create_mock_topology(set_name='rs')
t = create_mock_topology(replica_set_name='rs')
got_ismaster(t, ('a', 27017), {
'ok': 1,
'ismaster': True,
@ -262,7 +265,7 @@ class TestMultiServerTopology(TopologyTest):
self.assertEqual(2, len(t.description.server_descriptions()))
self.assertEqual(SERVER_TYPE.Unknown, get_type(t, 'a'))
self.assertEqual(SERVER_TYPE.Unknown, get_type(t, 'b'))
self.assertEqual('rs', t.description.set_name)
self.assertEqual('rs', t.description.replica_set_name)
self.assertEqual(TOPOLOGY_TYPE.ReplicaSetNoPrimary,
t.description.topology_type)
@ -278,7 +281,7 @@ class TestMultiServerTopology(TopologyTest):
t.description.topology_type)
def test_reset_server(self):
t = create_mock_topology(set_name='rs')
t = create_mock_topology(replica_set_name='rs')
got_ismaster(t, ('a', 27017), {
'ok': 1,
'ismaster': True,
@ -295,7 +298,7 @@ class TestMultiServerTopology(TopologyTest):
t.reset_server(('a', 27017))
self.assertEqual(SERVER_TYPE.Unknown, get_type(t, 'a'))
self.assertEqual(SERVER_TYPE.RSSecondary, get_type(t, 'b'))
self.assertEqual('rs', t.description.set_name)
self.assertEqual('rs', t.description.replica_set_name)
self.assertEqual(TOPOLOGY_TYPE.ReplicaSetNoPrimary,
t.description.topology_type)
@ -312,12 +315,12 @@ class TestMultiServerTopology(TopologyTest):
t.reset_server(('b', 27017))
self.assertEqual(SERVER_TYPE.RSPrimary, get_type(t, 'a'))
self.assertEqual(SERVER_TYPE.Unknown, get_type(t, 'b'))
self.assertEqual('rs', t.description.set_name)
self.assertEqual('rs', t.description.replica_set_name)
self.assertEqual(TOPOLOGY_TYPE.ReplicaSetWithPrimary,
t.description.topology_type)
def test_reset_removed_server(self):
t = create_mock_topology(set_name='rs')
t = create_mock_topology(replica_set_name='rs')
# No error resetting a server not in the TopologyDescription.
t.reset_server(('b', 27017))
@ -334,7 +337,7 @@ class TestMultiServerTopology(TopologyTest):
monitor_class=MockMonitor)
t = Topology(topology_settings)
self.assertEqual(t.description.set_name, None)
self.assertEqual(t.description.replica_set_name, None)
self.assertEqual(t.description.topology_type,
TOPOLOGY_TYPE.ReplicaSetNoPrimary)
@ -344,7 +347,7 @@ class TestMultiServerTopology(TopologyTest):
'setName': 'rs',
'hosts': ['a']})
self.assertEqual(t.description.set_name, 'rs')
self.assertEqual(t.description.replica_set_name, 'rs')
self.assertEqual(t.description.topology_type,
TOPOLOGY_TYPE.ReplicaSetWithPrimary)
@ -357,7 +360,7 @@ class TestMultiServerTopology(TopologyTest):
'hosts': ['a']})
# No change.
self.assertEqual(t.description.set_name, 'rs')
self.assertEqual(t.description.replica_set_name, 'rs')
self.assertEqual(t.description.topology_type,
TOPOLOGY_TYPE.ReplicaSetWithPrimary)
@ -370,7 +373,7 @@ class TestMultiServerTopology(TopologyTest):
monitor_class=MockMonitor)
t = Topology(topology_settings)
self.assertEqual(t.description.set_name, None)
self.assertEqual(t.description.replica_set_name, None)
self.assertEqual(t.description.topology_type,
TOPOLOGY_TYPE.ReplicaSetNoPrimary)
@ -381,12 +384,12 @@ class TestMultiServerTopology(TopologyTest):
'setName': 'rs',
'hosts': ['a']})
self.assertEqual(t.description.set_name, 'rs')
self.assertEqual(t.description.replica_set_name, 'rs')
self.assertEqual(t.description.topology_type,
TOPOLOGY_TYPE.ReplicaSetNoPrimary)
def test_wire_version(self):
t = create_mock_topology(set_name='rs')
t = create_mock_topology(replica_set_name='rs')
t.description.check_compatible() # No error.
got_ismaster(t, address, {
@ -430,7 +433,7 @@ class TestMultiServerTopology(TopologyTest):
self.fail('No error with incompatible wire version')
def test_max_write_batch_size(self):
t = create_mock_topology(seeds=['a', 'b'], set_name='rs')
t = create_mock_topology(seeds=['a', 'b'], replica_set_name='rs')
def write_batch_size():
s = t.select_server(writable_server_selector)

View File

@ -65,13 +65,13 @@ def single_client(h=host, p=port, **kwargs):
def rs_client_noauth(h=host, p=port, **kwargs):
"""Connect to the replica set. Don't authenticate."""
return MongoClient(_connection_string_noauth(h, p),
replicaSet=client_context.setname, **kwargs)
replicaSet=client_context.replica_set_name, **kwargs)
def rs_client(h=host, p=port, **kwargs):
"""Connect to the replica set and authenticate if necessary."""
return MongoClient(_connection_string(h, p),
replicaSet=client_context.setname, **kwargs)
replicaSet=client_context.replica_set_name, **kwargs)
def rs_or_single_client_noauth(h=host, p=port, **kwargs):
@ -79,7 +79,7 @@ def rs_or_single_client_noauth(h=host, p=port, **kwargs):
Like rs_or_single_client, but does not authenticate.
"""
if client_context.setname:
if client_context.replica_set_name:
return rs_client_noauth(h, p, **kwargs)
else:
return single_client_noauth(h, p, **kwargs)
@ -90,7 +90,7 @@ def rs_or_single_client(h=host, p=port, **kwargs):
Authenticates if necessary.
"""
if client_context.setname:
if client_context.replica_set_name:
return rs_client(h, p, **kwargs)
else:
return single_client(h, p, **kwargs)