def router_add(self, params):
        """add new router (mongos) into existing configuration"""
        if self.uses_rs_configdb:
            # Replica set configdb.
            rs_id = self._configsvrs[0]
            config_members = ReplicaSets().members(rs_id)
            configdb = '%s/%s' % (rs_id, ','.join(m['host']
                                                  for m in config_members))
        else:
            configdb = ','.join(Servers().hostname(item)
                                for item in self._configsvrs)
        server_id = params.pop('server_id', None)
        version = params.pop('version', self._version)
        params.update({'configdb': configdb})

        if self.enable_ipv6:
            common.enable_ipv6_single(params)
        # Remove flags that turn auth on.
        params = self._strip_auth(params)

        self._routers.append(Servers().create('mongos',
                                              params,
                                              sslParams=self.sslParams,
                                              autostart=True,
                                              version=version,
                                              server_id=server_id))
        return {
            'id': self._routers[-1],
            'hostname': Servers().hostname(self._routers[-1])
        }
Exemple #2
0
    def member_create(self, params, member_id):
        """start new mongod instances as part of replica set
        Args:
            params - member params
            member_id - member index

        return member config
        """
        member_config = params.get('rsParams', {})
        server_id = params.pop('server_id', None)
        version = params.pop('version', self._version)
        proc_params = {'replSet': self.repl_id}
        proc_params.update(params.get('procParams', {}))
        if self.enable_ipv6:
            enable_ipv6_single(proc_params)
        # Make sure that auth isn't set the first time we start the servers.
        proc_params = self._strip_auth(proc_params)

        # Don't pass in auth_key the first time we start the servers.
        server_id = self._servers.create(name='mongod',
                                         procParams=proc_params,
                                         sslParams=self.sslParams,
                                         version=version,
                                         server_id=server_id)
        member_config.update({
            "_id": member_id,
            "host": self._servers.hostname(server_id)
        })
        return member_config
    def member_create(self, params, member_id):
        """start new mongod instances as part of replica set
        Args:
            params - member params
            member_id - member index

        return member config
        """
        member_config = params.get('rsParams', {})
        server_id = params.pop('server_id', None)
        version = params.pop('version', self._version)
        proc_params = {'replSet': self.repl_id}
        proc_params.update(params.get('procParams', {}))
        if self.enable_ipv6:
            enable_ipv6_single(proc_params)
        # Make sure that auth isn't set the first time we start the servers.
        proc_params = self._strip_auth(proc_params)

        # Don't pass in auth_key the first time we start the servers.
        server_id = self._servers.create(
            name='mongod',
            procParams=proc_params,
            sslParams=self.sslParams,
            version=version,
            server_id=server_id
        )
        member_config.update({"_id": member_id,
                              "host": self._servers.hostname(server_id)})
        return member_config
 def __init_configrs(self, rs_cfg):
     """Create and start a config replica set."""
     # Use 'rs_id' to set the id for consistency, but need to rename
     # to 'id' to use with ReplicaSets.create()
     rs_cfg['id'] = rs_cfg.pop('rs_id', None)
     for member in rs_cfg.setdefault('members', [{}]):
         member['procParams'] = self._strip_auth(
             member.get('procParams', {}))
         member['procParams']['configsvr'] = True
         if self.enable_ipv6:
             common.enable_ipv6_single(member['procParams'])
     rs_cfg['sslParams'] = self.sslParams
     self._configsvrs.append(ReplicaSets().create(rs_cfg))
 def __init_configrs(self, rs_cfg):
     """Create and start a config replica set."""
     # Use 'rs_id' to set the id for consistency, but need to rename
     # to 'id' to use with ReplicaSets.create()
     rs_cfg['id'] = rs_cfg.pop('rs_id', None)
     for member in rs_cfg.setdefault('members', [{}]):
         member['procParams'] = self._strip_auth(
             member.get('procParams', {}))
         member['procParams']['configsvr'] = True
         if self.enable_ipv6:
             common.enable_ipv6_single(member['procParams'])
     rs_cfg['sslParams'] = self.sslParams
     self._configsvrs.append(ReplicaSets().create(rs_cfg))
Exemple #6
0
 def __init_configsvrs(self, params):
     """create and start config servers"""
     self._configsvrs = []
     for cfg in params:
         # Remove flags that turn on auth.
         cfg = self._strip_auth(cfg)
         server_id = cfg.pop('server_id', None)
         version = cfg.pop('version', self._version)
         cfg.update({'configsvr': True})
         if self.enable_ipv6:
             common.enable_ipv6_single(cfg)
         self._configsvrs.append(Servers().create(
             'mongod', cfg, sslParams=self.sslParams, autostart=True,
             version=version, server_id=server_id))
 def __init_configsvrs(self, params):
     """create and start config servers"""
     self._configsvrs = []
     for cfg in params:
         # Remove flags that turn on auth.
         cfg = self._strip_auth(cfg)
         server_id = cfg.pop('server_id', None)
         version = cfg.pop('version', self._version)
         cfg.update({'configsvr': True})
         if self.enable_ipv6:
             common.enable_ipv6_single(cfg)
         self._configsvrs.append(Servers().create(
             'mongod', cfg, sslParams=self.sslParams, autostart=True,
             version=version, server_id=server_id))
    def router_add(self, params):
        """add new router (mongos) into existing configuration"""
        if self.uses_rs_configdb:
            # Replica set configdb.
            rs_id = self._configsvrs[0]
            config_members = ReplicaSets().members(rs_id)
            configdb = '%s/%s' % (
                rs_id, ','.join(m['host'] for m in config_members))
        else:
            configdb = ','.join(Servers().hostname(item)
                                for item in self._configsvrs)
        server_id = params.pop('server_id', None)
        version = params.pop('version', self._version)
        params.update({'configdb': configdb})

        if self.enable_ipv6:
            common.enable_ipv6_single(params)
        # Remove flags that turn auth on.
        params = self._strip_auth(params)

        self._routers.append(Servers().create(
            'mongos', params, sslParams=self.sslParams, autostart=True,
            version=version, server_id=server_id))
        return {'id': self._routers[-1], 'hostname': Servers().hostname(self._routers[-1])}