From d3762effdd33b401aa03a9a86a03adef1323251e Mon Sep 17 00:00:00 2001 From: Prudhvi Godithi Date: Wed, 31 Jul 2024 11:31:59 -0700 Subject: [PATCH] Manual backport of PR `468` (#469) Signed-off-by: Prudhvi Godithi --- BenchmarkTestMultinode_Jenkinsfile.txt | 63 ---------- BenchmarkTest_Jenkinsfile.txt | 63 ---------- PerfTest_Jenkinsfile.txt | 59 --------- TestRunBenchmarkTestScript.groovy | 113 ------------------ TestRunPerfTestScript.groovy | 107 ----------------- downloadBuildManifest.groovy | 16 --- .../jenkins/TestRunBenchmarkTestScript.groovy | 2 +- tests/jenkins/TestRunPerfTestScript.groovy | 2 +- .../BenchmarkTestMultinode_Jenkinsfile.txt | 8 +- .../jobs/BenchmarkTest_Jenkinsfile.txt | 8 +- tests/jenkins/jobs/PerfTest_Jenkinsfile.txt | 8 +- vars/downloadBuildManifest.groovy | 5 +- 12 files changed, 23 insertions(+), 431 deletions(-) delete mode 100644 BenchmarkTestMultinode_Jenkinsfile.txt delete mode 100644 BenchmarkTest_Jenkinsfile.txt delete mode 100644 PerfTest_Jenkinsfile.txt delete mode 100644 TestRunBenchmarkTestScript.groovy delete mode 100644 TestRunPerfTestScript.groovy delete mode 100644 downloadBuildManifest.groovy diff --git a/BenchmarkTestMultinode_Jenkinsfile.txt b/BenchmarkTestMultinode_Jenkinsfile.txt deleted file mode 100644 index aa05034e8..000000000 --- a/BenchmarkTestMultinode_Jenkinsfile.txt +++ /dev/null @@ -1,63 +0,0 @@ - BenchmarkTestMultinode_Jenkinsfile.run() - BenchmarkTestMultinode_Jenkinsfile.pipeline(groovy.lang.Closure) - BenchmarkTestMultinode_Jenkinsfile.echo(Executing on agent [label:none]) - BenchmarkTestMultinode_Jenkinsfile.stage(test-with-security, groovy.lang.Closure) - BenchmarkTestMultinode_Jenkinsfile.script(groovy.lang.Closure) - BenchmarkTestMultinode_Jenkinsfile.downloadBuildManifest({url=test://artifact.url, path=tests/data/opensearch-1.3.0-bundle.yml}) - downloadBuildManifest.legacySCM(groovy.lang.Closure) - downloadBuildManifest.library({identifier=jenkins@main, retriever=null}) - downloadBuildManifest.sh(mkdir -p $(dirname "tests/data/opensearch-1.3.0-bundle.yml")) - downloadBuildManifest.sh(touch tests/data/opensearch-1.3.0-bundle.yml) - downloadBuildManifest.sh(curl -sSL --retry 5 test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml) - downloadBuildManifest.readYaml({file=tests/data/opensearch-1.3.0-bundle.yml}) - BuildManifest.asBoolean() - BenchmarkTestMultinode_Jenkinsfile.runBenchmarkTestScript({bundleManifest=tests/data/opensearch-1.3.0-bundle.yml, distributionUrl=, distributionVersion=, workload=nyc_taxis, insecure=false, singleNode=false, minDistribution=false, use50PercentHeap=true, enableRemoteStore=true, suffix=307-secure, managerNodeCount=3, dataNodeCount=3, clientNodeCount=, ingestNodeCount=, mlNodeCount=, dataInstanceType=, userTag=key1:value1,security-enabled:true, workloadParams={"key2":"value2"}, testProcedure=custom-test-procedure, excludeTasks=index-append,default, includeTasks=type:search,index, additionalConfig=cluster.indices.replication.strategy:SEGMENT, dataStorageSize=200, mlStorageSize=200, jvmSysProps=, captureNodeStat=true, captureSegmentReplicationStat=false, telemetryParams={"telemetry_setting":"value"}}) - runBenchmarkTestScript.legacySCM(groovy.lang.Closure) - runBenchmarkTestScript.library({identifier=jenkins@main, retriever=null}) - runBenchmarkTestScript.readYaml({file=tests/data/opensearch-1.3.0-bundle.yml}) - BuildManifest.asBoolean() - runBenchmarkTestScript.string({credentialsId=jenkins-aws-account-public, variable=AWS_ACCOUNT_PUBLIC}) - runBenchmarkTestScript.string({credentialsId=jenkins-artifact-bucket-name, variable=ARTIFACT_BUCKET_NAME}) - runBenchmarkTestScript.withCredentials([AWS_ACCOUNT_PUBLIC, ARTIFACT_BUCKET_NAME], groovy.lang.Closure) - runBenchmarkTestScript.withAWS({role=opensearch-test, roleAccount=AWS_ACCOUNT_PUBLIC, duration=900, roleSessionName=jenkins-session}, groovy.lang.Closure) - runBenchmarkTestScript.s3Download({file=config.yml, bucket=ARTIFACT_BUCKET_NAME, path=test_config/config.yml, force=true}) - runBenchmarkTestScript.s3Download({file=benchmark.ini, bucket=ARTIFACT_BUCKET_NAME, path=test_config/benchmark.ini, force=true}) - runBenchmarkTestScript.string({credentialsId=benchmark-metrics-datastore-user, variable=DATASTORE_USER}) - runBenchmarkTestScript.string({credentialsId=benchmark-metrics-datastore-password, variable=DATASTORE_PASSWORD}) - runBenchmarkTestScript.withCredentials([DATASTORE_USER, DATASTORE_PASSWORD], groovy.lang.Closure) - runBenchmarkTestScript.readFile({file=/tmp/workspace/benchmark.ini}) - runBenchmarkTestScript.writeFile({file=/tmp/workspace/benchmark.ini, text=}) - BuildManifest.getArtifactBuildId() - BuildManifest.getArtifactArchitecture() - BuildManifest.getCommitId(OpenSearch) - runBenchmarkTestScript.sh(set +x && ./test.sh benchmark-test --bundle-manifest tests/data/opensearch-1.3.0-bundle.yml --config /tmp/workspace/config.yml --workload nyc_taxis --benchmark-config /tmp/workspace/benchmark.ini --user-tag distribution-build-id:1236,arch:x64,os-commit-id:22408088f002a4fc8cdd3b2ed7438866c14c5069,key1:value1,security-enabled:true --use-50-percent-heap --enable-remote-store --capture-node-stat --suffix 307-secure --manager-node-count 3 --data-node-count 3 --workload-params '{"key2":"value2"}' --test-procedure custom-test-procedure --exclude-tasks index-append,default --include-tasks type:search,index --additional-config cluster.indices.replication.strategy:SEGMENT --data-node-storage 200 --ml-node-storage 200 --telemetry-params '{"telemetry_setting":"value"}') - BenchmarkTestMultinode_Jenkinsfile.stage(test-without-security, groovy.lang.Closure) - BenchmarkTestMultinode_Jenkinsfile.script(groovy.lang.Closure) - BenchmarkTestMultinode_Jenkinsfile.downloadBuildManifest({url=test://artifact.url, path=tests/data/opensearch-1.3.0-bundle.yml}) - downloadBuildManifest.legacySCM(groovy.lang.Closure) - downloadBuildManifest.library({identifier=jenkins@main, retriever=null}) - downloadBuildManifest.sh(mkdir -p $(dirname "tests/data/opensearch-1.3.0-bundle.yml")) - downloadBuildManifest.sh(touch tests/data/opensearch-1.3.0-bundle.yml) - downloadBuildManifest.sh(curl -sSL --retry 5 test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml) - downloadBuildManifest.readYaml({file=tests/data/opensearch-1.3.0-bundle.yml}) - BuildManifest.asBoolean() - BenchmarkTestMultinode_Jenkinsfile.runBenchmarkTestScript({bundleManifest=tests/data/opensearch-1.3.0-bundle.yml, distributionUrl=, distributionVersion=, workload=nyc_taxis, insecure=true, singleNode=false, minDistribution=false, use50PercentHeap=true, enableRemoteStore=true, suffix=307, managerNodeCount=3, dataNodeCount=3, clientNodeCount=, ingestNodeCount=, mlNodeCount=, dataInstanceType=, userTag=key1:value1,security-enabled:false, workloadParams={"key2":"value2"}, testProcedure=custom-test-procedure, excludeTasks=index-append,default, includeTasks=type:search,index, additionalConfig=cluster.indices.replication.strategy:SEGMENT, dataStorageSize=200, mlStorageSize=200, jvmSysProps=, captureNodeStat=true, captureSegmentReplicationStat=false, telemetryParams={"telemetry_setting":"value"}}) - runBenchmarkTestScript.legacySCM(groovy.lang.Closure) - runBenchmarkTestScript.library({identifier=jenkins@main, retriever=null}) - runBenchmarkTestScript.readYaml({file=tests/data/opensearch-1.3.0-bundle.yml}) - BuildManifest.asBoolean() - runBenchmarkTestScript.string({credentialsId=jenkins-aws-account-public, variable=AWS_ACCOUNT_PUBLIC}) - runBenchmarkTestScript.string({credentialsId=jenkins-artifact-bucket-name, variable=ARTIFACT_BUCKET_NAME}) - runBenchmarkTestScript.withCredentials([AWS_ACCOUNT_PUBLIC, ARTIFACT_BUCKET_NAME], groovy.lang.Closure) - runBenchmarkTestScript.withAWS({role=opensearch-test, roleAccount=AWS_ACCOUNT_PUBLIC, duration=900, roleSessionName=jenkins-session}, groovy.lang.Closure) - runBenchmarkTestScript.s3Download({file=config.yml, bucket=ARTIFACT_BUCKET_NAME, path=test_config/config.yml, force=true}) - runBenchmarkTestScript.s3Download({file=benchmark.ini, bucket=ARTIFACT_BUCKET_NAME, path=test_config/benchmark.ini, force=true}) - runBenchmarkTestScript.string({credentialsId=benchmark-metrics-datastore-user, variable=DATASTORE_USER}) - runBenchmarkTestScript.string({credentialsId=benchmark-metrics-datastore-password, variable=DATASTORE_PASSWORD}) - runBenchmarkTestScript.withCredentials([DATASTORE_USER, DATASTORE_PASSWORD], groovy.lang.Closure) - runBenchmarkTestScript.readFile({file=/tmp/workspace/benchmark.ini}) - runBenchmarkTestScript.writeFile({file=/tmp/workspace/benchmark.ini, text=}) - BuildManifest.getArtifactBuildId() - BuildManifest.getArtifactArchitecture() - BuildManifest.getCommitId(OpenSearch) - runBenchmarkTestScript.sh(set +x && ./test.sh benchmark-test --bundle-manifest tests/data/opensearch-1.3.0-bundle.yml --config /tmp/workspace/config.yml --workload nyc_taxis --benchmark-config /tmp/workspace/benchmark.ini --user-tag distribution-build-id:1236,arch:x64,os-commit-id:22408088f002a4fc8cdd3b2ed7438866c14c5069,key1:value1,security-enabled:false --without-security --use-50-percent-heap --enable-remote-store --capture-node-stat --suffix 307 --manager-node-count 3 --data-node-count 3 --workload-params '{"key2":"value2"}' --test-procedure custom-test-procedure --exclude-tasks index-append,default --include-tasks type:search,index --additional-config cluster.indices.replication.strategy:SEGMENT --data-node-storage 200 --ml-node-storage 200 --telemetry-params '{"telemetry_setting":"value"}') diff --git a/BenchmarkTest_Jenkinsfile.txt b/BenchmarkTest_Jenkinsfile.txt deleted file mode 100644 index bed6dfd76..000000000 --- a/BenchmarkTest_Jenkinsfile.txt +++ /dev/null @@ -1,63 +0,0 @@ - BenchmarkTest_Jenkinsfile.run() - BenchmarkTest_Jenkinsfile.pipeline(groovy.lang.Closure) - BenchmarkTest_Jenkinsfile.echo(Executing on agent [label:none]) - BenchmarkTest_Jenkinsfile.stage(test-with-security, groovy.lang.Closure) - BenchmarkTest_Jenkinsfile.script(groovy.lang.Closure) - BenchmarkTest_Jenkinsfile.downloadBuildManifest({url=test://artifact.url, path=tests/data/opensearch-1.3.0-bundle.yml}) - downloadBuildManifest.legacySCM(groovy.lang.Closure) - downloadBuildManifest.library({identifier=jenkins@main, retriever=null}) - downloadBuildManifest.sh(mkdir -p $(dirname "tests/data/opensearch-1.3.0-bundle.yml")) - downloadBuildManifest.sh(touch tests/data/opensearch-1.3.0-bundle.yml) - downloadBuildManifest.sh(curl -sSL --retry 5 test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml) - downloadBuildManifest.readYaml({file=tests/data/opensearch-1.3.0-bundle.yml}) - BuildManifest.asBoolean() - BenchmarkTest_Jenkinsfile.runBenchmarkTestScript({bundleManifest=tests/data/opensearch-1.3.0-bundle.yml, distributionUrl=, distributionVersion=, workload=nyc_taxis, insecure=false, singleNode=true, minDistribution=false, use50PercentHeap=true, enableRemoteStore=false, suffix=307-secure, managerNodeCount=, dataNodeCount=, clientNodeCount=, ingestNodeCount=, mlNodeCount=, dataInstanceType=r5.8xlarge, userTag=security-enabled:true, workloadParams={"key2":"value2"}, testProcedure=, excludeTasks=, includeTasks=, additionalConfig=cluster.indices.replication.strategy:SEGMENT, dataStorageSize=200, mlStorageSize=200, jvmSysProps=, captureNodeStat=false, captureSegmentReplicationStat=true, telemetryParams=}) - runBenchmarkTestScript.legacySCM(groovy.lang.Closure) - runBenchmarkTestScript.library({identifier=jenkins@main, retriever=null}) - runBenchmarkTestScript.readYaml({file=tests/data/opensearch-1.3.0-bundle.yml}) - BuildManifest.asBoolean() - runBenchmarkTestScript.string({credentialsId=jenkins-aws-account-public, variable=AWS_ACCOUNT_PUBLIC}) - runBenchmarkTestScript.string({credentialsId=jenkins-artifact-bucket-name, variable=ARTIFACT_BUCKET_NAME}) - runBenchmarkTestScript.withCredentials([AWS_ACCOUNT_PUBLIC, ARTIFACT_BUCKET_NAME], groovy.lang.Closure) - runBenchmarkTestScript.withAWS({role=opensearch-test, roleAccount=AWS_ACCOUNT_PUBLIC, duration=900, roleSessionName=jenkins-session}, groovy.lang.Closure) - runBenchmarkTestScript.s3Download({file=config.yml, bucket=ARTIFACT_BUCKET_NAME, path=test_config/config.yml, force=true}) - runBenchmarkTestScript.s3Download({file=benchmark.ini, bucket=ARTIFACT_BUCKET_NAME, path=test_config/benchmark.ini, force=true}) - runBenchmarkTestScript.string({credentialsId=benchmark-metrics-datastore-user, variable=DATASTORE_USER}) - runBenchmarkTestScript.string({credentialsId=benchmark-metrics-datastore-password, variable=DATASTORE_PASSWORD}) - runBenchmarkTestScript.withCredentials([DATASTORE_USER, DATASTORE_PASSWORD], groovy.lang.Closure) - runBenchmarkTestScript.readFile({file=/tmp/workspace/benchmark.ini}) - runBenchmarkTestScript.writeFile({file=/tmp/workspace/benchmark.ini, text=}) - BuildManifest.getArtifactBuildId() - BuildManifest.getArtifactArchitecture() - BuildManifest.getCommitId(OpenSearch) - runBenchmarkTestScript.sh(set +x && ./test.sh benchmark-test --bundle-manifest tests/data/opensearch-1.3.0-bundle.yml --config /tmp/workspace/config.yml --workload nyc_taxis --benchmark-config /tmp/workspace/benchmark.ini --user-tag distribution-build-id:1236,arch:x64,os-commit-id:22408088f002a4fc8cdd3b2ed7438866c14c5069,security-enabled:true --single-node --use-50-percent-heap --capture-segment-replication-stat --suffix 307-secure --data-instance-type r5.8xlarge --workload-params '{"key2":"value2"}' --additional-config cluster.indices.replication.strategy:SEGMENT --data-node-storage 200 --ml-node-storage 200) - BenchmarkTest_Jenkinsfile.stage(test-without-security, groovy.lang.Closure) - BenchmarkTest_Jenkinsfile.script(groovy.lang.Closure) - BenchmarkTest_Jenkinsfile.downloadBuildManifest({url=test://artifact.url, path=tests/data/opensearch-1.3.0-bundle.yml}) - downloadBuildManifest.legacySCM(groovy.lang.Closure) - downloadBuildManifest.library({identifier=jenkins@main, retriever=null}) - downloadBuildManifest.sh(mkdir -p $(dirname "tests/data/opensearch-1.3.0-bundle.yml")) - downloadBuildManifest.sh(touch tests/data/opensearch-1.3.0-bundle.yml) - downloadBuildManifest.sh(curl -sSL --retry 5 test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml) - downloadBuildManifest.readYaml({file=tests/data/opensearch-1.3.0-bundle.yml}) - BuildManifest.asBoolean() - BenchmarkTest_Jenkinsfile.runBenchmarkTestScript({bundleManifest=tests/data/opensearch-1.3.0-bundle.yml, distributionUrl=, distributionVersion=, workload=nyc_taxis, insecure=true, singleNode=true, minDistribution=false, use50PercentHeap=true, enableRemoteStore=false, suffix=307, managerNodeCount=, dataNodeCount=, clientNodeCount=, ingestNodeCount=, mlNodeCount=, dataInstanceType=r5.8xlarge, userTag=security-enabled:false, workloadParams={"key2":"value2"}, testProcedure=, excludeTasks=, includeTasks=, additionalConfig=cluster.indices.replication.strategy:SEGMENT, dataStorageSize=200, mlStorageSize=200, jvmSysProps=, captureNodeStat=false, captureSegmentReplicationStat=true, telemetryParams=}) - runBenchmarkTestScript.legacySCM(groovy.lang.Closure) - runBenchmarkTestScript.library({identifier=jenkins@main, retriever=null}) - runBenchmarkTestScript.readYaml({file=tests/data/opensearch-1.3.0-bundle.yml}) - BuildManifest.asBoolean() - runBenchmarkTestScript.string({credentialsId=jenkins-aws-account-public, variable=AWS_ACCOUNT_PUBLIC}) - runBenchmarkTestScript.string({credentialsId=jenkins-artifact-bucket-name, variable=ARTIFACT_BUCKET_NAME}) - runBenchmarkTestScript.withCredentials([AWS_ACCOUNT_PUBLIC, ARTIFACT_BUCKET_NAME], groovy.lang.Closure) - runBenchmarkTestScript.withAWS({role=opensearch-test, roleAccount=AWS_ACCOUNT_PUBLIC, duration=900, roleSessionName=jenkins-session}, groovy.lang.Closure) - runBenchmarkTestScript.s3Download({file=config.yml, bucket=ARTIFACT_BUCKET_NAME, path=test_config/config.yml, force=true}) - runBenchmarkTestScript.s3Download({file=benchmark.ini, bucket=ARTIFACT_BUCKET_NAME, path=test_config/benchmark.ini, force=true}) - runBenchmarkTestScript.string({credentialsId=benchmark-metrics-datastore-user, variable=DATASTORE_USER}) - runBenchmarkTestScript.string({credentialsId=benchmark-metrics-datastore-password, variable=DATASTORE_PASSWORD}) - runBenchmarkTestScript.withCredentials([DATASTORE_USER, DATASTORE_PASSWORD], groovy.lang.Closure) - runBenchmarkTestScript.readFile({file=/tmp/workspace/benchmark.ini}) - runBenchmarkTestScript.writeFile({file=/tmp/workspace/benchmark.ini, text=}) - BuildManifest.getArtifactBuildId() - BuildManifest.getArtifactArchitecture() - BuildManifest.getCommitId(OpenSearch) - runBenchmarkTestScript.sh(set +x && ./test.sh benchmark-test --bundle-manifest tests/data/opensearch-1.3.0-bundle.yml --config /tmp/workspace/config.yml --workload nyc_taxis --benchmark-config /tmp/workspace/benchmark.ini --user-tag distribution-build-id:1236,arch:x64,os-commit-id:22408088f002a4fc8cdd3b2ed7438866c14c5069,security-enabled:false --without-security --single-node --use-50-percent-heap --capture-segment-replication-stat --suffix 307 --data-instance-type r5.8xlarge --workload-params '{"key2":"value2"}' --additional-config cluster.indices.replication.strategy:SEGMENT --data-node-storage 200 --ml-node-storage 200) diff --git a/PerfTest_Jenkinsfile.txt b/PerfTest_Jenkinsfile.txt deleted file mode 100644 index 142d5468a..000000000 --- a/PerfTest_Jenkinsfile.txt +++ /dev/null @@ -1,59 +0,0 @@ - PerfTest_Jenkinsfile.run() - PerfTest_Jenkinsfile.pipeline(groovy.lang.Closure) - PerfTest_Jenkinsfile.echo(Executing on agent [label:none]) - PerfTest_Jenkinsfile.stage(test-with-security, groovy.lang.Closure) - PerfTest_Jenkinsfile.script(groovy.lang.Closure) - PerfTest_Jenkinsfile.downloadBuildManifest({url=test://artifact.url, path=tests/data/opensearch-1.3.0-bundle.yml}) - downloadBuildManifest.legacySCM(groovy.lang.Closure) - downloadBuildManifest.library({identifier=jenkins@main, retriever=null}) - downloadBuildManifest.sh(mkdir -p $(dirname "tests/data/opensearch-1.3.0-bundle.yml")) - downloadBuildManifest.sh(touch tests/data/opensearch-1.3.0-bundle.yml) - downloadBuildManifest.sh(curl -sSL --retry 5 test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml) - downloadBuildManifest.readYaml({file=tests/data/opensearch-1.3.0-bundle.yml}) - BuildManifest.asBoolean() - PerfTest_Jenkinsfile.runPerfTestScript({bundleManifest=tests/data/opensearch-1.3.0-bundle.yml, buildId=1236, architecture=x64, insecure=false, workload=nyc_taxis, testIterations=1, warmupIterations=1, stackNameSuffix=307}) - runPerfTestScript.legacySCM(groovy.lang.Closure) - runPerfTestScript.library({identifier=jenkins@main, retriever=null}) - runPerfTestScript.readYaml({file=tests/data/opensearch-1.3.0-bundle.yml}) - BuildManifest.asBoolean() - runPerfTestScript.sh( - pipenv install "dataclasses_json~=0.5" "aws_requests_auth~=0.4" "json2html~=1.3.0" - pipenv install "aws-cdk.core~=1.143.0" "aws_cdk.aws_ec2~=1.143.0" "aws_cdk.aws_iam~=1.143.0" - pipenv install "boto3~=1.18" "setuptools~=57.4" "retry~=0.9" - ) - runPerfTestScript.string({credentialsId=jenkins-aws-account-public, variable=AWS_ACCOUNT_PUBLIC}) - runPerfTestScript.string({credentialsId=jenkins-artifact-bucket-name, variable=ARTIFACT_BUCKET_NAME}) - runPerfTestScript.withCredentials([AWS_ACCOUNT_PUBLIC, ARTIFACT_BUCKET_NAME], groovy.lang.Closure) - runPerfTestScript.withAWS({role=opensearch-test, roleAccount=AWS_ACCOUNT_PUBLIC, duration=900, roleSessionName=jenkins-session}, groovy.lang.Closure) - runPerfTestScript.s3Download({file=config.yml, bucket=ARTIFACT_BUCKET_NAME, path=test_config/config.yml, force=true}) - runPerfTestScript.usernamePassword({credentialsId=bot_token_name, usernameVariable=GITHUB_USER, passwordVariable=GITHUB_TOKEN}) - runPerfTestScript.withCredentials([[GITHUB_USER, GITHUB_TOKEN]], groovy.lang.Closure) - runPerfTestScript.sh(./test.sh perf-test --stack test-single-security-1236-x64-307 --bundle-manifest tests/data/opensearch-1.3.0-bundle.yml --config config.yml --workload nyc_taxis --test-iters 1 --warmup-iters 1 ) - PerfTest_Jenkinsfile.stage(test-without-security, groovy.lang.Closure) - PerfTest_Jenkinsfile.script(groovy.lang.Closure) - PerfTest_Jenkinsfile.downloadBuildManifest({url=test://artifact.url, path=tests/data/opensearch-1.3.0-bundle.yml}) - downloadBuildManifest.legacySCM(groovy.lang.Closure) - downloadBuildManifest.library({identifier=jenkins@main, retriever=null}) - downloadBuildManifest.sh(mkdir -p $(dirname "tests/data/opensearch-1.3.0-bundle.yml")) - downloadBuildManifest.sh(touch tests/data/opensearch-1.3.0-bundle.yml) - downloadBuildManifest.sh(curl -sSL --retry 5 test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml) - downloadBuildManifest.readYaml({file=tests/data/opensearch-1.3.0-bundle.yml}) - BuildManifest.asBoolean() - PerfTest_Jenkinsfile.runPerfTestScript({bundleManifest=tests/data/opensearch-1.3.0-bundle.yml, buildId=1236, architecture=x64, insecure=true, workload=nyc_taxis, testIterations=1, warmupIterations=1, stackNameSuffix=307}) - runPerfTestScript.legacySCM(groovy.lang.Closure) - runPerfTestScript.library({identifier=jenkins@main, retriever=null}) - runPerfTestScript.readYaml({file=tests/data/opensearch-1.3.0-bundle.yml}) - BuildManifest.asBoolean() - runPerfTestScript.sh( - pipenv install "dataclasses_json~=0.5" "aws_requests_auth~=0.4" "json2html~=1.3.0" - pipenv install "aws-cdk.core~=1.143.0" "aws_cdk.aws_ec2~=1.143.0" "aws_cdk.aws_iam~=1.143.0" - pipenv install "boto3~=1.18" "setuptools~=57.4" "retry~=0.9" - ) - runPerfTestScript.string({credentialsId=jenkins-aws-account-public, variable=AWS_ACCOUNT_PUBLIC}) - runPerfTestScript.string({credentialsId=jenkins-artifact-bucket-name, variable=ARTIFACT_BUCKET_NAME}) - runPerfTestScript.withCredentials([AWS_ACCOUNT_PUBLIC, ARTIFACT_BUCKET_NAME], groovy.lang.Closure) - runPerfTestScript.withAWS({role=opensearch-test, roleAccount=AWS_ACCOUNT_PUBLIC, duration=900, roleSessionName=jenkins-session}, groovy.lang.Closure) - runPerfTestScript.s3Download({file=config.yml, bucket=ARTIFACT_BUCKET_NAME, path=test_config/config.yml, force=true}) - runPerfTestScript.usernamePassword({credentialsId=bot_token_name, usernameVariable=GITHUB_USER, passwordVariable=GITHUB_TOKEN}) - runPerfTestScript.withCredentials([[GITHUB_USER, GITHUB_TOKEN]], groovy.lang.Closure) - runPerfTestScript.sh(./test.sh perf-test --stack test-single-1236-x64-307 --bundle-manifest tests/data/opensearch-1.3.0-bundle.yml --config config.yml --without-security --workload nyc_taxis --test-iters 1 --warmup-iters 1 ) diff --git a/TestRunBenchmarkTestScript.groovy b/TestRunBenchmarkTestScript.groovy deleted file mode 100644 index 3e6386140..000000000 --- a/TestRunBenchmarkTestScript.groovy +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright OpenSearch Contributors - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - */ - -import jenkins.tests.BuildPipelineTest -import org.junit.Before -import org.junit.Test - -import static com.lesfurets.jenkins.unit.MethodCall.callArgsToString -import static org.hamcrest.CoreMatchers.equalTo -import static org.hamcrest.CoreMatchers.hasItem -import static org.hamcrest.MatcherAssert.assertThat - -class TestRunBenchmarkTestScript extends BuildPipelineTest { - - @Before - void setUp() { - this.registerLibTester(new RunBenchmarkTestScriptLibTester( - 'tests/data/opensearch-1.3.0-bundle.yml', - '', - '', - 'true', - 'nyc_taxis', - 'true', - 'false', - 'true', - 'false', - '', - '', - 'r5.8xlarge', - '', - '{"key2":"value2"}', - '', - '', - '', - 'cluster.indices.replication.strategy:SEGMENT', - 'false', - 'true', - '' - )) - super.setUp() - } - - @Test - public void testRunBenchmarkTestScript_PipelineSingleNode() { - super.testPipeline("tests/jenkins/jobs/BenchmarkTest_Jenkinsfile") - } - - @Test - void testRunBenchmarkTestScript_verifyArtifactDownloads() { - runScript("tests/jenkins/jobs/BenchmarkTest_Jenkinsfile") - - def curlCommands = getCommandExecutions('sh', 'curl').findAll { - shCommand -> shCommand.contains('curl') - } - - assertThat(curlCommands.size(), equalTo(2)) - assertThat(curlCommands, hasItem( - "curl -sSL --retry 5 test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml".toString() - )) - - def s3DownloadCommands = getCommandExecutions('s3Download', 'bucket').findAll { - shCommand -> shCommand.contains('bucket') - } - - assertThat(s3DownloadCommands.size(), equalTo(4)) - assertThat(s3DownloadCommands, hasItem( - "{file=config.yml, bucket=ARTIFACT_BUCKET_NAME, path=test_config/config.yml, force=true}".toString() - )) - assertThat(s3DownloadCommands, hasItem( - "{file=benchmark.ini, bucket=ARTIFACT_BUCKET_NAME, path=test_config/benchmark.ini, force=true}".toString() - )) - } - - @Test - void testRunBenchmarkTestScript_verifyScriptExecutionsSingleNode() { - runScript("tests/jenkins/jobs/BenchmarkTest_Jenkinsfile") - - def testScriptCommands = getCommandExecutions('sh', './test.sh').findAll { - shCommand -> shCommand.contains('./test.sh') - } - - assertThat(testScriptCommands.size(), equalTo(2)) - assertThat(testScriptCommands, hasItem( - "set +x && ./test.sh benchmark-test --bundle-manifest tests/data/opensearch-1.3.0-bundle.yml --config /tmp/workspace/config.yml --workload nyc_taxis --benchmark-config /tmp/workspace/benchmark.ini --user-tag distribution-build-id:1236,arch:x64,os-commit-id:22408088f002a4fc8cdd3b2ed7438866c14c5069,security-enabled:true --single-node --use-50-percent-heap --capture-segment-replication-stat --suffix 307-secure --data-instance-type r5.8xlarge --workload-params '{\"key2\":\"value2\"}' --additional-config cluster.indices.replication.strategy:SEGMENT --data-node-storage 200 --ml-node-storage 200" - )) - assertThat(testScriptCommands, hasItem( - "set +x && ./test.sh benchmark-test --bundle-manifest tests/data/opensearch-1.3.0-bundle.yml --config /tmp/workspace/config.yml --workload nyc_taxis --benchmark-config /tmp/workspace/benchmark.ini --user-tag distribution-build-id:1236,arch:x64,os-commit-id:22408088f002a4fc8cdd3b2ed7438866c14c5069,security-enabled:false --without-security --single-node --use-50-percent-heap --capture-segment-replication-stat --suffix 307 --data-instance-type r5.8xlarge --workload-params '{\"key2\":\"value2\"}' --additional-config cluster.indices.replication.strategy:SEGMENT --data-node-storage 200 --ml-node-storage 200" - )) - } - - def getCommandExecutions(methodName, command) { - def shCommands = helper.callStack.findAll { - call -> - call.methodName == methodName - }. - collect { - call -> - callArgsToString(call) - }.findAll { - shCommand -> - shCommand.contains(command) - } - - return shCommands - } - -} diff --git a/TestRunPerfTestScript.groovy b/TestRunPerfTestScript.groovy deleted file mode 100644 index d3bf89383..000000000 --- a/TestRunPerfTestScript.groovy +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright OpenSearch Contributors - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - */ - -import jenkins.tests.BuildPipelineTest -import org.junit.Before -import org.junit.Test - -import static com.lesfurets.jenkins.unit.MethodCall.callArgsToString -import static org.hamcrest.CoreMatchers.equalTo -import static org.hamcrest.CoreMatchers.hasItem -import static org.hamcrest.MatcherAssert.assertThat - -class TestRunPerfTestScript extends BuildPipelineTest { - - @Before - void setUp() { - this.registerLibTester(new RunPerfTestScriptLibTester( - 'tests/data/opensearch-1.3.0-bundle.yml', - '1236', - 'true', - 'nyc_taxis', - '1', - '1', - true - )) - super.setUp() - } - - @Test - public void testRunPerfTestScript_Pipeline() { - super.testPipeline("tests/jenkins/jobs/PerfTest_Jenkinsfile") - } - - @Test - void testRunPerfTestScript_verifyArtifactDownloads() { - runScript("tests/jenkins/jobs/PerfTest_Jenkinsfile") - - def curlCommands = getCommandExecutions('sh', 'curl').findAll { - shCommand -> shCommand.contains('curl') - } - - assertThat(curlCommands.size(), equalTo(2)) - assertThat(curlCommands, hasItem( - "curl -sSL --retry 5 test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml".toString() - )) - - def s3DownloadCommands = getCommandExecutions('s3Download', 'bucket').findAll { - shCommand -> shCommand.contains('bucket') - } - - assertThat(s3DownloadCommands.size(), equalTo(2)) - assertThat(s3DownloadCommands, hasItem( - "{file=config.yml, bucket=ARTIFACT_BUCKET_NAME, path=test_config/config.yml, force=true}".toString() - )) - } - - @Test - void testRunPerfTestScript_verifyPackageInstallation() { - runScript("tests/jenkins/jobs/PerfTest_Jenkinsfile") - - def pipenvCommands = getCommandExecutions('sh', 'pipenv').findAll { - shCommand -> shCommand.contains('pipenv') - } - - assertThat(pipenvCommands.size(), equalTo(2)) - - } - - @Test - void testRunPerfTestScript_verifyScriptExecutions() { - runScript("tests/jenkins/jobs/PerfTest_Jenkinsfile") - - def testScriptCommands = getCommandExecutions('sh', './test.sh').findAll { - shCommand -> shCommand.contains('./test.sh') - } - - assertThat(testScriptCommands.size(), equalTo(2)) - assertThat(testScriptCommands, hasItem( - "./test.sh perf-test --stack test-single-security-1236-x64-307 --bundle-manifest tests/data/opensearch-1.3.0-bundle.yml --config config.yml --workload nyc_taxis --test-iters 1 --warmup-iters 1 ".toString() - )) - assertThat(testScriptCommands, hasItem( - "./test.sh perf-test --stack test-single-1236-x64-307 --bundle-manifest tests/data/opensearch-1.3.0-bundle.yml --config config.yml --without-security --workload nyc_taxis --test-iters 1 --warmup-iters 1 ".toString() - )) - } - - def getCommandExecutions(methodName, command) { - def shCommands = helper.callStack.findAll { - call -> - call.methodName == methodName - }. - collect { - call -> - callArgsToString(call) - }.findAll { - shCommand -> - shCommand.contains(command) - } - - return shCommands - } -} \ No newline at end of file diff --git a/downloadBuildManifest.groovy b/downloadBuildManifest.groovy deleted file mode 100644 index 19b58d34b..000000000 --- a/downloadBuildManifest.groovy +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright OpenSearch Contributors - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - */ -def call(Map args = [:]) { - def lib = library(identifier: "jenkins@main", retriever: legacySCM(scm)) - sh "mkdir -p \$(dirname \"${args.path}\")" - sh "touch ${args.path}" - sh "curl -sSL --retry 5 ${args.url} --output ${args.path}" - def buildManifestObj = lib.jenkins.BuildManifest.new(readYaml(file: args.path)) - return buildManifestObj -} diff --git a/tests/jenkins/TestRunBenchmarkTestScript.groovy b/tests/jenkins/TestRunBenchmarkTestScript.groovy index 2857cce00..3e6386140 100644 --- a/tests/jenkins/TestRunBenchmarkTestScript.groovy +++ b/tests/jenkins/TestRunBenchmarkTestScript.groovy @@ -61,7 +61,7 @@ class TestRunBenchmarkTestScript extends BuildPipelineTest { assertThat(curlCommands.size(), equalTo(2)) assertThat(curlCommands, hasItem( - "curl -sSL test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml".toString() + "curl -sSL --retry 5 test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml".toString() )) def s3DownloadCommands = getCommandExecutions('s3Download', 'bucket').findAll { diff --git a/tests/jenkins/TestRunPerfTestScript.groovy b/tests/jenkins/TestRunPerfTestScript.groovy index b06c36861..d3bf89383 100644 --- a/tests/jenkins/TestRunPerfTestScript.groovy +++ b/tests/jenkins/TestRunPerfTestScript.groovy @@ -47,7 +47,7 @@ class TestRunPerfTestScript extends BuildPipelineTest { assertThat(curlCommands.size(), equalTo(2)) assertThat(curlCommands, hasItem( - "curl -sSL test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml".toString() + "curl -sSL --retry 5 test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml".toString() )) def s3DownloadCommands = getCommandExecutions('s3Download', 'bucket').findAll { diff --git a/tests/jenkins/jobs/BenchmarkTestMultinode_Jenkinsfile.txt b/tests/jenkins/jobs/BenchmarkTestMultinode_Jenkinsfile.txt index 540f0fbdf..91cf70985 100644 --- a/tests/jenkins/jobs/BenchmarkTestMultinode_Jenkinsfile.txt +++ b/tests/jenkins/jobs/BenchmarkTestMultinode_Jenkinsfile.txt @@ -6,7 +6,9 @@ BenchmarkTestMultinode_Jenkinsfile.downloadBuildManifest({url=test://artifact.url, path=tests/data/opensearch-1.3.0-bundle.yml}) downloadBuildManifest.legacySCM(groovy.lang.Closure) downloadBuildManifest.library({identifier=jenkins@6.7.2, retriever=null}) - downloadBuildManifest.sh(curl -sSL test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml) + downloadBuildManifest.sh(mkdir -p $(dirname "tests/data/opensearch-1.3.0-bundle.yml")) + downloadBuildManifest.sh(touch tests/data/opensearch-1.3.0-bundle.yml) + downloadBuildManifest.sh(curl -sSL --retry 5 test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml) downloadBuildManifest.readYaml({file=tests/data/opensearch-1.3.0-bundle.yml}) BuildManifest.asBoolean() BenchmarkTestMultinode_Jenkinsfile.runBenchmarkTestScript({bundleManifest=tests/data/opensearch-1.3.0-bundle.yml, distributionUrl=, distributionVersion=, workload=nyc_taxis, insecure=false, singleNode=false, minDistribution=false, use50PercentHeap=true, enableRemoteStore=true, suffix=307-secure, managerNodeCount=3, dataNodeCount=3, clientNodeCount=, ingestNodeCount=, mlNodeCount=, dataInstanceType=, userTag=key1:value1,security-enabled:true, workloadParams={"key2":"value2"}, testProcedure=custom-test-procedure, excludeTasks=index-append,default, includeTasks=type:search,index, additionalConfig=cluster.indices.replication.strategy:SEGMENT, dataStorageSize=200, mlStorageSize=200, jvmSysProps=, captureNodeStat=true, captureSegmentReplicationStat=false, telemetryParams={"telemetry_setting":"value"}}) @@ -34,7 +36,9 @@ BenchmarkTestMultinode_Jenkinsfile.downloadBuildManifest({url=test://artifact.url, path=tests/data/opensearch-1.3.0-bundle.yml}) downloadBuildManifest.legacySCM(groovy.lang.Closure) downloadBuildManifest.library({identifier=jenkins@6.7.2, retriever=null}) - downloadBuildManifest.sh(curl -sSL test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml) + downloadBuildManifest.sh(mkdir -p $(dirname "tests/data/opensearch-1.3.0-bundle.yml")) + downloadBuildManifest.sh(touch tests/data/opensearch-1.3.0-bundle.yml) + downloadBuildManifest.sh(curl -sSL --retry 5 test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml) downloadBuildManifest.readYaml({file=tests/data/opensearch-1.3.0-bundle.yml}) BuildManifest.asBoolean() BenchmarkTestMultinode_Jenkinsfile.runBenchmarkTestScript({bundleManifest=tests/data/opensearch-1.3.0-bundle.yml, distributionUrl=, distributionVersion=, workload=nyc_taxis, insecure=true, singleNode=false, minDistribution=false, use50PercentHeap=true, enableRemoteStore=true, suffix=307, managerNodeCount=3, dataNodeCount=3, clientNodeCount=, ingestNodeCount=, mlNodeCount=, dataInstanceType=, userTag=key1:value1,security-enabled:false, workloadParams={"key2":"value2"}, testProcedure=custom-test-procedure, excludeTasks=index-append,default, includeTasks=type:search,index, additionalConfig=cluster.indices.replication.strategy:SEGMENT, dataStorageSize=200, mlStorageSize=200, jvmSysProps=, captureNodeStat=true, captureSegmentReplicationStat=false, telemetryParams={"telemetry_setting":"value"}}) diff --git a/tests/jenkins/jobs/BenchmarkTest_Jenkinsfile.txt b/tests/jenkins/jobs/BenchmarkTest_Jenkinsfile.txt index 32320ebd7..ffe2429bf 100644 --- a/tests/jenkins/jobs/BenchmarkTest_Jenkinsfile.txt +++ b/tests/jenkins/jobs/BenchmarkTest_Jenkinsfile.txt @@ -6,7 +6,9 @@ BenchmarkTest_Jenkinsfile.downloadBuildManifest({url=test://artifact.url, path=tests/data/opensearch-1.3.0-bundle.yml}) downloadBuildManifest.legacySCM(groovy.lang.Closure) downloadBuildManifest.library({identifier=jenkins@6.7.2, retriever=null}) - downloadBuildManifest.sh(curl -sSL test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml) + downloadBuildManifest.sh(mkdir -p $(dirname "tests/data/opensearch-1.3.0-bundle.yml")) + downloadBuildManifest.sh(touch tests/data/opensearch-1.3.0-bundle.yml) + downloadBuildManifest.sh(curl -sSL --retry 5 test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml) downloadBuildManifest.readYaml({file=tests/data/opensearch-1.3.0-bundle.yml}) BuildManifest.asBoolean() BenchmarkTest_Jenkinsfile.runBenchmarkTestScript({bundleManifest=tests/data/opensearch-1.3.0-bundle.yml, distributionUrl=, distributionVersion=, workload=nyc_taxis, insecure=false, singleNode=true, minDistribution=false, use50PercentHeap=true, enableRemoteStore=false, suffix=307-secure, managerNodeCount=, dataNodeCount=, clientNodeCount=, ingestNodeCount=, mlNodeCount=, dataInstanceType=r5.8xlarge, userTag=security-enabled:true, workloadParams={"key2":"value2"}, testProcedure=, excludeTasks=, includeTasks=, additionalConfig=cluster.indices.replication.strategy:SEGMENT, dataStorageSize=200, mlStorageSize=200, jvmSysProps=, captureNodeStat=false, captureSegmentReplicationStat=true, telemetryParams=}) @@ -34,7 +36,9 @@ BenchmarkTest_Jenkinsfile.downloadBuildManifest({url=test://artifact.url, path=tests/data/opensearch-1.3.0-bundle.yml}) downloadBuildManifest.legacySCM(groovy.lang.Closure) downloadBuildManifest.library({identifier=jenkins@6.7.2, retriever=null}) - downloadBuildManifest.sh(curl -sSL test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml) + downloadBuildManifest.sh(mkdir -p $(dirname "tests/data/opensearch-1.3.0-bundle.yml")) + downloadBuildManifest.sh(touch tests/data/opensearch-1.3.0-bundle.yml) + downloadBuildManifest.sh(curl -sSL --retry 5 test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml) downloadBuildManifest.readYaml({file=tests/data/opensearch-1.3.0-bundle.yml}) BuildManifest.asBoolean() BenchmarkTest_Jenkinsfile.runBenchmarkTestScript({bundleManifest=tests/data/opensearch-1.3.0-bundle.yml, distributionUrl=, distributionVersion=, workload=nyc_taxis, insecure=true, singleNode=true, minDistribution=false, use50PercentHeap=true, enableRemoteStore=false, suffix=307, managerNodeCount=, dataNodeCount=, clientNodeCount=, ingestNodeCount=, mlNodeCount=, dataInstanceType=r5.8xlarge, userTag=security-enabled:false, workloadParams={"key2":"value2"}, testProcedure=, excludeTasks=, includeTasks=, additionalConfig=cluster.indices.replication.strategy:SEGMENT, dataStorageSize=200, mlStorageSize=200, jvmSysProps=, captureNodeStat=false, captureSegmentReplicationStat=true, telemetryParams=}) diff --git a/tests/jenkins/jobs/PerfTest_Jenkinsfile.txt b/tests/jenkins/jobs/PerfTest_Jenkinsfile.txt index 5c5e6bff5..b700a39bb 100644 --- a/tests/jenkins/jobs/PerfTest_Jenkinsfile.txt +++ b/tests/jenkins/jobs/PerfTest_Jenkinsfile.txt @@ -6,7 +6,9 @@ PerfTest_Jenkinsfile.downloadBuildManifest({url=test://artifact.url, path=tests/data/opensearch-1.3.0-bundle.yml}) downloadBuildManifest.legacySCM(groovy.lang.Closure) downloadBuildManifest.library({identifier=jenkins@6.7.2, retriever=null}) - downloadBuildManifest.sh(curl -sSL test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml) + downloadBuildManifest.sh(mkdir -p $(dirname "tests/data/opensearch-1.3.0-bundle.yml")) + downloadBuildManifest.sh(touch tests/data/opensearch-1.3.0-bundle.yml) + downloadBuildManifest.sh(curl -sSL --retry 5 test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml) downloadBuildManifest.readYaml({file=tests/data/opensearch-1.3.0-bundle.yml}) BuildManifest.asBoolean() PerfTest_Jenkinsfile.runPerfTestScript({bundleManifest=tests/data/opensearch-1.3.0-bundle.yml, buildId=1236, architecture=x64, insecure=false, workload=nyc_taxis, testIterations=1, warmupIterations=1, stackNameSuffix=307}) @@ -32,7 +34,9 @@ PerfTest_Jenkinsfile.downloadBuildManifest({url=test://artifact.url, path=tests/data/opensearch-1.3.0-bundle.yml}) downloadBuildManifest.legacySCM(groovy.lang.Closure) downloadBuildManifest.library({identifier=jenkins@6.7.2, retriever=null}) - downloadBuildManifest.sh(curl -sSL test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml) + downloadBuildManifest.sh(mkdir -p $(dirname "tests/data/opensearch-1.3.0-bundle.yml")) + downloadBuildManifest.sh(touch tests/data/opensearch-1.3.0-bundle.yml) + downloadBuildManifest.sh(curl -sSL --retry 5 test://artifact.url --output tests/data/opensearch-1.3.0-bundle.yml) downloadBuildManifest.readYaml({file=tests/data/opensearch-1.3.0-bundle.yml}) BuildManifest.asBoolean() PerfTest_Jenkinsfile.runPerfTestScript({bundleManifest=tests/data/opensearch-1.3.0-bundle.yml, buildId=1236, architecture=x64, insecure=true, workload=nyc_taxis, testIterations=1, warmupIterations=1, stackNameSuffix=307}) diff --git a/vars/downloadBuildManifest.groovy b/vars/downloadBuildManifest.groovy index 1e19960b8..29fdfce7a 100644 --- a/vars/downloadBuildManifest.groovy +++ b/vars/downloadBuildManifest.groovy @@ -8,8 +8,9 @@ */ def call(Map args = [:]) { def lib = library(identifier: "jenkins@6.7.2", retriever: legacySCM(scm)) - - sh "curl -sSL ${args.url} --output ${args.path}" + sh "mkdir -p \$(dirname \"${args.path}\")" + sh "touch ${args.path}" + sh "curl -sSL --retry 5 ${args.url} --output ${args.path}" def buildManifestObj = lib.jenkins.BuildManifest.new(readYaml(file: args.path)) return buildManifestObj }