Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -402,7 +402,7 @@ tests:
- ref: cloud-bulldozer-e2e-benchmarking-router-perf
workflow: openshift-qe-installer-aws
- always_run: false
as: e2e-udn-density-pods-l3
as: e2e-udn-density-pods-l3-single-node
steps:
allow_skip_on_success: true
cluster_profile: aws-perfscale
Expand All @@ -426,7 +426,7 @@ tests:
- ref: cloud-bulldozer-e2e-benchmarking-udn-density-pods
workflow: openshift-qe-installer-aws
- always_run: false
as: e2e-udn-density-pods-l2
as: e2e-udn-density-pods-l2-single-node
steps:
allow_skip_on_success: true
cluster_profile: aws-perfscale
Expand Down Expand Up @@ -473,6 +473,39 @@ tests:
test:
- ref: cloud-bulldozer-e2e-benchmarking-egressip
workflow: openshift-qe-installer-aws
- always_run: false
as: e2e-rds-core-mno
capabilities:
- intranet
restrict_network_access: false
steps:
cluster_profile: metal-perfscale-jetlag
env:
BAREMETAL: "true"
BASTION_CP_INTERFACE: ens7f1
CRUCIBLE: "false"
ISOLATED_CORES: 2-39,42-79
JETLAG_BRANCH: main
LAB_CLOUD: cloud19
LAB_INTERFACE: eno3
LABEL: node-role.kubernetes.io/worker-dpdk,node-role.kubernetes.io/worker-metallb
OCP_BUILD: ga
OCP_VERSION: 4.18.5
PUBLIC_VLAN: "true"
RESERVED_CORES: 0,40,1,41
SRIOV_NODE_SELECTOR: node-role.kubernetes.io/worker
SRIOV_NUM_VFS: "64"
SRIOV_PF_NAME: ens7f0
TELCO: "true"
test:
- chain: openshift-qe-installer-bm-ping
- chain: openshift-qe-installer-bm-deploy
- chain: openshift-qe-cluster-health
- chain: openshift-qe-installer-bm-day2-label
- chain: openshift-qe-installer-bm-day2-sriov
- chain: openshift-qe-installer-bm-day2-metallb
- chain: openshift-qe-installer-bm-day2-perf-profile-rds-core
- ref: cloud-bulldozer-e2e-benchmarking-rds-core
zz_generated_metadata:
branch: master
org: cloud-bulldozer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1125,6 +1125,82 @@ presubmits:
secret:
secretName: result-aggregator
trigger: (?m)^/test( | .* )(e2e-pvc-density-single-node|remaining-required),?($|\s.*)
- agent: kubernetes
always_run: false
branches:
- ^master$
- ^master-
cluster: build11
context: ci/prow/e2e-rds-core-mno
decorate: true
decoration_config:
skip_cloning: true
labels:
capability/intranet: intranet
ci-operator.openshift.io/cloud: metal-perfscale-jetlag
ci-operator.openshift.io/cloud-cluster-profile: metal-perfscale-jetlag
ci.openshift.io/generator: prowgen
job-release: "4.18"
pj-rehearse.openshift.io/can-be-rehearsed: "true"
name: pull-ci-cloud-bulldozer-e2e-benchmarking-master-e2e-rds-core-mno
rerun_command: /test e2e-rds-core-mno
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
- --target=e2e-rds-core-mno
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: /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: 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( | .* )(e2e-rds-core-mno|remaining-required),?($|\s.*)
- agent: kubernetes
always_run: false
branches:
Expand Down Expand Up @@ -1206,7 +1282,7 @@ presubmits:
- ^master$
- ^master-
cluster: build11
context: ci/prow/e2e-udn-density-pods-l2
context: ci/prow/e2e-udn-density-pods-l2-single-node
decorate: true
decoration_config:
skip_cloning: true
Expand All @@ -1216,8 +1292,8 @@ presubmits:
ci.openshift.io/generator: prowgen
job-release: "4.18"
pj-rehearse.openshift.io/can-be-rehearsed: "true"
name: pull-ci-cloud-bulldozer-e2e-benchmarking-master-e2e-udn-density-pods-l2
rerun_command: /test e2e-udn-density-pods-l2
name: pull-ci-cloud-bulldozer-e2e-benchmarking-master-e2e-udn-density-pods-l2-single-node
rerun_command: /test e2e-udn-density-pods-l2-single-node
spec:
containers:
- args:
Expand All @@ -1226,7 +1302,7 @@ presubmits:
- --lease-server-credentials-file=/etc/boskos/credentials
- --report-credentials-file=/etc/report/credentials
- --secret-dir=/secrets/ci-pull-credentials
- --target=e2e-udn-density-pods-l2
- --target=e2e-udn-density-pods-l2-single-node
command:
- ci-operator
image: ci-operator:latest
Expand Down Expand Up @@ -1274,14 +1350,14 @@ presubmits:
- name: result-aggregator
secret:
secretName: result-aggregator
trigger: (?m)^/test( | .* )(e2e-udn-density-pods-l2|remaining-required),?($|\s.*)
trigger: (?m)^/test( | .* )(e2e-udn-density-pods-l2-single-node|remaining-required),?($|\s.*)
- agent: kubernetes
always_run: false
branches:
- ^master$
- ^master-
cluster: build11
context: ci/prow/e2e-udn-density-pods-l3
context: ci/prow/e2e-udn-density-pods-l3-single-node
decorate: true
decoration_config:
skip_cloning: true
Expand All @@ -1291,8 +1367,8 @@ presubmits:
ci.openshift.io/generator: prowgen
job-release: "4.18"
pj-rehearse.openshift.io/can-be-rehearsed: "true"
name: pull-ci-cloud-bulldozer-e2e-benchmarking-master-e2e-udn-density-pods-l3
rerun_command: /test e2e-udn-density-pods-l3
name: pull-ci-cloud-bulldozer-e2e-benchmarking-master-e2e-udn-density-pods-l3-single-node
rerun_command: /test e2e-udn-density-pods-l3-single-node
spec:
containers:
- args:
Expand All @@ -1301,7 +1377,7 @@ presubmits:
- --lease-server-credentials-file=/etc/boskos/credentials
- --report-credentials-file=/etc/report/credentials
- --secret-dir=/secrets/ci-pull-credentials
- --target=e2e-udn-density-pods-l3
- --target=e2e-udn-density-pods-l3-single-node
command:
- ci-operator
image: ci-operator:latest
Expand Down Expand Up @@ -1349,7 +1425,7 @@ presubmits:
- name: result-aggregator
secret:
secretName: result-aggregator
trigger: (?m)^/test( | .* )(e2e-udn-density-pods-l3|remaining-required),?($|\s.*)
trigger: (?m)^/test( | .* )(e2e-udn-density-pods-l3-single-node|remaining-required),?($|\s.*)
- agent: kubernetes
always_run: false
branches:
Expand Down
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

Copy link
Member

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.


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
Expand Up @@ -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
Copy link
Member

Choose a reason for hiding this comment

The 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?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes we are sure on this. Check bm-deploy step, which copies kubeconfig to shared directory at the end.

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
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ ref:
- name: LABEL
default: "node-role.kubernetes.io/worker-spk"
documentation: |-
Label to apply to worker nodes, if any
Comma separated list of labels to apply to worker nodes, if any
- name: LABEL_NUM_NODES
default: "1"
documentation: |-
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
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
Expand Down
Loading