From 92d491682de835663333a9c6c2c1ce1b44355d1a Mon Sep 17 00:00:00 2001 From: pokeeffe-molecula Date: Fri, 11 Feb 2022 15:38:33 -0600 Subject: [PATCH] added perf test --- .gitlab/.gitlab-ci.yml | 9 +++++++++ .gitlab/.perf-able-gitlab-ci.yml | 11 +++++++++++ .../{ableRunGauntlet.sh => perf/able/ableRun.sh} | 6 +++--- .../{ableSetupGauntlet.sh => perf/able/ableSetup.sh} | 4 ++-- .../able/ableTeardown.sh} | 2 +- .../{ableTestGauntlet.sh => perf/able/ableTest.sh} | 0 qa/scripts/perf/able/script.js | 7 +++++++ qa/tf/.modules/featurebase-cluster/main.tf | 2 ++ 8 files changed, 35 insertions(+), 6 deletions(-) create mode 100644 .gitlab/.perf-able-gitlab-ci.yml rename qa/scripts/{ableRunGauntlet.sh => perf/able/ableRun.sh} (82%) rename qa/scripts/{ableSetupGauntlet.sh => perf/able/ableSetup.sh} (97%) rename qa/scripts/{ableTeardownGauntlet.sh => perf/able/ableTeardown.sh} (68%) rename qa/scripts/{ableTestGauntlet.sh => perf/able/ableTest.sh} (100%) create mode 100644 qa/scripts/perf/able/script.js diff --git a/.gitlab/.gitlab-ci.yml b/.gitlab/.gitlab-ci.yml index 9dc197cfd..68280eaa8 100644 --- a/.gitlab/.gitlab-ci.yml +++ b/.gitlab/.gitlab-ci.yml @@ -12,6 +12,7 @@ stages: - build - integration - gauntlet + - performance - post build smoke build: @@ -467,3 +468,11 @@ s3 dump: - job: build for darwin arm64 - job: build for linux amd64 - job: build for linux arm64 + +perf_able: + stage: performance + trigger: + include: .perf-able-gitlab-ci.yml + rules: + - changes: + - featurebase/* \ No newline at end of file diff --git a/.gitlab/.perf-able-gitlab-ci.yml b/.gitlab/.perf-able-gitlab-ci.yml new file mode 100644 index 000000000..25b590f3c --- /dev/null +++ b/.gitlab/.perf-able-gitlab-ci.yml @@ -0,0 +1,11 @@ +stages: + - loadtest + +loadtest: + image: + name: loadimpact/k6:latest + entrypoint: [''] + stage: loadtest + script: + - echo "executing local k6 in k6 container..." + - k6 run ./qa/scripts/perf/able/script.js diff --git a/qa/scripts/ableRunGauntlet.sh b/qa/scripts/perf/able/ableRun.sh similarity index 82% rename from qa/scripts/ableRunGauntlet.sh rename to qa/scripts/perf/able/ableRun.sh index a5659f1fc..92ca26987 100644 --- a/qa/scripts/ableRunGauntlet.sh +++ b/qa/scripts/perf/able/ableRun.sh @@ -11,6 +11,6 @@ else echo "TF_VAR_cluster_prefix is set to '$TF_VAR_cluster_prefix'"; fi -$SCRIPT_DIR/ableSetupGauntlet.sh -$SCRIPT_DIR/ableTestGauntlet.sh -$SCRIPT_DIR/ableTeardownGauntlet.sh +$SCRIPT_DIR/ableSetup.sh +$SCRIPT_DIR/ableTest.sh +$SCRIPT_DIR/ableTeardown.sh diff --git a/qa/scripts/ableSetupGauntlet.sh b/qa/scripts/perf/able/ableSetup.sh similarity index 97% rename from qa/scripts/ableSetupGauntlet.sh rename to qa/scripts/perf/able/ableSetup.sh index e5813c7e2..f76aa7fe6 100755 --- a/qa/scripts/ableSetupGauntlet.sh +++ b/qa/scripts/perf/able/ableSetup.sh @@ -1,6 +1,6 @@ #!/bin/bash -# To run script: ./SetupGauntlet.sh +# To run script: ./ableSetup.sh export TF_IN_AUTOMATION=1 if [ -z ${TF_VAR_cluster_prefix+x} ]; then @@ -11,7 +11,7 @@ else fi SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) -source $SCRIPT_DIR/utilCluster.sh +source $SCRIPT_DIR/../..utilCluster.sh pushd ./qa/tf/gauntlet/able echo "Running terraform init..." diff --git a/qa/scripts/ableTeardownGauntlet.sh b/qa/scripts/perf/able/ableTeardown.sh similarity index 68% rename from qa/scripts/ableTeardownGauntlet.sh rename to qa/scripts/perf/able/ableTeardown.sh index 061782132..5ca1a2dde 100755 --- a/qa/scripts/ableTeardownGauntlet.sh +++ b/qa/scripts/perf/able/ableTeardown.sh @@ -1,6 +1,6 @@ #!/bin/bash -# To run script: ./ableTeardownGauntlet.sh +# To run script: ./ableTeardown.sh cd qa/tf/gauntlet/able export TF_IN_AUTOMATION=1 diff --git a/qa/scripts/ableTestGauntlet.sh b/qa/scripts/perf/able/ableTest.sh similarity index 100% rename from qa/scripts/ableTestGauntlet.sh rename to qa/scripts/perf/able/ableTest.sh diff --git a/qa/scripts/perf/able/script.js b/qa/scripts/perf/able/script.js new file mode 100644 index 000000000..77b293c66 --- /dev/null +++ b/qa/scripts/perf/able/script.js @@ -0,0 +1,7 @@ +import http from 'k6/http'; +import { sleep } from 'k6'; + +export default function () { + http.get('https://test.k6.io'); + sleep(1); +} \ No newline at end of file diff --git a/qa/tf/.modules/featurebase-cluster/main.tf b/qa/tf/.modules/featurebase-cluster/main.tf index 026fe3c6a..57b478b4d 100644 --- a/qa/tf/.modules/featurebase-cluster/main.tf +++ b/qa/tf/.modules/featurebase-cluster/main.tf @@ -38,6 +38,7 @@ resource "aws_instance" "fb_cluster_nodes" { volume_type = var.fb_data_disk_type volume_size = var.fb_data_disk_size_gb iops = var.fb_data_disk_iops + encrypted = true } tags = { @@ -70,6 +71,7 @@ resource "aws_instance" "fb_ingest" { volume_type = var.fb_ingest_disk_type volume_size = var.fb_ingest_disk_size_gb iops = var.fb_ingest_disk_iops + encrypted = true } tags = {