From b3cb85e475f626db45878548fc47ef55db68926d Mon Sep 17 00:00:00 2001 From: filipe oliveira Date: Fri, 13 May 2022 11:08:28 +0100 Subject: [PATCH] Added TF_OVERRIDE_REMOTE to redisbench-admin run-remote (#356) * Added pyperf format to redisbench-admin export * Added TF_OVERRIDE_REMOTE to redisbench-admin run-remote --- pyproject.toml | 2 +- redisbench_admin/run_remote/args.py | 1 + redisbench_admin/run_remote/remote_env.py | 2 ++ redisbench_admin/run_remote/run_remote.py | 3 ++- redisbench_admin/run_remote/terraform.py | 12 +++++++----- redisbench_admin/utils/remote.py | 16 +++++++++------- 6 files changed, 22 insertions(+), 14 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index d053c67..b3fc418 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "redisbench-admin" -version = "0.9.0" +version = "0.9.1" 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_remote/args.py b/redisbench_admin/run_remote/args.py index 4d6ead6..113ef62 100644 --- a/redisbench_admin/run_remote/args.py +++ b/redisbench_admin/run_remote/args.py @@ -18,6 +18,7 @@ REMOTE_INVENTORY = os.getenv("INVENTORY", None) TF_OVERRIDE_NAME = os.getenv("TF_OVERRIDE_NAME", None) +TF_OVERRIDE_REMOTE = os.getenv("TF_OVERRIDE_REMOTE", None) REMOTE_USER = os.getenv("REMOTE_USER", "ubuntu") diff --git a/redisbench_admin/run_remote/remote_env.py b/redisbench_admin/run_remote/remote_env.py index 3ba01e5..06b9336 100644 --- a/redisbench_admin/run_remote/remote_env.py +++ b/redisbench_admin/run_remote/remote_env.py @@ -26,6 +26,7 @@ def remote_env_setup( tf_triggering_env, tf_timeout_secs=7200, tf_override_name=None, + tf_folder_path=None, ): server_plaintext_port = 6379 db_ssh_port = args.db_ssh_port @@ -69,6 +70,7 @@ def remote_env_setup( tf_triggering_env, tf_timeout_secs, tf_override_name, + tf_folder_path, ) return ( client_public_ip, diff --git a/redisbench_admin/run_remote/run_remote.py b/redisbench_admin/run_remote/run_remote.py index 0541140..b1bb325 100644 --- a/redisbench_admin/run_remote/run_remote.py +++ b/redisbench_admin/run_remote/run_remote.py @@ -42,7 +42,7 @@ from redisbench_admin.run.run import define_benchmark_plan from redisbench_admin.run.s3 import get_test_s3_bucket_path from redisbench_admin.run.ssh import ssh_pem_check -from redisbench_admin.run_remote.args import TF_OVERRIDE_NAME +from redisbench_admin.run_remote.args import TF_OVERRIDE_NAME, TF_OVERRIDE_REMOTE from redisbench_admin.run_remote.consts import min_recommended_benchmark_duration from redisbench_admin.run_remote.notifications import generate_failure_notification from redisbench_admin.run_remote.remote_client import run_remote_client_tool @@ -400,6 +400,7 @@ def run_remote_command_logic(args, project_name, project_version): tf_triggering_env, tf_timeout_secs, TF_OVERRIDE_NAME, + TF_OVERRIDE_REMOTE, ) # after we've created the env, even on error we should always teardown diff --git a/redisbench_admin/run_remote/terraform.py b/redisbench_admin/run_remote/terraform.py index 6ed8986..3bafd98 100644 --- a/redisbench_admin/run_remote/terraform.py +++ b/redisbench_admin/run_remote/terraform.py @@ -29,12 +29,14 @@ def terraform_spin_or_reuse_env( tf_triggering_env, tf_timeout_secs=7200, tf_override_name=None, + tf_folder_path=None, ): - ( - remote_setup, - deployment_type, - remote_id, - ) = fetch_remote_setup_from_config(benchmark_config["remote"]) + (remote_setup, deployment_type, remote_id,) = fetch_remote_setup_from_config( + benchmark_config["remote"], + "https://github.com/RedisLabsModules/testing-infrastructure.git", + "master", + tf_folder_path, + ) logging.info( "Repetition {} of {}. Deploying test {} on AWS using {}".format( repetition, BENCHMARK_REPETITIONS, test_name, remote_setup diff --git a/redisbench_admin/utils/remote.py b/redisbench_admin/utils/remote.py index 44db177..506b553 100644 --- a/redisbench_admin/utils/remote.py +++ b/redisbench_admin/utils/remote.py @@ -541,16 +541,18 @@ def fetch_remote_setup_from_config( remote_setup_config, repo="https://github.com/RedisLabsModules/testing-infrastructure.git", branch="master", + path=None, ): setup_type = None setup = None - for remote_setup_property in remote_setup_config: - if "type" in remote_setup_property: - setup_type = remote_setup_property["type"] - if "setup" in remote_setup_property: - setup = remote_setup_property["setup"] - # fetch terraform folder - path = "/terraform/{}-{}".format(setup_type, setup) + if path is None: + for remote_setup_property in remote_setup_config: + if "type" in remote_setup_property: + setup_type = remote_setup_property["type"] + if "setup" in remote_setup_property: + setup = remote_setup_property["setup"] + # fetch terraform folder + path = "/terraform/{}-{}".format(setup_type, setup) terraform_working_dir = common_tf(branch, path, repo) return terraform_working_dir, setup_type, setup