code: def _construct_replset(self, basedir, portstart, name, num_nodes,
                             arbiter, extra=''):
          
          self.config_docs[name] = {'_id': name, 'members': []}
  
          # Construct individual replica set nodes
          for i in num_nodes:
              datapath = self._create_paths(basedir, '%s/rs%i' % (name, i + 1))
              self._construct_mongod(os.path.join(datapath, 'db'),
                                     os.path.join(datapath, 'mongod.log'),
                                     portstart + i, replset=name, extra=extra)
  
              host = '%s:%i' % (self.args['hostname'], portstart + i)
              member_config = {
                  '_id': len(self.config_docs[name]['members']),
                  'host': host,
              }
  
              # First node gets increased priority.
              if i == 0 and self.args['priority']:
                  member_config['priority'] = 10
  
              if i >= 7:
                  member_config['votes'] = 0
                  member_config['priority'] = 0
  
              self.config_docs[name]['members'].append(member_config)
  
          # launch arbiter if True
          if arbiter:
              datapath = self._create_paths(basedir, '%s/arb' % (name))
              self._construct_mongod(os.path.join(datapath, 'db'),
                                     os.path.join(datapath, 'mongod.log'),
                                     portstart + self.args['nodes'],
                                     replset=name)
  
              host = '%s:%i' % (self.args['hostname'],
                                portstart + self.args['nodes'])
              (self.config_docs[name]['members']
               .append({'_id': len(self.config_docs[name]['members']),
                        'host': host,
                        'arbiterOnly': True}))
  
          return(name + '/' +
                 ','.join([c['host']
                           for c in self.config_docs[name]['members']]))
docs: Construct command line strings for a replicaset.
  
          Handles single set or sharded cluster.