|
7 | 7 |
|
8 | 8 |
|
9 | 9 | class Replset: |
10 | | - def __init__(self, db, user, password, authdb, max_lag_secs): |
| 10 | + def __init__(self, db, user=None, password=None, authdb='admin', max_lag_secs=5): |
11 | 11 | self.db = db |
12 | 12 | self.user = user |
13 | 13 | self.password = password |
@@ -49,8 +49,8 @@ def get_rs_config(self): |
49 | 49 | except Exception, e: |
50 | 50 | raise Exception, "Error getting replica set config! Error: %s" % e, None |
51 | 51 |
|
52 | | - def find_primary(self): |
53 | | - rs_status = self.get_rs_status() |
| 52 | + def find_primary(self, force=False): |
| 53 | + rs_status = self.get_rs_status(force) |
54 | 54 | rs_name = rs_status['set'] |
55 | 55 | for member in rs_status['members']: |
56 | 56 | if member['stateStr'] == 'PRIMARY' and member['health'] > 0: |
@@ -130,14 +130,13 @@ def find_secondary(self): |
130 | 130 | return self.secondary |
131 | 131 |
|
132 | 132 | def primary_optime(self): |
133 | | - rs_status = self.get_rs_status() |
134 | | - rs_primary = self.find_primary() |
| 133 | + rs_primary = self.find_primary(True) |
135 | 134 | if 'optime' in rs_primary: |
136 | 135 | return rs_primary['optime'] |
137 | 136 |
|
138 | 137 |
|
139 | 138 | class ReplsetSharded: |
140 | | - def __init__(self, sharding, db, user, password, authdb, max_lag_secs): |
| 139 | + def __init__(self, sharding, db, user=None, password=None, authdb='admin', max_lag_secs=5): |
141 | 140 | self.sharding = sharding |
142 | 141 | self.db = db |
143 | 142 | self.user = user |
@@ -195,7 +194,7 @@ def find_secondaries(self): |
195 | 194 | shard_secondaries[rs_name] = replset.find_secondary() |
196 | 195 | return shard_secondaries |
197 | 196 |
|
198 | | - def get_primary_optimes(self): |
| 197 | + def primary_optimes(self): |
199 | 198 | primary_optimes = {} |
200 | 199 | for rs_name in self.get_replsets(): |
201 | 200 | replset = self.replsets[rs_name] |
|
0 commit comments