From ab98e4889021eb1b61eb5669cbcaf5440cc7c8ce Mon Sep 17 00:00:00 2001 From: filipecosta90 Date: Fri, 11 Feb 2022 00:08:25 +0000 Subject: [PATCH] On remote DB spin, logging process exit code and stdout stderr in case of failure --- pyproject.toml | 2 +- redisbench_admin/run/cluster.py | 11 ++++++++++- redisbench_admin/run_remote/standalone.py | 12 +++++++++++- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 8bc8c3d..0ae692e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "redisbench-admin" -version = "0.6.19" +version = "0.6.20" description = "Redis benchmark run helper. A wrapper around Redis and Redis Modules benchmark tools ( ftsb_redisearch, memtier_benchmark, redis-benchmark, aibench, etc... )." authors = ["filipecosta90 ","Redis Performance Group "] readme = "README.md" diff --git a/redisbench_admin/run/cluster.py b/redisbench_admin/run/cluster.py index d802185..726cbdf 100644 --- a/redisbench_admin/run/cluster.py +++ b/redisbench_admin/run/cluster.py @@ -138,7 +138,16 @@ def spin_up_redis_cluster_remote_redis( ) logfiles.append(logfile) redis_process_commands.append(" ".join(command)) - execute_remote_commands( + res = execute_remote_commands( server_public_ip, username, private_key, redis_process_commands, ssh_port ) + for pos, res_pos in enumerate(res): + [recv_exit_status, stdout, stderr] = res_pos + if recv_exit_status != 0: + logging.error( + "Remote primary shard {} command returned exit code {}. stdout {}. stderr {}".format( + pos, recv_exit_status, stdout, stderr + ) + ) + return logfiles diff --git a/redisbench_admin/run_remote/standalone.py b/redisbench_admin/run_remote/standalone.py index 037d6bc..639705c 100644 --- a/redisbench_admin/run_remote/standalone.py +++ b/redisbench_admin/run_remote/standalone.py @@ -37,7 +37,17 @@ def spin_up_standalone_remote_redis( # start redis-server commands = [initial_redis_cmd] - execute_remote_commands(server_public_ip, username, private_key, commands, port) + res = execute_remote_commands( + server_public_ip, username, private_key, commands, port + ) + for pos, res_pos in enumerate(res): + [recv_exit_status, stdout, stderr] = res_pos + if recv_exit_status != 0: + logging.error( + "Remote primary shard {} command returned exit code {}. stdout {}. stderr {}".format( + pos, recv_exit_status, stdout, stderr + ) + ) return full_logfile