diff --git a/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/OWNERS b/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/OWNERS new file mode 100644 index 000000000000..98897a9c09ec --- /dev/null +++ b/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/OWNERS @@ -0,0 +1,25 @@ +approvers: +- afcollins +- qiliredhat +- paigerube14 +- mffiedler +- jtaleric +- svetsa-rh +reviewers: +- jogeo +- memodi +- mffiedler +- paigerube14 +- rpattath +- skordas +- jtaleric +- svetsa-rh +- shahsahil264 +- liqcui +- krishvoor +- afcollins +- rsevilla87 +- vishnuchalla +- sachinninganure +- chaitanyaenr +- josecastillolema diff --git a/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-chain.metadata.json b/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-chain.metadata.json new file mode 100644 index 000000000000..615688be5659 --- /dev/null +++ b/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-chain.metadata.json @@ -0,0 +1,32 @@ +{ + "path": "openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-chain.yaml", + "owners": { + "approvers": [ + "afcollins", + "qiliredhat", + "paigerube14", + "mffiedler", + "jtaleric", + "svetsa-rh" + ], + "reviewers": [ + "jogeo", + "memodi", + "mffiedler", + "paigerube14", + "rpattath", + "skordas", + "jtaleric", + "svetsa-rh", + "shahsahil264", + "liqcui", + "krishvoor", + "afcollins", + "rsevilla87", + "vishnuchalla", + "sachinninganure", + "chaitanyaenr", + "josecastillolema" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-chain.yaml b/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-chain.yaml new file mode 100644 index 000000000000..cc6f80eacc71 --- /dev/null +++ b/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-chain.yaml @@ -0,0 +1,7 @@ + +chain: + as: openshift-qe-udn-density-l3-pods + steps: + - ref: openshift-qe-udn-density-l3-pods + documentation: |- + This workflow executes udn-density-l3-pods workload using kube-burner ocp wrapper \ No newline at end of file diff --git a/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-commands.sh b/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-commands.sh new file mode 100755 index 000000000000..945ef64d90e4 --- /dev/null +++ b/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-commands.sh @@ -0,0 +1,55 @@ +#!/bin/bash +set -o errexit +set -o nounset +set -o pipefail +set -x +cat /etc/os-release +oc config view +oc projects +oc version +python --version +pushd /tmp +python -m virtualenv ./venv_qe +source ./venv_qe/bin/activate + +ES_SECRETS_PATH=${ES_SECRETS_PATH:-/secret} + +ES_HOST=${ES_HOST:-"search-ocp-qe-perf-scale-test-elk-hcm7wtsqpxy7xogbu72bor4uve.us-east-1.es.amazonaws.com"} +ES_PASSWORD=$(cat "${ES_SECRETS_PATH}/password") +ES_USERNAME=$(cat "${ES_SECRETS_PATH}/username") +if [ -e "${ES_SECRETS_PATH}/host" ]; then + ES_HOST=$(cat "${ES_SECRETS_PATH}/host") +fi + +REPO_URL="https://github.com/cloud-bulldozer/e2e-benchmarking"; +LATEST_TAG=$(curl -s "https://api.github.com/repos/cloud-bulldozer/e2e-benchmarking/releases/latest" | jq -r '.tag_name'); +TAG_OPTION="--branch $(if [ "$E2E_VERSION" == "default" ]; then echo "$LATEST_TAG"; else echo "$E2E_VERSION"; fi)"; +git clone $REPO_URL $TAG_OPTION --depth 1 +pushd e2e-benchmarking/workloads/kube-burner-ocp-wrapper +export WORKLOAD=udn-density-l3-pods + +current_worker_count=$(oc get nodes --no-headers -l node-role.kubernetes.io/worker=,node-role.kubernetes.io/infra!=,node-role.kubernetes.io/workload!= --output jsonpath="{.items[?(@.status.conditions[-1].type=='Ready')].status.conditions[-1].type}" | wc -w | xargs) + +# The measurable run +iteration_multiplier=$(($ITERATION_MULTIPLIER_ENV)) +export ITERATIONS=$(($iteration_multiplier*$current_worker_count)) + +export ES_SERVER="https://$ES_USERNAME:$ES_PASSWORD@$ES_HOST" + +if [[ "${ENABLE_LOCAL_INDEX}" == "true" ]]; then + EXTRA_FLAGS+=" --local-indexing" +fi +EXTRA_FLAGS+=" --gc-metrics=true --pod-ready-threshold=$POD_READY_THRESHOLD --profile-type=${PROFILE_TYPE}" +export EXTRA_FLAGS + +rm -f ${SHARED_DIR}/index.json +./run.sh + +folder_name=$(ls -t -d /tmp/*/ | head -1) +jq ".iterations = $ITERATIONS" $folder_name/index_data.json >> ${SHARED_DIR}/index_data.json + + +if [[ "${ENABLE_LOCAL_INDEX}" == "true" ]]; then + metrics_folder_name=$(find . -maxdepth 1 -type d -name 'collected-metric*' | head -n 1) + cp -r "${metrics_folder_name}" "${ARTIFACT_DIR}/" +fi diff --git a/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-ref.metadata.json b/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-ref.metadata.json new file mode 100644 index 000000000000..3e9be165af48 --- /dev/null +++ b/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-ref.metadata.json @@ -0,0 +1,32 @@ +{ + "path": "openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-ref.yaml", + "owners": { + "approvers": [ + "afcollins", + "qiliredhat", + "paigerube14", + "mffiedler", + "jtaleric", + "svetsa-rh" + ], + "reviewers": [ + "jogeo", + "memodi", + "mffiedler", + "paigerube14", + "rpattath", + "skordas", + "jtaleric", + "svetsa-rh", + "shahsahil264", + "liqcui", + "krishvoor", + "afcollins", + "rsevilla87", + "vishnuchalla", + "sachinninganure", + "chaitanyaenr", + "josecastillolema" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-ref.yaml b/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-ref.yaml new file mode 100644 index 000000000000..294d00f81651 --- /dev/null +++ b/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-ref.yaml @@ -0,0 +1,66 @@ +ref: + as: openshift-qe-udn-density-l3-pods + from_image: + namespace: ci + name: ocp-qe-perfscale-ci + tag: latest + cli: latest + env: + - name: E2E_VERSION + default: "v2.2.5" + documentation: |- + Override the e2e version + - name: KUBE_BURNER_VERSION + default: "default" + documentation: |- + Override the kube burner version + - name: ITERATION_MULTIPLIER_ENV + default: "9" + documentation: |- + The number of iterations per worker nodes to create + - name: CHURN + default: "false" + documentation: |- + Default is false for udn-density-l3-pods workload + - name: POD_READY_THRESHOLD + default: "1400s" + documentation: |- + Defines the maximum threshold for Pod Ready + - name: EXTRA_FLAGS + default: "" + documentation: |- + Default EXTRA_FLAGS for udn-density-l3-pods workload is disabled + - name: PROFILE_TYPE + default: "both" + documentation: |- + Kube-burner indexing profile type + - name: GC + default: "true" + documentation: |- + Default is true, which means clean up the pod/resource that kube-burner ocp created, you can set it to false to keep the resource + - name: ENABLE_LOCAL_INDEX + default: "false" + documentation: |- + Trigger to enable local indexing + - name: ES_SECRETS_PATH + default: "" + documentation: |- + Override elasticsearch secrets path. + commands: openshift-qe-udn-density-l3-pods-commands.sh + timeout: 6h + credentials: + - namespace: test-credentials # this entry injects the custom credential + name: ocp-qe-perfscale-es + mount_path: /secret + - namespace: test-credentials + name: stackrox-perfscale-elasticsearch + mount_path: /secret_stackrox + - namespace: test-credentials + name: ocp-perfscale-horreum-poc + mount_path: /horreum-secret + resources: + requests: + cpu: 100m + memory: 100Mi + documentation: >- + This step runs the perfscale udn-density-l3-pods workload in the deployed cluster diff --git a/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-workflow.metadata.json b/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-workflow.metadata.json new file mode 100644 index 000000000000..1722c0379456 --- /dev/null +++ b/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-workflow.metadata.json @@ -0,0 +1,32 @@ +{ + "path": "openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-workflow.yaml", + "owners": { + "approvers": [ + "afcollins", + "qiliredhat", + "paigerube14", + "mffiedler", + "jtaleric", + "svetsa-rh" + ], + "reviewers": [ + "jogeo", + "memodi", + "mffiedler", + "paigerube14", + "rpattath", + "skordas", + "jtaleric", + "svetsa-rh", + "shahsahil264", + "liqcui", + "krishvoor", + "afcollins", + "rsevilla87", + "vishnuchalla", + "sachinninganure", + "chaitanyaenr", + "josecastillolema" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-workflow.yaml b/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-workflow.yaml new file mode 100644 index 000000000000..e262b007967b --- /dev/null +++ b/ci-operator/step-registry/openshift-qe/udn-density-l3-pods/openshift-qe-udn-density-l3-pods-workflow.yaml @@ -0,0 +1,8 @@ + +workflow: + as: openshift-qe-udn-density-l3-pods + steps: + test: + - chain: openshift-qe-udn-density-l3-pods + documentation: |- + This workflow executes udn-density-l3-pods workload. \ No newline at end of file