From c7ff99ec9ab8a8520a419a962788b4360dba3dfa Mon Sep 17 00:00:00 2001 From: Greg Schohn Date: Mon, 10 Jul 2023 11:59:01 -0400 Subject: [PATCH] Startup an OpenSearch Benchmark container, but put don't run tests upon startup... Instead, put the tests into a shell script that can be invoked when the user wants to run it. That also lets the user run other tests too. Signed-off-by: Greg Schohn --- .../src/main/docker/docker-compose.yml | 26 +++++-------------- .../docker/openSearchBenchmark/Dockerfile | 4 +++ .../openSearchBenchmark/runTestBenchmarks.sh | 12 +++++++++ 3 files changed, 22 insertions(+), 20 deletions(-) create mode 100644 TrafficCapture/dockerSolution/src/main/docker/openSearchBenchmark/runTestBenchmarks.sh diff --git a/TrafficCapture/dockerSolution/src/main/docker/docker-compose.yml b/TrafficCapture/dockerSolution/src/main/docker/docker-compose.yml index ddeed298a..2c423e539 100644 --- a/TrafficCapture/dockerSolution/src/main/docker/docker-compose.yml +++ b/TrafficCapture/dockerSolution/src/main/docker/docker-compose.yml @@ -78,26 +78,6 @@ services: - migrations ports: - "29200:9200" -# opensearch-benchmarks: -# image: 'migrations/open_search_benchmark:latest' -# networks: -# - migrations -# depends_on: -# - captureproxy -# command: -# - /bin/sh -# - -c -# - > -# echo "Running opensearch-benchmark w/ 'geonames' workload..." && -# opensearch-benchmark execute-test --distribution-version=1.0.0 --target-host=https://captureproxy:9200 --workload=geonames --pipeline=benchmark-only --test-mode --kill-running-processes --workload-params "target_throughput:0.5,bulk_size:10,bulk_indexing_clients:1,search_clients:1" --client-options="use_ssl:true,verify_certs:false,basic_auth_user:admin,basic_auth_password:admin" && -# echo "Running opensearch-benchmark w/ 'http_logs' workload..." && -# opensearch-benchmark execute-test --distribution-version=1.0.0 --target-host=https://captureproxy:9200 --workload=http_logs --pipeline=benchmark-only --test-mode --kill-running-processes --workload-params "target_throughput:0.5,bulk_size:10,bulk_indexing_clients:1,search_clients:1" --client-options="use_ssl:true,verify_certs:false,basic_auth_user:admin,basic_auth_password:admin" && -# echo "Running opensearch-benchmark w/ 'nested' workload..." && -# opensearch-benchmark execute-test --distribution-version=1.0.0 --target-host=https://captureproxy:9200 --workload=nested --pipeline=benchmark-only --test-mode --kill-running-processes --workload-params "target_throughput:0.5,bulk_size:10,bulk_indexing_clients:1,search_clients:1" --client-options="use_ssl:true,verify_certs:false,basic_auth_user:admin,basic_auth_password:admin" && -# echo "Running opensearch-benchmark w/ 'nyc_taxis' workload..." && -# opensearch-benchmark execute-test --distribution-version=1.0.0 --target-host=https://captureproxy:9200 --workload=nyc_taxis --pipeline=benchmark-only --test-mode --kill-running-processes --workload-params "target_throughput:0.5,bulk_size:10,bulk_indexing_clients:1,search_clients:1" --client-options="use_ssl:true,verify_certs:false,basic_auth_user:admin,basic_auth_password:admin" && -# sleep 30 && -# curl --insecure https://captureproxy:9200/ trafficcomparator: image: 'migrations/traffic_comparator:latest' @@ -126,6 +106,12 @@ services: - COMPARISONS_DB_LOCATION=/shared/comparisons.db command: /bin/sh -c 'cd trafficComparator && pip3 install --editable ".[data]" && jupyter notebook --ip=0.0.0.0 --port=8888 --no-browser --allow-root' + opensearch-benchmarks: + image: 'migrations/open_search_benchmark:latest' + networks: + - migrations + depends_on: + - captureproxy volumes: zookeeper_data: diff --git a/TrafficCapture/dockerSolution/src/main/docker/openSearchBenchmark/Dockerfile b/TrafficCapture/dockerSolution/src/main/docker/openSearchBenchmark/Dockerfile index ddb9fca88..aa2ef84e8 100644 --- a/TrafficCapture/dockerSolution/src/main/docker/openSearchBenchmark/Dockerfile +++ b/TrafficCapture/dockerSolution/src/main/docker/openSearchBenchmark/Dockerfile @@ -6,4 +6,8 @@ RUN apt-get update && \ apt-get install -y --no-install-recommends python3.9 python3-pip python3-dev gcc libc-dev git curl && \ pip3 install opensearch-benchmark +COPY runTestBenchmarks.sh /root/ +RUN chmod ugo+x /root/runTestBenchmarks.sh +WORKDIR /root + CMD tail -f /dev/null \ No newline at end of file diff --git a/TrafficCapture/dockerSolution/src/main/docker/openSearchBenchmark/runTestBenchmarks.sh b/TrafficCapture/dockerSolution/src/main/docker/openSearchBenchmark/runTestBenchmarks.sh new file mode 100644 index 000000000..2d70691bf --- /dev/null +++ b/TrafficCapture/dockerSolution/src/main/docker/openSearchBenchmark/runTestBenchmarks.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +echo "Running opensearch-benchmark w/ 'geonames' workload..." && +opensearch-benchmark execute-test --distribution-version=1.0.0 --target-host=https://captureproxy:9200 --workload=geonames --pipeline=benchmark-only --test-mode --kill-running-processes --workload-params "target_throughput:0.5,bulk_size:10,bulk_indexing_clients:1,search_clients:1" --client-options="use_ssl:true,verify_certs:false,basic_auth_user:admin,basic_auth_password:admin" && +echo "Running opensearch-benchmark w/ 'http_logs' workload..." && +opensearch-benchmark execute-test --distribution-version=1.0.0 --target-host=https://captureproxy:9200 --workload=http_logs --pipeline=benchmark-only --test-mode --kill-running-processes --workload-params "target_throughput:0.5,bulk_size:10,bulk_indexing_clients:1,search_clients:1" --client-options="use_ssl:true,verify_certs:false,basic_auth_user:admin,basic_auth_password:admin" && +echo "Running opensearch-benchmark w/ 'nested' workload..." && +opensearch-benchmark execute-test --distribution-version=1.0.0 --target-host=https://captureproxy:9200 --workload=nested --pipeline=benchmark-only --test-mode --kill-running-processes --workload-params "target_throughput:0.5,bulk_size:10,bulk_indexing_clients:1,search_clients:1" --client-options="use_ssl:true,verify_certs:false,basic_auth_user:admin,basic_auth_password:admin" && +echo "Running opensearch-benchmark w/ 'nyc_taxis' workload..." && +opensearch-benchmark execute-test --distribution-version=1.0.0 --target-host=https://captureproxy:9200 --workload=nyc_taxis --pipeline=benchmark-only --test-mode --kill-running-processes --workload-params "target_throughput:0.5,bulk_size:10,bulk_indexing_clients:1,search_clients:1" --client-options="use_ssl:true,verify_certs:false,basic_auth_user:admin,basic_auth_password:admin" && +sleep 30 && +curl --insecure https://captureproxy:9200/