diff --git a/ci-operator/config/redhat-performance/backstage-performance/redhat-performance-backstage-performance-main.yaml b/ci-operator/config/redhat-performance/backstage-performance/redhat-performance-backstage-performance-main.yaml index 1c8ffb7ba5cc..03c97c4e0a3a 100644 --- a/ci-operator/config/redhat-performance/backstage-performance/redhat-performance-backstage-performance-main.yaml +++ b/ci-operator/config/redhat-performance/backstage-performance/redhat-performance-backstage-performance-main.yaml @@ -9,7 +9,7 @@ images: SHELL ["/bin/bash", "-c"] RUN yum install -y python3 python3-pip make gettext bc RUN curl -Lso /usr/local/bin/jq https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64 && chmod +x /usr/local/bin/jq - RUN curl -Lso /usr/local/bin/yq https://github.com/mikefarah/yq/releases/download/v4.25.2/yq_linux_amd64 && chmod +x /usr/local/bin/yq + RUN curl -Lso /usr/local/bin/yq https://github.com/mikefarah/yq/releases/download/v4.40.5/yq_linux_amd64 && chmod +x /usr/local/bin/yq RUN curl -Lso /usr/local/bin/kubectl https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && chmod +x /usr/local/bin/kubectl RUN curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 && chmod 700 get_helm.sh && ./get_helm.sh && helm version from: src @@ -29,25 +29,25 @@ resources: memory: 200Mi tests: - always_run: false - as: baseline + as: search-catalog steps: - cluster_profile: aws-rhdh-performance + cluster_profile: aws env: DURATION: 1h0m0s - SCENARIO: baseline-test + SCENARIO: search-catalog SPAWN_RATE: "100" - USE_PR_BRANCH: "false" + USE_PR_BRANCH: "true" USERS: "10000" WORKERS: "100" workflow: redhat-performance-backstage-performance timeout: 8h0m0s - always_run: false - as: baseline-pr + as: list-catalog steps: - cluster_profile: aws-rhdh-performance + cluster_profile: aws env: DURATION: 1h0m0s - SCENARIO: baseline-test + SCENARIO: list-catalog SPAWN_RATE: "100" USE_PR_BRANCH: "true" USERS: "10000" @@ -55,12 +55,13 @@ tests: workflow: redhat-performance-backstage-performance timeout: 8h0m0s - always_run: false - as: search-catalog + as: list-catalog-empty steps: - cluster_profile: aws-rhdh-performance + cluster_profile: aws env: DURATION: 1h0m0s - SCENARIO: search-catalog + PRE_LOAD_DB: "false" + SCENARIO: list-catalog SPAWN_RATE: "100" USE_PR_BRANCH: "true" USERS: "10000" @@ -68,31 +69,40 @@ tests: workflow: redhat-performance-backstage-performance timeout: 8h0m0s - always_run: false - as: list-catalog + as: search-catalog-scalability steps: - cluster_profile: aws-rhdh-performance + cluster_profile: aws env: - DURATION: 1h0m0s - SCENARIO: list-catalog - SPAWN_RATE: "100" + DURATION: 5m + PRE_LOAD_DB: "true" + SCALE_ACTIVE_USERS_SPAWN_RATES: 1:1 200:40 + SCALE_BS_USERS_GROUPS: 1:1 15000:5000 + SCALE_CATALOG_SIZES: 1 10000 + SCALE_DB_STORAGES: 1Gi 2Gi + SCALE_REPLICAS: "5" + SCALE_WORKERS: "5" + SCENARIO: search-catalog USE_PR_BRANCH: "true" - USERS: "10000" - WORKERS: "100" - workflow: redhat-performance-backstage-performance + WAIT_FOR_SEARCH_INDEX: "true" + workflow: redhat-performance-backstage-performance-scalability timeout: 8h0m0s - always_run: false - as: list-catalog-empty + as: list-catalog-scalability steps: - cluster_profile: aws-rhdh-performance + cluster_profile: aws env: - DURATION: 1h0m0s - PRE_LOAD_DB: "false" + DURATION: 5m + PRE_LOAD_DB: "true" + SCALE_ACTIVE_USERS_SPAWN_RATES: 1:1 200:40 + SCALE_BS_USERS_GROUPS: 1:1 15000:5000 + SCALE_CATALOG_SIZES: 1 10000 + SCALE_DB_STORAGES: 1Gi 2Gi + SCALE_REPLICAS: "5" + SCALE_WORKERS: "5" SCENARIO: list-catalog - SPAWN_RATE: "100" USE_PR_BRANCH: "true" - USERS: "10000" - WORKERS: "100" - workflow: redhat-performance-backstage-performance + WAIT_FOR_SEARCH_INDEX: "false" + workflow: redhat-performance-backstage-performance-scalability timeout: 8h0m0s zz_generated_metadata: branch: main diff --git a/ci-operator/jobs/redhat-performance/backstage-performance/redhat-performance-backstage-performance-main-presubmits.yaml b/ci-operator/jobs/redhat-performance/backstage-performance/redhat-performance-backstage-performance-main-presubmits.yaml index 676556991a36..94cec61e4309 100644 --- a/ci-operator/jobs/redhat-performance/backstage-performance/redhat-performance-backstage-performance-main-presubmits.yaml +++ b/ci-operator/jobs/redhat-performance/backstage-performance/redhat-performance-backstage-performance-main-presubmits.yaml @@ -1,33 +1,27 @@ presubmits: redhat-performance/backstage-performance: - agent: kubernetes - always_run: false + always_run: true branches: - ^main$ - ^main- cluster: build03 - context: ci/prow/baseline + context: ci/prow/images decorate: true decoration_config: skip_cloning: true - timeout: 8h0m0s labels: - ci-operator.openshift.io/cloud: aws - ci-operator.openshift.io/cloud-cluster-profile: aws-rhdh-performance ci.openshift.io/generator: prowgen pj-rehearse.openshift.io/can-be-rehearsed: "true" - name: pull-ci-redhat-performance-backstage-performance-main-baseline - rerun_command: /test baseline + name: pull-ci-redhat-performance-backstage-performance-main-images + rerun_command: /test images spec: containers: - args: - --gcs-upload-secret=/secrets/gcs/service-account.json - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson - - --lease-server-credentials-file=/etc/boskos/credentials - --report-credentials-file=/etc/report/credentials - - --secret-dir=/secrets/ci-pull-credentials - - --secret-dir=/usr/local/baseline-cluster-profile - - --target=baseline + - --target=[images] command: - ci-operator image: ci-operator:latest @@ -37,14 +31,6 @@ presubmits: requests: cpu: 10m volumeMounts: - - mountPath: /etc/boskos - name: boskos - readOnly: true - - mountPath: /secrets/ci-pull-credentials - name: ci-pull-credentials - readOnly: true - - mountPath: /usr/local/baseline-cluster-profile - name: cluster-profile - mountPath: /secrets/gcs name: gcs-credentials readOnly: true @@ -59,18 +45,6 @@ presubmits: readOnly: true serviceAccountName: ci-operator volumes: - - name: boskos - secret: - items: - - key: credentials - path: credentials - secretName: boskos-credentials - - name: ci-pull-credentials - secret: - secretName: ci-pull-credentials - - name: cluster-profile - secret: - secretName: cluster-secrets-aws-rhdh-performance - name: manifest-tool-local-pusher secret: secretName: manifest-tool-local-pusher @@ -80,25 +54,25 @@ presubmits: - name: result-aggregator secret: secretName: result-aggregator - trigger: (?m)^/test( | .* )(baseline|remaining-required),?($|\s.*) + trigger: (?m)^/test( | .* )images,?($|\s.*) - agent: kubernetes always_run: false branches: - ^main$ - ^main- cluster: build03 - context: ci/prow/baseline-pr + context: ci/prow/list-catalog decorate: true decoration_config: skip_cloning: true timeout: 8h0m0s labels: ci-operator.openshift.io/cloud: aws - ci-operator.openshift.io/cloud-cluster-profile: aws-rhdh-performance + ci-operator.openshift.io/cloud-cluster-profile: aws ci.openshift.io/generator: prowgen pj-rehearse.openshift.io/can-be-rehearsed: "true" - name: pull-ci-redhat-performance-backstage-performance-main-baseline-pr - rerun_command: /test baseline-pr + name: pull-ci-redhat-performance-backstage-performance-main-list-catalog + rerun_command: /test list-catalog spec: containers: - args: @@ -107,8 +81,8 @@ presubmits: - --lease-server-credentials-file=/etc/boskos/credentials - --report-credentials-file=/etc/report/credentials - --secret-dir=/secrets/ci-pull-credentials - - --secret-dir=/usr/local/baseline-pr-cluster-profile - - --target=baseline-pr + - --secret-dir=/usr/local/list-catalog-cluster-profile + - --target=list-catalog command: - ci-operator image: ci-operator:latest @@ -124,7 +98,7 @@ presubmits: - mountPath: /secrets/ci-pull-credentials name: ci-pull-credentials readOnly: true - - mountPath: /usr/local/baseline-pr-cluster-profile + - mountPath: /usr/local/list-catalog-cluster-profile name: cluster-profile - mountPath: /secrets/gcs name: gcs-credentials @@ -151,7 +125,7 @@ presubmits: secretName: ci-pull-credentials - name: cluster-profile secret: - secretName: cluster-secrets-aws-rhdh-performance + secretName: cluster-secrets-aws - name: manifest-tool-local-pusher secret: secretName: manifest-tool-local-pusher @@ -161,29 +135,35 @@ presubmits: - name: result-aggregator secret: secretName: result-aggregator - trigger: (?m)^/test( | .* )(baseline-pr|remaining-required),?($|\s.*) + trigger: (?m)^/test( | .* )(list-catalog|remaining-required),?($|\s.*) - agent: kubernetes - always_run: true + always_run: false branches: - ^main$ - ^main- cluster: build03 - context: ci/prow/images + context: ci/prow/list-catalog-empty decorate: true decoration_config: skip_cloning: true + timeout: 8h0m0s labels: + ci-operator.openshift.io/cloud: aws + ci-operator.openshift.io/cloud-cluster-profile: aws ci.openshift.io/generator: prowgen pj-rehearse.openshift.io/can-be-rehearsed: "true" - name: pull-ci-redhat-performance-backstage-performance-main-images - rerun_command: /test images + name: pull-ci-redhat-performance-backstage-performance-main-list-catalog-empty + rerun_command: /test list-catalog-empty spec: containers: - args: - --gcs-upload-secret=/secrets/gcs/service-account.json - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --lease-server-credentials-file=/etc/boskos/credentials - --report-credentials-file=/etc/report/credentials - - --target=[images] + - --secret-dir=/secrets/ci-pull-credentials + - --secret-dir=/usr/local/list-catalog-empty-cluster-profile + - --target=list-catalog-empty command: - ci-operator image: ci-operator:latest @@ -193,6 +173,14 @@ presubmits: requests: cpu: 10m volumeMounts: + - mountPath: /etc/boskos + name: boskos + readOnly: true + - mountPath: /secrets/ci-pull-credentials + name: ci-pull-credentials + readOnly: true + - mountPath: /usr/local/list-catalog-empty-cluster-profile + name: cluster-profile - mountPath: /secrets/gcs name: gcs-credentials readOnly: true @@ -207,6 +195,18 @@ presubmits: readOnly: true serviceAccountName: ci-operator volumes: + - name: boskos + secret: + items: + - key: credentials + path: credentials + secretName: boskos-credentials + - name: ci-pull-credentials + secret: + secretName: ci-pull-credentials + - name: cluster-profile + secret: + secretName: cluster-secrets-aws - name: manifest-tool-local-pusher secret: secretName: manifest-tool-local-pusher @@ -216,25 +216,25 @@ presubmits: - name: result-aggregator secret: secretName: result-aggregator - trigger: (?m)^/test( | .* )images,?($|\s.*) + trigger: (?m)^/test( | .* )(list-catalog-empty|remaining-required),?($|\s.*) - agent: kubernetes always_run: false branches: - ^main$ - ^main- cluster: build03 - context: ci/prow/list-catalog + context: ci/prow/list-catalog-scalability decorate: true decoration_config: skip_cloning: true timeout: 8h0m0s labels: ci-operator.openshift.io/cloud: aws - ci-operator.openshift.io/cloud-cluster-profile: aws-rhdh-performance + ci-operator.openshift.io/cloud-cluster-profile: aws ci.openshift.io/generator: prowgen pj-rehearse.openshift.io/can-be-rehearsed: "true" - name: pull-ci-redhat-performance-backstage-performance-main-list-catalog - rerun_command: /test list-catalog + name: pull-ci-redhat-performance-backstage-performance-main-list-catalog-scalability + rerun_command: /test list-catalog-scalability spec: containers: - args: @@ -243,8 +243,8 @@ presubmits: - --lease-server-credentials-file=/etc/boskos/credentials - --report-credentials-file=/etc/report/credentials - --secret-dir=/secrets/ci-pull-credentials - - --secret-dir=/usr/local/list-catalog-cluster-profile - - --target=list-catalog + - --secret-dir=/usr/local/list-catalog-scalability-cluster-profile + - --target=list-catalog-scalability command: - ci-operator image: ci-operator:latest @@ -260,7 +260,7 @@ presubmits: - mountPath: /secrets/ci-pull-credentials name: ci-pull-credentials readOnly: true - - mountPath: /usr/local/list-catalog-cluster-profile + - mountPath: /usr/local/list-catalog-scalability-cluster-profile name: cluster-profile - mountPath: /secrets/gcs name: gcs-credentials @@ -287,7 +287,7 @@ presubmits: secretName: ci-pull-credentials - name: cluster-profile secret: - secretName: cluster-secrets-aws-rhdh-performance + secretName: cluster-secrets-aws - name: manifest-tool-local-pusher secret: secretName: manifest-tool-local-pusher @@ -297,25 +297,25 @@ presubmits: - name: result-aggregator secret: secretName: result-aggregator - trigger: (?m)^/test( | .* )(list-catalog|remaining-required),?($|\s.*) + trigger: (?m)^/test( | .* )(list-catalog-scalability|remaining-required),?($|\s.*) - agent: kubernetes always_run: false branches: - ^main$ - ^main- cluster: build03 - context: ci/prow/list-catalog-empty + context: ci/prow/search-catalog decorate: true decoration_config: skip_cloning: true timeout: 8h0m0s labels: ci-operator.openshift.io/cloud: aws - ci-operator.openshift.io/cloud-cluster-profile: aws-rhdh-performance + ci-operator.openshift.io/cloud-cluster-profile: aws ci.openshift.io/generator: prowgen pj-rehearse.openshift.io/can-be-rehearsed: "true" - name: pull-ci-redhat-performance-backstage-performance-main-list-catalog-empty - rerun_command: /test list-catalog-empty + name: pull-ci-redhat-performance-backstage-performance-main-search-catalog + rerun_command: /test search-catalog spec: containers: - args: @@ -324,8 +324,8 @@ presubmits: - --lease-server-credentials-file=/etc/boskos/credentials - --report-credentials-file=/etc/report/credentials - --secret-dir=/secrets/ci-pull-credentials - - --secret-dir=/usr/local/list-catalog-empty-cluster-profile - - --target=list-catalog-empty + - --secret-dir=/usr/local/search-catalog-cluster-profile + - --target=search-catalog command: - ci-operator image: ci-operator:latest @@ -341,7 +341,7 @@ presubmits: - mountPath: /secrets/ci-pull-credentials name: ci-pull-credentials readOnly: true - - mountPath: /usr/local/list-catalog-empty-cluster-profile + - mountPath: /usr/local/search-catalog-cluster-profile name: cluster-profile - mountPath: /secrets/gcs name: gcs-credentials @@ -368,7 +368,7 @@ presubmits: secretName: ci-pull-credentials - name: cluster-profile secret: - secretName: cluster-secrets-aws-rhdh-performance + secretName: cluster-secrets-aws - name: manifest-tool-local-pusher secret: secretName: manifest-tool-local-pusher @@ -378,25 +378,25 @@ presubmits: - name: result-aggregator secret: secretName: result-aggregator - trigger: (?m)^/test( | .* )(list-catalog-empty|remaining-required),?($|\s.*) + trigger: (?m)^/test( | .* )(search-catalog|remaining-required),?($|\s.*) - agent: kubernetes always_run: false branches: - ^main$ - ^main- cluster: build03 - context: ci/prow/search-catalog + context: ci/prow/search-catalog-scalability decorate: true decoration_config: skip_cloning: true timeout: 8h0m0s labels: ci-operator.openshift.io/cloud: aws - ci-operator.openshift.io/cloud-cluster-profile: aws-rhdh-performance + ci-operator.openshift.io/cloud-cluster-profile: aws ci.openshift.io/generator: prowgen pj-rehearse.openshift.io/can-be-rehearsed: "true" - name: pull-ci-redhat-performance-backstage-performance-main-search-catalog - rerun_command: /test search-catalog + name: pull-ci-redhat-performance-backstage-performance-main-search-catalog-scalability + rerun_command: /test search-catalog-scalability spec: containers: - args: @@ -405,8 +405,8 @@ presubmits: - --lease-server-credentials-file=/etc/boskos/credentials - --report-credentials-file=/etc/report/credentials - --secret-dir=/secrets/ci-pull-credentials - - --secret-dir=/usr/local/search-catalog-cluster-profile - - --target=search-catalog + - --secret-dir=/usr/local/search-catalog-scalability-cluster-profile + - --target=search-catalog-scalability command: - ci-operator image: ci-operator:latest @@ -422,7 +422,7 @@ presubmits: - mountPath: /secrets/ci-pull-credentials name: ci-pull-credentials readOnly: true - - mountPath: /usr/local/search-catalog-cluster-profile + - mountPath: /usr/local/search-catalog-scalability-cluster-profile name: cluster-profile - mountPath: /secrets/gcs name: gcs-credentials @@ -449,7 +449,7 @@ presubmits: secretName: ci-pull-credentials - name: cluster-profile secret: - secretName: cluster-secrets-aws-rhdh-performance + secretName: cluster-secrets-aws - name: manifest-tool-local-pusher secret: secretName: manifest-tool-local-pusher @@ -459,4 +459,4 @@ presubmits: - name: result-aggregator secret: secretName: result-aggregator - trigger: (?m)^/test( | .* )(search-catalog|remaining-required),?($|\s.*) + trigger: (?m)^/test( | .* )(search-catalog-scalability|remaining-required),?($|\s.*) diff --git a/ci-operator/step-registry/redhat-performance/backstage-performance/redhat-performance-backstage-performance-workflow.yaml b/ci-operator/step-registry/redhat-performance/backstage-performance/redhat-performance-backstage-performance-workflow.yaml index f04ea52f3e2e..1fa1dc2d5622 100644 --- a/ci-operator/step-registry/redhat-performance/backstage-performance/redhat-performance-backstage-performance-workflow.yaml +++ b/ci-operator/step-registry/redhat-performance/backstage-performance/redhat-performance-backstage-performance-workflow.yaml @@ -5,7 +5,7 @@ workflow: COMPUTE_NODE_REPLICAS: "5" COMPUTE_NODE_TYPE: m6a.2xlarge CONTROL_PLANE_INSTANCE_TYPE: m6a.2xlarge - BASE_DOMAIN: rhdh.aws.rhperfscale.org + #BASE_DOMAIN: rhdh.aws.rhperfscale.org pre: - chain: ipi-aws-pre test: diff --git a/ci-operator/step-registry/redhat-performance/backstage-performance/scalability/OWNERS b/ci-operator/step-registry/redhat-performance/backstage-performance/scalability/OWNERS new file mode 100644 index 000000000000..c2af50586b9c --- /dev/null +++ b/ci-operator/step-registry/redhat-performance/backstage-performance/scalability/OWNERS @@ -0,0 +1,9 @@ +approvers: + - jhutar + - pmacik + - yogananth-subramanian +options: {} +reviewers: + - jhutar + - pmacik + - yogananth-subramanian diff --git a/ci-operator/step-registry/redhat-performance/backstage-performance/scalability/redhat-performance-backstage-performance-scalability-commands.sh b/ci-operator/step-registry/redhat-performance/backstage-performance/scalability/redhat-performance-backstage-performance-scalability-commands.sh new file mode 100755 index 000000000000..079dbd5e9d1f --- /dev/null +++ b/ci-operator/step-registry/redhat-performance/backstage-performance/scalability/redhat-performance-backstage-performance-scalability-commands.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +set -o nounset +set -o errexit +set -o pipefail + +OPENSHIFT_API="$(yq e '.clusters[0].cluster.server' "$KUBECONFIG")" +OPENSHIFT_USERNAME="kubeadmin" + +export OPENSHIFT_PASSWORD +export OPENSHIFT_API +export OPENSHIFT_USERNAME + +echo -e "[INFO] Start tests" + +yq -i 'del(.clusters[].cluster.certificate-authority-data) | .clusters[].cluster.insecure-skip-tls-verify=true' "$KUBECONFIG" +if [[ -s "$KUBEADMIN_PASSWORD_FILE" ]]; then + OPENSHIFT_PASSWORD="$(cat "$KUBEADMIN_PASSWORD_FILE")" +elif [[ -s "${SHARED_DIR}/kubeadmin-password" ]]; then + # Recommendation from hypershift qe team in slack channel.. + OPENSHIFT_PASSWORD="$(cat "${SHARED_DIR}/kubeadmin-password")" +else + echo "Kubeadmin password file is empty... Aborting job" + exit 1 +fi + +timeout --foreground 5m bash <<-"EOF" + while ! oc login "$OPENSHIFT_API" -u "$OPENSHIFT_USERNAME" -p "$OPENSHIFT_PASSWORD" --insecure-skip-tls-verify=true; do + sleep 20 + done +EOF +if [ $? -ne 0 ]; then + echo "Timed out waiting for login" + exit 1 +fi + +cd "$(mktemp -d)" +git clone --branch main https://github.com/redhat-performance/backstage-performance.git . + +set -x +if [ "$JOB_TYPE" == "presubmit" ] && [[ "$JOB_NAME" != rehearse-* ]] && [ "$USE_PR_BRANCH" == "true" ]; then + # if this is executed as PR check of github.com/redhat-appstudio/e2e-tests.git repo, switch to PR branch. + git fetch origin "pull/${PULL_NUMBER}/head" + git checkout -b "pr-${PULL_NUMBER}" FETCH_HEAD +fi +set +x + +# Collect load test results at the end +trap './ci-scripts/scalability/collect-results.sh; trap EXIT' SIGINT EXIT + +# Setup cluster +./ci-scripts/scalability/setup.sh + +# Execute load test +./ci-scripts/scalability/test.sh diff --git a/ci-operator/step-registry/redhat-performance/backstage-performance/scalability/redhat-performance-backstage-performance-scalability-ref.metadata.json b/ci-operator/step-registry/redhat-performance/backstage-performance/scalability/redhat-performance-backstage-performance-scalability-ref.metadata.json new file mode 100644 index 000000000000..808495824707 --- /dev/null +++ b/ci-operator/step-registry/redhat-performance/backstage-performance/scalability/redhat-performance-backstage-performance-scalability-ref.metadata.json @@ -0,0 +1,15 @@ +{ + "path": "redhat-performance/backstage-performance/scalability/redhat-performance-backstage-performance-scalability-ref.yaml", + "owners": { + "approvers": [ + "jhutar", + "pmacik", + "yogananth-subramanian" + ], + "reviewers": [ + "jhutar", + "pmacik", + "yogananth-subramanian" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/redhat-performance/backstage-performance/scalability/redhat-performance-backstage-performance-scalability-ref.yaml b/ci-operator/step-registry/redhat-performance/backstage-performance/scalability/redhat-performance-backstage-performance-scalability-ref.yaml new file mode 100644 index 000000000000..97a2f51afff1 --- /dev/null +++ b/ci-operator/step-registry/redhat-performance/backstage-performance/scalability/redhat-performance-backstage-performance-scalability-ref.yaml @@ -0,0 +1,69 @@ +ref: + as: redhat-performance-backstage-performance-scalability + best_effort: true + grace_period: 300s + cli: latest + timeout: 8h0m0s + commands: redhat-performance-backstage-performance-scalability-commands.sh + credentials: + - mount_path: /usr/local/ci-secrets/backstage-performance + name: backstage-performance + namespace: test-credentials + env: + - name: SCENARIO + default: "search-catalog" + documentation: Load test scenario to execute + - name: DURATION + default: "5m" + documentation: Stop each load test iteration after the specified amount of time, e.g. (300s, 20m, 3h, 1h30m, etc.) + - name: USE_PR_BRANCH + default: "false" + documentation: Use PR branch instead of 'main' + - name: PRE_LOAD_DB + default: "true" + documentation: Pre-load RHDH with users and data + - name: WAIT_FOR_SEARCH_INDEX + default: "false" + documentation: Wait for search indexing to finish after setup and each pre-load of DB + - name: SCALE_WORKERS + default: "5" + documentation: |- + Scale values of number of Locust workers. + (List of integers separated by space character) + Example: '1 5 10 50 100' + - name: SCALE_ACTIVE_USERS_SPAWN_RATES + default: "1:1 200:40" + documentation: |- + Scale values of concurrent active users and their spawn rates. + (List of integer tuples ('active_users:spawn_rate') separated by space character) + Example: '100:5 500:10' + - name: SCALE_BS_USERS_GROUPS + default: "1:1 15000:5000" + documentation: |- + Scale values of pasive users and number of user groups. + (List of integer tuples ('users:groups') separated by space character) + Example: '1:1 500:250' + - name: SCALE_CATALOG_SIZES + default: "1 5000 25000" + documentation: |- + Scale values of catalog size (number of each component and api entities). + (List of integers separated by space) + NOTE: the given number of components and api entities is created os overall number of entities is double that number. + Example: '1 5000 25000' + - name: SCALE_REPLICAS + default: "5" + documentation: |- + Scale values of the number of RHDH replicas. + (List of integers separated by space) + Example: '1 3 5' + - name: SCALE_DB_STORAGES + default: "1Gi 2Gi" + documentation: |- + Scale values of the RHDH DB storage size. + (List of values separated by space) + Example: '1Gi 2Gi' + from: backstage-performance-runner + resources: + requests: + cpu: 3000m + memory: 4Gi diff --git a/ci-operator/step-registry/redhat-performance/backstage-performance/scalability/redhat-performance-backstage-performance-scalability-workflow.metadata.json b/ci-operator/step-registry/redhat-performance/backstage-performance/scalability/redhat-performance-backstage-performance-scalability-workflow.metadata.json new file mode 100644 index 000000000000..972c3bae2256 --- /dev/null +++ b/ci-operator/step-registry/redhat-performance/backstage-performance/scalability/redhat-performance-backstage-performance-scalability-workflow.metadata.json @@ -0,0 +1,15 @@ +{ + "path": "redhat-performance/backstage-performance/scalability/redhat-performance-backstage-performance-scalability-workflow.yaml", + "owners": { + "approvers": [ + "jhutar", + "pmacik", + "yogananth-subramanian" + ], + "reviewers": [ + "jhutar", + "pmacik", + "yogananth-subramanian" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/redhat-performance/backstage-performance/scalability/redhat-performance-backstage-performance-scalability-workflow.yaml b/ci-operator/step-registry/redhat-performance/backstage-performance/scalability/redhat-performance-backstage-performance-scalability-workflow.yaml new file mode 100644 index 000000000000..3360fb816590 --- /dev/null +++ b/ci-operator/step-registry/redhat-performance/backstage-performance/scalability/redhat-performance-backstage-performance-scalability-workflow.yaml @@ -0,0 +1,19 @@ +workflow: + as: redhat-performance-backstage-performance-scalability + steps: + env: + COMPUTE_NODE_REPLICAS: "5" + COMPUTE_NODE_TYPE: m6a.2xlarge + CONTROL_PLANE_INSTANCE_TYPE: m6a.2xlarge + #BASE_DOMAIN: rhdh.aws.rhperfscale.org + pre: + - chain: ipi-aws-pre + test: + - ref: redhat-performance-backstage-performance-scalability + timeout: 8h0m0s + resources: + requests: + cpu: 3000m + memory: 6Gi + post: + - chain: ipi-aws-post