From 7afb1aae2b5be3c9388d156e6c5180e69d33c976 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Mac=C3=ADk?= Date: Tue, 30 Jan 2024 13:54:59 +0100 Subject: [PATCH] chore(RHIDP-461): Add jobs to run MVP scenario (#47803) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Pavel MacĂ­k --- ...erformance-backstage-performance-main.yaml | 62 +++++ ...backstage-performance-main-presubmits.yaml | 243 ++++++++++++++++++ ...formance-backstage-performance-commands.sh | 2 +- ...performance-backstage-performance-ref.yaml | 24 ++ ...kstage-performance-scalability-commands.sh | 2 +- 5 files changed, 331 insertions(+), 2 deletions(-) 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 f6e9c50868e1..69ba1b93df80 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 @@ -68,6 +68,68 @@ tests: WORKERS: "100" workflow: redhat-performance-backstage-performance timeout: 8h0m0s +- always_run: false + as: mvp + steps: + cluster_profile: aws-rhdh-performance + env: + API_COUNT: "10000" + BACKSTAGE_USER_COUNT: "1000" + COMPONENT_COUNT: "5000" + DURATION: 10m + GROUP_COUNT: "250" + PRE_LOAD_DB: "true" + RHDH_DB_REPLICAS: "5" + RHDH_DB_STORAGE: 2Gi + RHDH_DEPLOYMENT_REPLICAS: "5" + RHDH_KEYCLOAK_REPLICAS: "5" + SCENARIO: mvp + SPAWN_RATE: "40" + USE_PR_BRANCH: "true" + USERS: "200" + WORKERS: "40" + workflow: redhat-performance-backstage-performance + timeout: 8h0m0s +- always_run: false + as: mvp-scalability + steps: + cluster_profile: aws-rhdh-performance + env: + DURATION: 5m + PRE_LOAD_DB: "true" + SCALE_ACTIVE_USERS_SPAWN_RATES: 1:1 200:40 + SCALE_BS_USERS_GROUPS: 1:1 10000:2500 + SCALE_CATALOG_SIZES: 1:1 10000:5000 + SCALE_CPU_REQUESTS_LIMITS: ':' + SCALE_DB_STORAGES: 2Gi + SCALE_MEMORY_REQUESTS_LIMITS: ':' + SCALE_REPLICAS: "5" + SCALE_WORKERS: "40" + SCENARIO: mvp + USE_PR_BRANCH: "true" + WAIT_FOR_SEARCH_INDEX: "false" + workflow: redhat-performance-backstage-performance-scalability + timeout: 8h0m0s +- always_run: false + as: mvp-resources-scalability + steps: + cluster_profile: aws-rhdh-performance + env: + DURATION: 5m + PRE_LOAD_DB: "true" + SCALE_ACTIVE_USERS_SPAWN_RATES: "200:40" + SCALE_BS_USERS_GROUPS: 1000:250 + SCALE_CATALOG_SIZES: 10000:5000 + SCALE_CPU_REQUESTS_LIMITS: '256m:256m 1:1 :' + SCALE_DB_STORAGES: 2Gi + SCALE_MEMORY_REQUESTS_LIMITS: '512Mi:512Mi 1Gi:1Gi :' + SCALE_REPLICAS: "5" + SCALE_WORKERS: "40" + SCENARIO: mvp + USE_PR_BRANCH: "true" + WAIT_FOR_SEARCH_INDEX: "false" + workflow: redhat-performance-backstage-performance-scalability + timeout: 8h0m0s - always_run: false as: search-catalog-scalability steps: 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 614951aa47ba..9b9a0df87f52 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 @@ -379,6 +379,249 @@ presubmits: secret: secretName: result-aggregator trigger: (?m)^/test( | .* )(list-catalog-scalability|remaining-required),?($|\s.*) + - agent: kubernetes + always_run: false + branches: + - ^main$ + - ^main- + cluster: build03 + context: ci/prow/mvp + 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-mvp + rerun_command: /test mvp + 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/mvp-cluster-profile + - --target=mvp + command: + - ci-operator + image: ci-operator:latest + imagePullPolicy: Always + name: "" + resources: + 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/mvp-cluster-profile + name: cluster-profile + - mountPath: /secrets/gcs + name: gcs-credentials + readOnly: true + - mountPath: /secrets/manifest-tool + name: manifest-tool-local-pusher + readOnly: true + - mountPath: /etc/pull-secret + name: pull-secret + readOnly: true + - mountPath: /etc/report + name: result-aggregator + 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 + - name: pull-secret + secret: + secretName: registry-pull-credentials + - name: result-aggregator + secret: + secretName: result-aggregator + trigger: (?m)^/test( | .* )(mvp|remaining-required),?($|\s.*) + - agent: kubernetes + always_run: false + branches: + - ^main$ + - ^main- + cluster: build03 + context: ci/prow/mvp-resources-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.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-redhat-performance-backstage-performance-main-mvp-resources-scalability + rerun_command: /test mvp-resources-scalability + 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/mvp-resources-scalability-cluster-profile + - --target=mvp-resources-scalability + command: + - ci-operator + image: ci-operator:latest + imagePullPolicy: Always + name: "" + resources: + 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/mvp-resources-scalability-cluster-profile + name: cluster-profile + - mountPath: /secrets/gcs + name: gcs-credentials + readOnly: true + - mountPath: /secrets/manifest-tool + name: manifest-tool-local-pusher + readOnly: true + - mountPath: /etc/pull-secret + name: pull-secret + readOnly: true + - mountPath: /etc/report + name: result-aggregator + 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 + - name: pull-secret + secret: + secretName: registry-pull-credentials + - name: result-aggregator + secret: + secretName: result-aggregator + trigger: (?m)^/test( | .* )(mvp-resources-scalability|remaining-required),?($|\s.*) + - agent: kubernetes + always_run: false + branches: + - ^main$ + - ^main- + cluster: build03 + context: ci/prow/mvp-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.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-redhat-performance-backstage-performance-main-mvp-scalability + rerun_command: /test mvp-scalability + 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/mvp-scalability-cluster-profile + - --target=mvp-scalability + command: + - ci-operator + image: ci-operator:latest + imagePullPolicy: Always + name: "" + resources: + 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/mvp-scalability-cluster-profile + name: cluster-profile + - mountPath: /secrets/gcs + name: gcs-credentials + readOnly: true + - mountPath: /secrets/manifest-tool + name: manifest-tool-local-pusher + readOnly: true + - mountPath: /etc/pull-secret + name: pull-secret + readOnly: true + - mountPath: /etc/report + name: result-aggregator + 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 + - name: pull-secret + secret: + secretName: registry-pull-credentials + - name: result-aggregator + secret: + secretName: result-aggregator + trigger: (?m)^/test( | .* )(mvp-scalability|remaining-required),?($|\s.*) - agent: kubernetes always_run: false branches: diff --git a/ci-operator/step-registry/redhat-performance/backstage-performance/redhat-performance-backstage-performance-commands.sh b/ci-operator/step-registry/redhat-performance/backstage-performance/redhat-performance-backstage-performance-commands.sh index dbf85450ae30..b100bf590600 100755 --- a/ci-operator/step-registry/redhat-performance/backstage-performance/redhat-performance-backstage-performance-commands.sh +++ b/ci-operator/step-registry/redhat-performance/backstage-performance/redhat-performance-backstage-performance-commands.sh @@ -39,7 +39,7 @@ git clone --branch main https://github.com/redhat-performance/backstage-performa 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. + # if this is executed as PR check of github.com/redhat-performance/backstage-performance.git repo, switch to PR branch. git fetch origin "pull/${PULL_NUMBER}/head" git checkout -b "pr-${PULL_NUMBER}" FETCH_HEAD fi diff --git a/ci-operator/step-registry/redhat-performance/backstage-performance/redhat-performance-backstage-performance-ref.yaml b/ci-operator/step-registry/redhat-performance/backstage-performance/redhat-performance-backstage-performance-ref.yaml index 17e8304d3e58..5500552a2990 100644 --- a/ci-operator/step-registry/redhat-performance/backstage-performance/redhat-performance-backstage-performance-ref.yaml +++ b/ci-operator/step-registry/redhat-performance/backstage-performance/redhat-performance-backstage-performance-ref.yaml @@ -31,6 +31,30 @@ ref: - name: PRE_LOAD_DB default: "true" documentation: Pre-load RHDH with users and data + - name: API_COUNT + default: "1000" + documentation: Number of API entities populated in DB + - name: COMPONENT_COUNT + default: "1000" + documentation: Number of Component entities populated in DB + - name: BACKSTAGE_USER_COUNT + default: "1000" + documentation: Number of passive users created in KeyCloak + - name: GROUP_COUNT + default: "250" + documentation: Number of user group created in KeyCloak + - name: RHDH_DEPLOYMENT_REPLICAS + default: "5" + documentation: Number of RHDH Deployment replicas + - name: RHDH_DB_REPLICAS + default: "5" + documentation: Number of RHDH DB replicas + - name: RHDH_KEYCLOAK_REPLICAS + default: "5" + documentation: Number of Keycloak replicas + - name: RHDH_DB_STORAGE + default: "2Gi" + documentation: Number of RHDH Deployment replicas from: backstage-performance-runner resources: requests: 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 index 079dbd5e9d1f..dab0ffe18ff4 100755 --- 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 @@ -39,7 +39,7 @@ git clone --branch main https://github.com/redhat-performance/backstage-performa 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. + # if this is executed as PR check of github.com/redhat-performance/backstage-performance.git repo, switch to PR branch. git fetch origin "pull/${PULL_NUMBER}/head" git checkout -b "pr-${PULL_NUMBER}" FETCH_HEAD fi