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
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
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())