-
Notifications
You must be signed in to change notification settings - Fork 2k
Adding rds-core to e2e-ci #62177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding rds-core to e2e-ci #62177
Changes from all commits
7af39ce
1bcd444
2164e37
b42db0a
a9b868d
5950160
6dccb5f
a545339
bd526f7
902b038
e05af53
8373e6c
5937735
8d92af5
eaa9dc9
6062a0b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| ../OWNERS |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| #!/bin/bash | ||
| set -o errexit | ||
| set -o nounset | ||
| set -o pipefail | ||
| set -x | ||
| cat /etc/os-release | ||
| oc config view | ||
| oc projects | ||
| pushd /tmp | ||
|
|
||
|
|
||
| if [[ "$JOB_TYPE" == "presubmit" ]] && [[ "$REPO_OWNER" = "cloud-bulldozer" ]] && [[ "$REPO_NAME" = "e2e-benchmarking" ]]; then | ||
| if [ ${BAREMETAL} == "true" ]; then | ||
| SSH_ARGS="-i /bm/jh_priv_ssh_key -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null" | ||
| bastion="$(cat /bm/address)" | ||
| # Copy over the kubeconfig | ||
| if [ ! -f "${SHARED_DIR}/kubeconfig" ]; then | ||
| ssh ${SSH_ARGS} root@$bastion "cat ${KUBECONFIG_PATH}" > /tmp/kubeconfig | ||
| export KUBECONFIG=/tmp/kubeconfig | ||
| else | ||
| export KUBECONFIG=${SHARED_DIR}/kubeconfig | ||
| fi | ||
| # Setup socks proxy | ||
| ssh ${SSH_ARGS} root@$bastion -fNT -D 12345 | ||
| export https_proxy=socks5://localhost:12345 | ||
| export http_proxy=socks5://localhost:12345 | ||
| oc --kubeconfig="$KUBECONFIG" config set-cluster bm --proxy-url=socks5://localhost:12345 | ||
| fi | ||
| git clone https://github.com/${REPO_OWNER}/${REPO_NAME} | ||
| pushd ${REPO_NAME} | ||
| git config --global user.email "ocp-perfscale@redhat.com" | ||
| git config --global user.name "ocp-perfscale" | ||
| git pull origin pull/${PULL_NUMBER}/head:${PULL_NUMBER} --rebase | ||
| git switch ${PULL_NUMBER} | ||
| pushd workloads/kube-burner-ocp-wrapper | ||
| export WORKLOAD=rds-core | ||
| ES_SERVER="" ITERATIONS=1 PPROF=false CHURN=false PERFORMANCE_PROFILE="cpt-pao" ./run.sh | ||
|
|
||
| if [ ${BAREMETAL} == "true" ]; then | ||
| # kill the ssh tunnel so the job completes | ||
| pkill ssh | ||
| fi | ||
| else | ||
| echo "We are sorry, this job is only meant for cloud-bulldozer/e2e-benchmarking repo PR testing" | ||
| fi | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| { | ||
| "path": "cloud-bulldozer/e2e-benchmarking/rds-core/cloud-bulldozer-e2e-benchmarking-rds-core-ref.yaml", | ||
| "owners": { | ||
| "approvers": [ | ||
| "jtaleric", | ||
| "rsevilla87", | ||
| "venkataanil", | ||
| "afcollins", | ||
| "mukrishn", | ||
| "mohit-sheth", | ||
| "morenod", | ||
| "chentex", | ||
| "vishnuchalla" | ||
| ], | ||
| "reviewers": [ | ||
| "jtaleric", | ||
| "rsevilla87", | ||
| "venkataanil", | ||
| "afcollins", | ||
| "mukrishn", | ||
| "mohit-sheth", | ||
| "morenod", | ||
| "chentex", | ||
| "vishnuchalla" | ||
| ] | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| ref: | ||
| as: cloud-bulldozer-e2e-benchmarking-rds-core | ||
| from_image: | ||
| namespace: e2e | ||
| name: e2e-benchmarking | ||
| tag: latest | ||
| cli: latest | ||
| commands: cloud-bulldozer-e2e-benchmarking-rds-core-commands.sh | ||
| credentials: | ||
| - namespace: test-credentials | ||
| name: cluster-secrets-metal-perscale-jetlag | ||
| mount_path: /secret | ||
| - namespace: test-credentials | ||
| name: perfscale-metal-bastion | ||
| mount_path: /bm | ||
| timeout: 6h | ||
| resources: | ||
| requests: | ||
| cpu: 100m | ||
| memory: 100Mi | ||
| documentation: >- | ||
| This step runs the perfscale rds-core workload in the deployed cluster | ||
| env: | ||
| - name: BAREMETAL | ||
| default: "true" | ||
| documentation: |- | ||
| Set to true if the job is for baremetal | ||
| - name: KUBECONFIG_PATH | ||
| default: "~/mno/kubeconfig" | ||
| documentation: |- | ||
| Set kubeconfig path inside the bm, default to ~/mno/kubeconfig |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -9,13 +9,17 @@ if [ ${BAREMETAL} == "true" ]; then | |
| SSH_ARGS="-i /bm/jh_priv_ssh_key -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null" | ||
| bastion="$(cat /bm/address)" | ||
| # Copy over the kubeconfig | ||
| ssh ${SSH_ARGS} root@$bastion "cat ${KUBECONFIG_PATH}" > /tmp/kubeconfig | ||
| if [ ! -f "${SHARED_DIR}/kubeconfig" ]; then | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @vishnuchalla are you confident that this change won't impact the daily jobs that consume the label step?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes we are sure on this. Check |
||
| ssh ${SSH_ARGS} root@$bastion "cat ${KUBECONFIG_PATH}" > /tmp/kubeconfig | ||
| export KUBECONFIG=/tmp/kubeconfig | ||
| else | ||
| export KUBECONFIG=${SHARED_DIR}/kubeconfig | ||
| fi | ||
| # Setup socks proxy | ||
| ssh ${SSH_ARGS} root@$bastion -fNT -D 12345 | ||
| export KUBECONFIG=/tmp/kubeconfig | ||
| export https_proxy=socks5://localhost:12345 | ||
| export http_proxy=socks5://localhost:12345 | ||
| oc --kubeconfig=/tmp/kubeconfig config set-cluster bm --proxy-url=socks5://localhost:12345 | ||
| oc --kubeconfig="$KUBECONFIG" config set-cluster bm --proxy-url=socks5://localhost:12345 | ||
| fi | ||
|
|
||
| oc config view | ||
|
|
@@ -33,10 +37,14 @@ fi | |
|
|
||
| if [ ${TELCO} == "true" ]; then | ||
| # Label the nodes | ||
| if [ ${LABEL} ]; then | ||
| for node in $(oc get node -oname -l node-role.kubernetes.io/worker | head -n ${LABEL_NUM_NODES} | grep -oP "^node/\K.*") | ||
| do | ||
| oc label node $node ${LABEL}="" --overwrite | ||
| if [ -n "${LABEL}" ]; then | ||
| for node in $(oc get node -oname -l node-role.kubernetes.io/worker | head -n ${LABEL_NUM_NODES} | grep -oP "^node/\K.*"); do | ||
| for label in $(echo "${LABEL}" | tr ',' '\n' | sed 's/^ *//;s/ *$//'); do | ||
| if [ -n "$label" ]; then | ||
| echo "Applying label: $label to node: $node" | ||
| oc label node "$node" "$label=" --overwrite | ||
| fi | ||
| done | ||
| done | ||
| fi | ||
| fi | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are missing some pre-reqs: https://github.com/kube-burner/kube-burner-ocp/tree/main?tab=readme-ov-file#core-rds-workloads
We need one host labeled as worker-dpdk and another one as worker-metallb. In openshift-qe/installer/bm/day2/label there is a step that you can reuse to label the nodes.