예제 #1
0
파일: rediscli_util.py 프로젝트: mnms/LTCLI
    def command_raw_all(sub_cmd, ip_list, port_list):
        """Send redis-cli command raw to all

        :param sub_cmd: sub command
        :param ip_list: ip list
        :param port_list: port list
        :return: (output string, meta)
        """
        logger.debug('command_raw_all')
        targets = utils.get_ip_port_tuple_list(ip_list, port_list)
        outs = ''
        stdout = ''
        meta = [['addr', 'stdout']]
        for ip, port in targets:
            env = utils.make_export_envs(ip, port)
            ex_cmd = os.path.join(config.get_tsr2_home(), 'bin', 'redis-cli')
            command = '{env}; {ex_cmd} -c -h {ip} -p {port} {sub_cmd}'.format(
                env=env, ex_cmd=ex_cmd, ip=ip, port=port, sub_cmd=sub_cmd)
            logger.debug('subprocess: %s' % command)
            try:
                stdout = subprocess.check_output(command, shell=True)
                stdout = stdout.decode('utf-8')
                outs += stdout
                meta.append(['%s:%s' % (ip, port), stdout])
            except subprocess.CalledProcessError as ex:
                logger.debug('exception: %s' % str(ex))
        return outs, meta
예제 #2
0
파일: rediscli_util.py 프로젝트: mnms/LTCLI
    def command_raw(sub_cmd, ip_list, port_list):
        """Send redis-cli command raw

        :param sub_cmd: sub command
        :param ip_list: ip list
        :param port_list: port list
        :return: output string
        """
        logger.debug('command_raw')
        targets = utils.get_ip_port_tuple_list(ip_list, port_list)
        count = len(targets)
        index = random.randrange(0, count)
        target = targets[index]
        ip, port = target
        outs = ''
        redis_cli = os.path.join(config.get_tsr2_home(), 'bin', 'redis-cli')
        env = utils.make_export_envs(ip, port)
        command = '{env}; {redis_cli} -h {ip} -p {port} {sub_cmd}'.format(
            env=env, redis_cli=redis_cli, ip=ip, port=port, sub_cmd=sub_cmd)
        try:
            stdout = subprocess.check_output(command, shell=True)
            stdout = stdout.decode('utf-8')
            outs += stdout
        except subprocess.CalledProcessError as ex:
            logger.debug('exception: %s' % str(ex))
        logger.debug('subprocess: %s' % command)
        return outs
예제 #3
0
 def version(self):
     """Get version of lightningDB
     """
     cluster_id = config.get_cur_cluster_id()
     tsr2_home = config.get_tsr2_home(cluster_id)
     with open(os.path.join(tsr2_home, "VERSION"), "r") as version_file:
         lines = version_file.readlines()
         logger.info("".join(lines).strip())