Skip to content

Commit c962d8f

Browse files
Fixed redis-benchmark remote deployments version check (#55)
* [fix] Fixed redis-benchmark remote deployments version check
1 parent 3e3baa8 commit c962d8f

File tree

3 files changed

+14
-14
lines changed

3 files changed

+14
-14
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "redisbench-admin"
3-
version = "0.1.51"
3+
version = "0.1.52"
44
description = "Redis benchmark run helper. A wrapper around Redis and Redis Modules benchmark tools ( ftsb_redisearch, memtier_benchmark, redis-benchmark, aibench, etc... )."
55
authors = ["filipecosta90 <[email protected]>"]
66
readme = "README.md"

redisbench_admin/run/redis_benchmark/redis_benchmark.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def prepareRedisBenchmarkCommand(
7171
def ensure_redis_benchmark_version_from_input(benchmark_min_tool_version, benchmark_min_tool_version_major,
7272
benchmark_min_tool_version_minor, benchmark_min_tool_version_patch,
7373
benchmark_tool, stdout):
74-
version_output = stdout.decode('ascii').split("\n")[0]
74+
version_output = stdout.split("\n")[0]
7575
logging.info(
7676
"Detected benchmark config tool {} with version {}".format(benchmark_tool, version_output))
7777
p = re.compile("redis-benchmark (\d+)\.(\d+)\.(\d+) ")
@@ -100,16 +100,15 @@ def redis_benchmark_ensure_min_version_local(benchmark_tool, benchmark_min_tool_
100100
(stdout, sterr) = benchmark_client_process.communicate()
101101
ensure_redis_benchmark_version_from_input(benchmark_min_tool_version, benchmark_min_tool_version_major,
102102
benchmark_min_tool_version_minor, benchmark_min_tool_version_patch,
103-
benchmark_tool, stdout)
103+
benchmark_tool, stdout.decode('ascii'))
104104

105105

106106
def redis_benchmark_ensure_min_version_remote(benchmark_tool, benchmark_min_tool_version,
107107
benchmark_min_tool_version_major,
108-
benchmark_min_tool_version_minor, benchmark_min_tool_version_patch):
109-
benchmark_client_process = subprocess.Popen(args=[benchmark_tool, "--version"],
110-
stdout=subprocess.PIPE,
111-
stderr=subprocess.STDOUT)
112-
(stdout, sterr) = benchmark_client_process.communicate()
108+
benchmark_min_tool_version_minor, benchmark_min_tool_version_patch,
109+
client_public_ip, username, private_key):
110+
res = executeRemoteCommands(client_public_ip, username, private_key, ["{} --version".format(benchmark_tool)])
111+
recv_exit_status, stdout, stderr = res[0]
113112
ensure_redis_benchmark_version_from_input(benchmark_min_tool_version, benchmark_min_tool_version_major,
114113
benchmark_min_tool_version_minor, benchmark_min_tool_version_patch,
115-
benchmark_tool, stdout)
114+
benchmark_tool, stdout[0])

redisbench_admin/run_remote/run_remote.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from redistimeseries.client import Client
1212

1313
from redisbench_admin.run.redis_benchmark.redis_benchmark import redis_benchmark_ensure_min_version_local, \
14-
redis_benchmark_from_stdout_csv_to_json
14+
redis_benchmark_from_stdout_csv_to_json, redis_benchmark_ensure_min_version_remote
1515
from redisbench_admin.run.common import extract_benchmark_tool_settings, prepare_benchmark_parameters, \
1616
runRemoteBenchmark
1717
from redisbench_admin.utils.benchmark_config import (
@@ -271,10 +271,11 @@ def run_remote_command_logic(args):
271271
)
272272

273273
if benchmark_min_tool_version is not None and benchmark_tool == "redis-benchmark":
274-
redis_benchmark_ensure_min_version_local(benchmark_tool, benchmark_min_tool_version,
275-
benchmark_min_tool_version_major,
276-
benchmark_min_tool_version_minor,
277-
benchmark_min_tool_version_patch)
274+
redis_benchmark_ensure_min_version_remote(benchmark_tool, benchmark_min_tool_version,
275+
benchmark_min_tool_version_major,
276+
benchmark_min_tool_version_minor,
277+
benchmark_min_tool_version_patch,
278+
client_public_ip, username, private_key)
278279

279280
command, command_str = prepare_benchmark_parameters(benchmark_config, benchmark_tool,
280281
server_plaintext_port,

0 commit comments

Comments
 (0)