From 2f5c7a90e86fe6cf8fe34a64f3086a86d25f68c1 Mon Sep 17 00:00:00 2001 From: Raviteja Sahukari Date: Wed, 19 Nov 2025 11:26:31 +0530 Subject: [PATCH 1/8] Add ability to test PRs from kube-burner-ocp repositories instead of only using release versions Signed-off-by: Raviteja Sahukari --- workloads/kube-burner-ocp-wrapper/run.sh | 39 +++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/workloads/kube-burner-ocp-wrapper/run.sh b/workloads/kube-burner-ocp-wrapper/run.sh index 858f0cf4..7c0d86ed 100755 --- a/workloads/kube-burner-ocp-wrapper/run.sh +++ b/workloads/kube-burner-ocp-wrapper/run.sh @@ -21,12 +21,43 @@ EXTRA_FLAGS=${EXTRA_FLAGS:-} UUID=${UUID:-$(uuidgen)} KUBE_DIR=${KUBE_DIR:-/tmp} ES_INDEX=${ES_INDEX:-ripsaw-kube-burner} +KUBEBURNER_OCP_PR=${KUBEBURNER_OCP_PR:-} download_binary(){ KUBE_BURNER_URL="https://github.com/kube-burner/kube-burner-ocp/releases/download/v${KUBE_BURNER_VERSION}/kube-burner-ocp-V${KUBE_BURNER_VERSION}-${OS}-${HARDWARE}.tar.gz" curl --fail --retry 8 --retry-all-errors -sS -L "${KUBE_BURNER_URL}" | tar -xzC "${KUBE_DIR}/" kube-burner-ocp } +build_from_pr(){ + echo "Building kube-burner-ocp from PR #${KUBEBURNER_OCP_PR}" + BIN_ARCH=$(uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) + # Clone the repository + REPO_DIR="${KUBE_DIR}/kube-burner-ocp-repo" + if [ -d "${REPO_DIR}" ]; then + rm -rf "${REPO_DIR}" + fi + + git clone https://github.com/kube-burner/kube-burner-ocp.git "${REPO_DIR}" + cd "${REPO_DIR}" + + # Fetch the PR and checkout + git pull origin pull/${KUBEBURNER_OCP_PR}/head:${KUBEBURNER_OCP_PR} --rebase + git switch ${KUBEBURNER_OCP_PR} + + # Build the binary + echo "Building binary..." + make build + + # Copy the binary to KUBE_DIR + cp bin/${BIN_ARCH}/kube-burner-ocp "${KUBE_DIR}/kube-burner-ocp" + chmod +x "${KUBE_DIR}/kube-burner-ocp" + + # Return to original directory + cd - + + echo "Successfully built kube-burner-ocp from PR #${KUBEBURNER_OCP_PR}" +} + hypershift(){ echo "HyperShift detected" @@ -124,7 +155,13 @@ EOF } -download_binary +# Build from PR if KUBEBURNER_OCP_PR is set, otherwise download binary +if [[ -n ${KUBEBURNER_OCP_PR} ]]; then + build_from_pr +else + download_binary +fi + if [[ ${WORKLOAD} =~ "index" ]]; then cmd="${KUBE_DIR}/kube-burner-ocp index --uuid=${UUID} --start=$START_TIME --end=$((END_TIME+600)) --log-level ${LOG_LEVEL}" JOB_START=$(date -u -d "@$START_TIME" +"%Y-%m-%dT%H:%M:%SZ") From 90338affea64ab95fccb63f583329767fbb98bf0 Mon Sep 17 00:00:00 2001 From: Raviteja Sahukari Date: Thu, 20 Nov 2025 14:32:16 +0530 Subject: [PATCH 2/8] Updated GIT global user settings to rectify pull with rebase errors Signed-off-by: Raviteja Sahukari --- prow/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/prow/Dockerfile b/prow/Dockerfile index b28a4472..6a3a84d8 100644 --- a/prow/Dockerfile +++ b/prow/Dockerfile @@ -11,6 +11,8 @@ RUN curl -sSL $(curl -sSL https://api.github.com/repos/openshift/rosa/releases/l RUN curl -sSL $(curl -sSL https://api.github.com/repos/openshift-online/ocm-cli/releases/latest | jq -r ".assets[] | select(.name == \"ocm-linux-amd64\") | .browser_download_url") --output /bin/ocm && chmod 777 /bin/ocm +RUN git config --global user.name "Tu Nombre" && git config --global user.email "tu.email@example.com" + WORKDIR /e2e RUN chown -R 777 /e2e From fa027ad9d1b481a0dc963565ab12a898e9ea6621 Mon Sep 17 00:00:00 2001 From: Raviteja Sahukari Date: Thu, 20 Nov 2025 14:47:54 +0530 Subject: [PATCH 3/8] Updated GIT Global user settings in run.sh as well to test through PROW CI Signed-off-by: Raviteja Sahukari --- workloads/kube-burner-ocp-wrapper/run.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/workloads/kube-burner-ocp-wrapper/run.sh b/workloads/kube-burner-ocp-wrapper/run.sh index 7c0d86ed..ae93508d 100755 --- a/workloads/kube-burner-ocp-wrapper/run.sh +++ b/workloads/kube-burner-ocp-wrapper/run.sh @@ -39,7 +39,11 @@ build_from_pr(){ git clone https://github.com/kube-burner/kube-burner-ocp.git "${REPO_DIR}" cd "${REPO_DIR}" - + + # Update GIT Global user settings + git config --global user.name "Tu Nombre" + git config --global user.email "tu.email@example.com" + # Fetch the PR and checkout git pull origin pull/${KUBEBURNER_OCP_PR}/head:${KUBEBURNER_OCP_PR} --rebase git switch ${KUBEBURNER_OCP_PR} From 21d2bd14aceda3e75cb712d64cb56604d97fe465 Mon Sep 17 00:00:00 2001 From: Raviteja Sahukari Date: Thu, 20 Nov 2025 23:48:38 +0530 Subject: [PATCH 4/8] Add automatic Go installation with version checking Signed-off-by: Raviteja Sahukari Assisted-by: Cursor --- workloads/kube-burner-ocp-wrapper/run.sh | 36 +++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/workloads/kube-burner-ocp-wrapper/run.sh b/workloads/kube-burner-ocp-wrapper/run.sh index ae93508d..3579c9f2 100755 --- a/workloads/kube-burner-ocp-wrapper/run.sh +++ b/workloads/kube-burner-ocp-wrapper/run.sh @@ -11,6 +11,9 @@ fi KUBE_BURNER_VERSION=${KUBE_BURNER_VERSION:-1.8.0} OS=$(uname -s) HARDWARE=$(uname -m) +# Detect architecture for different use cases +BIN_ARCH=${BIN_ARCH:-$(uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/)} +GO_ARCH=${GO_ARCH:-$(uname -s | awk '{print tolower($0)}')-${BIN_ARCH}} PERFORMANCE_PROFILE=${PERFORMANCE_PROFILE:-default} CHURN=${CHURN:-true} WORKLOAD=${WORKLOAD:?} @@ -22,15 +25,46 @@ UUID=${UUID:-$(uuidgen)} KUBE_DIR=${KUBE_DIR:-/tmp} ES_INDEX=${ES_INDEX:-ripsaw-kube-burner} KUBEBURNER_OCP_PR=${KUBEBURNER_OCP_PR:-} +GO_VERSION=${GO_VERSION:-1.23.4} download_binary(){ KUBE_BURNER_URL="https://github.com/kube-burner/kube-burner-ocp/releases/download/v${KUBE_BURNER_VERSION}/kube-burner-ocp-V${KUBE_BURNER_VERSION}-${OS}-${HARDWARE}.tar.gz" curl --fail --retry 8 --retry-all-errors -sS -L "${KUBE_BURNER_URL}" | tar -xzC "${KUBE_DIR}/" kube-burner-ocp } +install_go(){ + INSTALL_GO=false + + # Check if go is installed + if ! command -v go &> /dev/null; then + echo "Go is not installed. Installing Go ${GO_VERSION}..." + INSTALL_GO=true + else + # Check if installed version is sufficient + INSTALLED_GO_VERSION=$(go version | awk '{print $3}' | sed 's/go//') + REQUIRED_GO_VERSION="${GO_VERSION}" + + if [ "$(printf '%s\n' "$REQUIRED_GO_VERSION" "$INSTALLED_GO_VERSION" | sort -V | head -n1)" != "$REQUIRED_GO_VERSION" ]; then + echo "Go version $INSTALLED_GO_VERSION is too old (requires >= $REQUIRED_GO_VERSION). Installing Go ${GO_VERSION}..." + INSTALL_GO=true + else + echo "Go version $INSTALLED_GO_VERSION is sufficient." + fi + fi + + if [ "$INSTALL_GO" = true ]; then + GO_TARBALL="go${GO_VERSION}.${GO_ARCH}.tar.gz" + curl -L https://go.dev/dl/${GO_TARBALL} -o ${GO_TARBALL} + tar -C ${KUBE_DIR}/ -xzf ${GO_TARBALL} + export PATH=${KUBE_DIR}/go/bin:$PATH + rm -f ${GO_TARBALL} + echo "Go ${GO_VERSION} installed successfully." + fi +} + build_from_pr(){ echo "Building kube-burner-ocp from PR #${KUBEBURNER_OCP_PR}" - BIN_ARCH=$(uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) + install_go # Clone the repository REPO_DIR="${KUBE_DIR}/kube-burner-ocp-repo" if [ -d "${REPO_DIR}" ]; then From b871fc1ea51c3d7eeb967fa7ed18bbaefbca6282 Mon Sep 17 00:00:00 2001 From: Raviteja Sahukari Date: Mon, 24 Nov 2025 16:23:55 +0530 Subject: [PATCH 5/8] Removed the git config global user settings Signed-off-by: Raviteja Sahukari --- workloads/kube-burner-ocp-wrapper/run.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/workloads/kube-burner-ocp-wrapper/run.sh b/workloads/kube-burner-ocp-wrapper/run.sh index 3579c9f2..a9cb850c 100755 --- a/workloads/kube-burner-ocp-wrapper/run.sh +++ b/workloads/kube-burner-ocp-wrapper/run.sh @@ -74,10 +74,6 @@ build_from_pr(){ git clone https://github.com/kube-burner/kube-burner-ocp.git "${REPO_DIR}" cd "${REPO_DIR}" - # Update GIT Global user settings - git config --global user.name "Tu Nombre" - git config --global user.email "tu.email@example.com" - # Fetch the PR and checkout git pull origin pull/${KUBEBURNER_OCP_PR}/head:${KUBEBURNER_OCP_PR} --rebase git switch ${KUBEBURNER_OCP_PR} From 566ece74fb83ec2bf345c8ac8f65ae7111c14fb2 Mon Sep 17 00:00:00 2001 From: Raviteja Sahukari Date: Tue, 25 Nov 2025 20:30:04 +0530 Subject: [PATCH 6/8] Use fetch and rebase flow for PR cloning Signed-off-by: Raviteja Sahukari --- workloads/kube-burner-ocp-wrapper/run.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workloads/kube-burner-ocp-wrapper/run.sh b/workloads/kube-burner-ocp-wrapper/run.sh index a9cb850c..54f1fb54 100755 --- a/workloads/kube-burner-ocp-wrapper/run.sh +++ b/workloads/kube-burner-ocp-wrapper/run.sh @@ -75,7 +75,8 @@ build_from_pr(){ cd "${REPO_DIR}" # Fetch the PR and checkout - git pull origin pull/${KUBEBURNER_OCP_PR}/head:${KUBEBURNER_OCP_PR} --rebase + git fetch origin pull/${KUBEBURNER_OCP_PR}/head:${KUBEBURNER_OCP_PR} + git rebase ${KUBEBURNER_OCP_PR} git switch ${KUBEBURNER_OCP_PR} # Build the binary From 4c0e104844e61906b0930455e94ae76fcb081c07 Mon Sep 17 00:00:00 2001 From: Raviteja Sahukari Date: Wed, 26 Nov 2025 15:37:37 +0530 Subject: [PATCH 7/8] Reverted the git config global user settings and PR Cloning method Signed-off-by: Raviteja Sahukari --- workloads/kube-burner-ocp-wrapper/run.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/workloads/kube-burner-ocp-wrapper/run.sh b/workloads/kube-burner-ocp-wrapper/run.sh index 54f1fb54..be31b31b 100755 --- a/workloads/kube-burner-ocp-wrapper/run.sh +++ b/workloads/kube-burner-ocp-wrapper/run.sh @@ -74,9 +74,12 @@ build_from_pr(){ git clone https://github.com/kube-burner/kube-burner-ocp.git "${REPO_DIR}" cd "${REPO_DIR}" + # Update GIT Global user settings + git config --global user.name "Tu Nombre" + git config --global user.email "tu.email@example.com" + # Fetch the PR and checkout - git fetch origin pull/${KUBEBURNER_OCP_PR}/head:${KUBEBURNER_OCP_PR} - git rebase ${KUBEBURNER_OCP_PR} + git pull origin pull/${KUBEBURNER_OCP_PR}/head:${KUBEBURNER_OCP_PR} --rebase git switch ${KUBEBURNER_OCP_PR} # Build the binary From da45c7d7811f69e4f47b9170ddc533049eb4b999 Mon Sep 17 00:00:00 2001 From: Raviteja Sahukari Date: Thu, 27 Nov 2025 11:21:00 +0530 Subject: [PATCH 8/8] Updated the proper values for GIT global user settings Signed-off-by: Raviteja Sahukari --- prow/Dockerfile | 2 -- workloads/kube-burner-ocp-wrapper/run.sh | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/prow/Dockerfile b/prow/Dockerfile index 6a3a84d8..b28a4472 100644 --- a/prow/Dockerfile +++ b/prow/Dockerfile @@ -11,8 +11,6 @@ RUN curl -sSL $(curl -sSL https://api.github.com/repos/openshift/rosa/releases/l RUN curl -sSL $(curl -sSL https://api.github.com/repos/openshift-online/ocm-cli/releases/latest | jq -r ".assets[] | select(.name == \"ocm-linux-amd64\") | .browser_download_url") --output /bin/ocm && chmod 777 /bin/ocm -RUN git config --global user.name "Tu Nombre" && git config --global user.email "tu.email@example.com" - WORKDIR /e2e RUN chown -R 777 /e2e diff --git a/workloads/kube-burner-ocp-wrapper/run.sh b/workloads/kube-burner-ocp-wrapper/run.sh index be31b31b..ed0422fc 100755 --- a/workloads/kube-burner-ocp-wrapper/run.sh +++ b/workloads/kube-burner-ocp-wrapper/run.sh @@ -75,8 +75,8 @@ build_from_pr(){ cd "${REPO_DIR}" # Update GIT Global user settings - git config --global user.name "Tu Nombre" - git config --global user.email "tu.email@example.com" + git config --global user.name "RedHat Performance" + git config --global user.email "redhat-performance@redhat.com" # Fetch the PR and checkout git pull origin pull/${KUBEBURNER_OCP_PR}/head:${KUBEBURNER_OCP_PR} --rebase