Example #1
0
def get_params_for_vtgate_conn(vtgate_addrs,
                               timeout,
                               user=None,
                               password=None):
    """Return a one-element (addr, timeout, user, password) params dict list."""
    db_params_list = []
    addrs = []
    if isinstance(vtgate_addrs, dict):
        if 'vt' not in vtgate_addrs:
            raise ValueError(
                "required vtgate service addrs 'vt' does not exist")
        addrs = vtgate_addrs['vt']
        random.shuffle(addrs)
    elif isinstance(vtgate_addrs, list):
        random.shuffle(vtgate_addrs)
        addrs = vtgate_addrs
    else:
        raise dbexceptions.Error('Wrong type for vtgate addrs %s' %
                                 vtgate_addrs)

    for addr in addrs:
        vt_params = dict()
        vt_params['addr'] = addr
        vt_params['timeout'] = timeout
        vt_params['user'] = user
        vt_params['password'] = password
        db_params_list.append(vt_params)
    return db_params_list
Example #2
0
def get_params_for_vtgate_conn(vtgate_addrs,
                               timeout,
                               encrypted=False,
                               user=None,
                               password=None):
    db_params_list = []
    addrs = []
    if isinstance(vtgate_addrs, dict):
        service = '_vt'
        if encrypted:
            service = '_vts'
        if service not in vtgate_addrs:
            raise Exception("required vtgate service addrs %s not exist" %
                            service)
        addrs = vtgate_addrs[service]
        random.shuffle(addrs)
    elif isinstance(vtgate_addrs, list):
        random.shuffle(vtgate_addrs)
        addrs = vtgate_addrs
    else:
        raise dbexceptions.Error("Wrong type for vtgate addrs %s" %
                                 vtgate_addrs)

    for addr in addrs:
        vt_params = dict()
        vt_params['addr'] = addr
        vt_params['timeout'] = timeout
        vt_params['encrypted'] = encrypted
        vt_params['user'] = user
        vt_params['password'] = password
        db_params_list.append(vt_params)
    return db_params_list
Example #3
0
 def write_transaction_setup(self):
     if self.master_access_disabled:
         raise dbexceptions.Error(
             "Cannot write, master access is disabled.")
     self._tablet_type = shard_constants.TABLET_TYPE_MASTER
Example #4
0
 def read_from_master_setup(self):
     self._tablet_type = shard_constants.TABLET_TYPE_MASTER
     if self.master_access_disabled:
         raise dbexceptions.Error("Master access is disabled.")
     if app_read_only_mode() and self.change_master_read_to_replica:
         self._tablet_type = shard_constants.TABLET_TYPE_REPLICA