#!/usr/bin/python import pymongo, time, datetime, sys from pprint import pprint # from pymongo import ASCENDING, DESCENDING hostnames = [ hostname.split(':') for hostname in sys.argv[1:] ] hosts = [pymongo.MongoClient(host, port = int(port)) for (host, port) in hostnames] primary = hosts[0] secondaries = hosts[1:] members = [ { "_id":idx, "host":hostnames[idx][0]+":%s" % hostnames[idx][1] } for idx in range(len(hostnames)) ] members[0]["priority"] = 100 # pprint(members) rsconfig = { "_id":"mjbtest", "members":members } primary.admin.command({"replSetInitiate": rsconfig }) # Wait for master to be alive while not primary.admin.command({"isMaster":True})['ismaster']: time.sleep(0.1)