- 08 Jun, 2016 1 commit
-
-
We were implicitly relying on mongo to return the list of members in their _id order, which is absurd and I have no idea how we didn't catch it previously. We could do a little list comprehension to pull out the member with the same _id, but it seemed easier to just sort both lists and retain the original intent.
Kevin Falcone committed
-
- 25 Jan, 2016 5 commits
-
-
I believe the loops will be easier to debug in the long run. Essentially, we have a shallow compare loop in check_config_subset and then a deep compare loop in is_member_subset. Both functions allow extra information in the config that comes back from Mongo, since Mongo tracks things like votes: slaveDelay: etc that may not be reflected in the configuration you pass in.
Kevin Falcone committed -
Do a bit more error checking before asking for the replica set. The new mongo play wants to be able to run this against an unconfigured Mongo to find out "Do you even have a replica set?" which this can now answer (the try/except portion). In the case where mongo was started without a replSet configured (or running getCmdLineOpts fails for an OperationFailure reason), we return a dictionary where status is not included to allow tasks to detect the failure. Unfortunately, Ansible doesn't provide an easy way to log back why you didn't get a replica set doc. Documentation improvements for this module Discusses the return values and some examples of checking them. Simplify get_replset If the find_one for a replset fails, just return None. We don't need to worry about getting back a dictionary which contains a 'config' key (presumably this is from an earlier iteration of the code which called getReplSetStatus which does act like that). Rather than raising the exception, use the friendly error here. I assume the raise/module.fail_json double header was leftover cruft from earlier development. Make the module work without rs being configured Initially, this module always tried to find and connect to a primary, however, during replica set initialization, there is no primary so we need to fall back to just connecting to the machine specified. This is detected by catching the replSetGetStatus failure and falling back to the bare get_client method which refactors the connection.
Kevin Falcone committed -
Max Rothman committed
-
Max Rothman committed
-
Now you can provide a (slightly simpler) cluster config and it'll idempotently make it so.
Max Rothman committed
-
- 04 Dec, 2015 2 commits
-
-
Max Rothman committed
-
Max Rothman committed
-
- 06 Nov, 2015 3 commits
-
-
Feanil Patel committed
-
Feanil Patel committed
-
Feanil Patel committed
-