Skip to content

Commit 9c8de5f

Browse files
vishnuchallaVishnu Challa
and
Vishnu Challa
authored
Adding rds-core to e2e-ci (#62177)
* Adding rds-core to e2e-ci Signed-off-by: Vishnu Challa <[email protected]> * Addressing PR comments Signed-off-by: Vishnu Challa <[email protected]> * Updating secret for rds-core Signed-off-by: Vishnu Challa <[email protected]> * Updating to jetlag secret Signed-off-by: Vishnu Challa <[email protected]> * fixing shell-check bug Signed-off-by: Vishnu Challa <[email protected]> * Adding JETLAG_BRANCH to be main Signed-off-by: Vishnu Challa <[email protected]> * Updating bastion cp interface for jetlag * Adding performance profile to rds-core Signed-off-by: Vishnu Challa <[email protected]> * updating rds-core to work through PRs Signed-off-by: Vishnu Challa <[email protected]> --------- Signed-off-by: Vishnu Challa <[email protected]> Co-authored-by: Vishnu Challa <[email protected]>
1 parent 6422238 commit 9c8de5f

11 files changed

+263
-30
lines changed

ci-operator/config/cloud-bulldozer/e2e-benchmarking/cloud-bulldozer-e2e-benchmarking-master.yaml

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ tests:
402402
- ref: cloud-bulldozer-e2e-benchmarking-router-perf
403403
workflow: openshift-qe-installer-aws
404404
- always_run: false
405-
as: e2e-udn-density-pods-l3
405+
as: e2e-udn-density-pods-l3-single-node
406406
steps:
407407
allow_skip_on_success: true
408408
cluster_profile: aws-perfscale
@@ -426,7 +426,7 @@ tests:
426426
- ref: cloud-bulldozer-e2e-benchmarking-udn-density-pods
427427
workflow: openshift-qe-installer-aws
428428
- always_run: false
429-
as: e2e-udn-density-pods-l2
429+
as: e2e-udn-density-pods-l2-single-node
430430
steps:
431431
allow_skip_on_success: true
432432
cluster_profile: aws-perfscale
@@ -473,6 +473,39 @@ tests:
473473
test:
474474
- ref: cloud-bulldozer-e2e-benchmarking-egressip
475475
workflow: openshift-qe-installer-aws
476+
- always_run: false
477+
as: e2e-rds-core-mno
478+
capabilities:
479+
- intranet
480+
restrict_network_access: false
481+
steps:
482+
cluster_profile: metal-perfscale-jetlag
483+
env:
484+
BAREMETAL: "true"
485+
BASTION_CP_INTERFACE: ens7f1
486+
CRUCIBLE: "false"
487+
ISOLATED_CORES: 2-39,42-79
488+
JETLAG_BRANCH: main
489+
LAB_CLOUD: cloud19
490+
LAB_INTERFACE: eno3
491+
LABEL: node-role.kubernetes.io/worker-dpdk,node-role.kubernetes.io/worker-metallb
492+
OCP_BUILD: ga
493+
OCP_VERSION: 4.18.5
494+
PUBLIC_VLAN: "true"
495+
RESERVED_CORES: 0,40,1,41
496+
SRIOV_NODE_SELECTOR: node-role.kubernetes.io/worker
497+
SRIOV_NUM_VFS: "64"
498+
SRIOV_PF_NAME: ens7f0
499+
TELCO: "true"
500+
test:
501+
- chain: openshift-qe-installer-bm-ping
502+
- chain: openshift-qe-installer-bm-deploy
503+
- chain: openshift-qe-cluster-health
504+
- chain: openshift-qe-installer-bm-day2-label
505+
- chain: openshift-qe-installer-bm-day2-sriov
506+
- chain: openshift-qe-installer-bm-day2-metallb
507+
- chain: openshift-qe-installer-bm-day2-perf-profile-rds-core
508+
- ref: cloud-bulldozer-e2e-benchmarking-rds-core
476509
zz_generated_metadata:
477510
branch: master
478511
org: cloud-bulldozer

ci-operator/jobs/cloud-bulldozer/e2e-benchmarking/cloud-bulldozer-e2e-benchmarking-master-presubmits.yaml

Lines changed: 86 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1125,6 +1125,82 @@ presubmits:
11251125
secret:
11261126
secretName: result-aggregator
11271127
trigger: (?m)^/test( | .* )(e2e-pvc-density-single-node|remaining-required),?($|\s.*)
1128+
- agent: kubernetes
1129+
always_run: false
1130+
branches:
1131+
- ^master$
1132+
- ^master-
1133+
cluster: build11
1134+
context: ci/prow/e2e-rds-core-mno
1135+
decorate: true
1136+
decoration_config:
1137+
skip_cloning: true
1138+
labels:
1139+
capability/intranet: intranet
1140+
ci-operator.openshift.io/cloud: metal-perfscale-jetlag
1141+
ci-operator.openshift.io/cloud-cluster-profile: metal-perfscale-jetlag
1142+
ci.openshift.io/generator: prowgen
1143+
job-release: "4.18"
1144+
pj-rehearse.openshift.io/can-be-rehearsed: "true"
1145+
name: pull-ci-cloud-bulldozer-e2e-benchmarking-master-e2e-rds-core-mno
1146+
rerun_command: /test e2e-rds-core-mno
1147+
spec:
1148+
containers:
1149+
- args:
1150+
- --gcs-upload-secret=/secrets/gcs/service-account.json
1151+
- --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson
1152+
- --lease-server-credentials-file=/etc/boskos/credentials
1153+
- --report-credentials-file=/etc/report/credentials
1154+
- --secret-dir=/secrets/ci-pull-credentials
1155+
- --target=e2e-rds-core-mno
1156+
command:
1157+
- ci-operator
1158+
image: ci-operator:latest
1159+
imagePullPolicy: Always
1160+
name: ""
1161+
resources:
1162+
requests:
1163+
cpu: 10m
1164+
volumeMounts:
1165+
- mountPath: /etc/boskos
1166+
name: boskos
1167+
readOnly: true
1168+
- mountPath: /secrets/ci-pull-credentials
1169+
name: ci-pull-credentials
1170+
readOnly: true
1171+
- mountPath: /secrets/gcs
1172+
name: gcs-credentials
1173+
readOnly: true
1174+
- mountPath: /secrets/manifest-tool
1175+
name: manifest-tool-local-pusher
1176+
readOnly: true
1177+
- mountPath: /etc/pull-secret
1178+
name: pull-secret
1179+
readOnly: true
1180+
- mountPath: /etc/report
1181+
name: result-aggregator
1182+
readOnly: true
1183+
serviceAccountName: ci-operator
1184+
volumes:
1185+
- name: boskos
1186+
secret:
1187+
items:
1188+
- key: credentials
1189+
path: credentials
1190+
secretName: boskos-credentials
1191+
- name: ci-pull-credentials
1192+
secret:
1193+
secretName: ci-pull-credentials
1194+
- name: manifest-tool-local-pusher
1195+
secret:
1196+
secretName: manifest-tool-local-pusher
1197+
- name: pull-secret
1198+
secret:
1199+
secretName: registry-pull-credentials
1200+
- name: result-aggregator
1201+
secret:
1202+
secretName: result-aggregator
1203+
trigger: (?m)^/test( | .* )(e2e-rds-core-mno|remaining-required),?($|\s.*)
11281204
- agent: kubernetes
11291205
always_run: false
11301206
branches:
@@ -1206,7 +1282,7 @@ presubmits:
12061282
- ^master$
12071283
- ^master-
12081284
cluster: build11
1209-
context: ci/prow/e2e-udn-density-pods-l2
1285+
context: ci/prow/e2e-udn-density-pods-l2-single-node
12101286
decorate: true
12111287
decoration_config:
12121288
skip_cloning: true
@@ -1216,8 +1292,8 @@ presubmits:
12161292
ci.openshift.io/generator: prowgen
12171293
job-release: "4.18"
12181294
pj-rehearse.openshift.io/can-be-rehearsed: "true"
1219-
name: pull-ci-cloud-bulldozer-e2e-benchmarking-master-e2e-udn-density-pods-l2
1220-
rerun_command: /test e2e-udn-density-pods-l2
1295+
name: pull-ci-cloud-bulldozer-e2e-benchmarking-master-e2e-udn-density-pods-l2-single-node
1296+
rerun_command: /test e2e-udn-density-pods-l2-single-node
12211297
spec:
12221298
containers:
12231299
- args:
@@ -1226,7 +1302,7 @@ presubmits:
12261302
- --lease-server-credentials-file=/etc/boskos/credentials
12271303
- --report-credentials-file=/etc/report/credentials
12281304
- --secret-dir=/secrets/ci-pull-credentials
1229-
- --target=e2e-udn-density-pods-l2
1305+
- --target=e2e-udn-density-pods-l2-single-node
12301306
command:
12311307
- ci-operator
12321308
image: ci-operator:latest
@@ -1274,14 +1350,14 @@ presubmits:
12741350
- name: result-aggregator
12751351
secret:
12761352
secretName: result-aggregator
1277-
trigger: (?m)^/test( | .* )(e2e-udn-density-pods-l2|remaining-required),?($|\s.*)
1353+
trigger: (?m)^/test( | .* )(e2e-udn-density-pods-l2-single-node|remaining-required),?($|\s.*)
12781354
- agent: kubernetes
12791355
always_run: false
12801356
branches:
12811357
- ^master$
12821358
- ^master-
12831359
cluster: build11
1284-
context: ci/prow/e2e-udn-density-pods-l3
1360+
context: ci/prow/e2e-udn-density-pods-l3-single-node
12851361
decorate: true
12861362
decoration_config:
12871363
skip_cloning: true
@@ -1291,8 +1367,8 @@ presubmits:
12911367
ci.openshift.io/generator: prowgen
12921368
job-release: "4.18"
12931369
pj-rehearse.openshift.io/can-be-rehearsed: "true"
1294-
name: pull-ci-cloud-bulldozer-e2e-benchmarking-master-e2e-udn-density-pods-l3
1295-
rerun_command: /test e2e-udn-density-pods-l3
1370+
name: pull-ci-cloud-bulldozer-e2e-benchmarking-master-e2e-udn-density-pods-l3-single-node
1371+
rerun_command: /test e2e-udn-density-pods-l3-single-node
12961372
spec:
12971373
containers:
12981374
- args:
@@ -1301,7 +1377,7 @@ presubmits:
13011377
- --lease-server-credentials-file=/etc/boskos/credentials
13021378
- --report-credentials-file=/etc/report/credentials
13031379
- --secret-dir=/secrets/ci-pull-credentials
1304-
- --target=e2e-udn-density-pods-l3
1380+
- --target=e2e-udn-density-pods-l3-single-node
13051381
command:
13061382
- ci-operator
13071383
image: ci-operator:latest
@@ -1349,7 +1425,7 @@ presubmits:
13491425
- name: result-aggregator
13501426
secret:
13511427
secretName: result-aggregator
1352-
trigger: (?m)^/test( | .* )(e2e-udn-density-pods-l3|remaining-required),?($|\s.*)
1428+
trigger: (?m)^/test( | .* )(e2e-udn-density-pods-l3-single-node|remaining-required),?($|\s.*)
13531429
- agent: kubernetes
13541430
always_run: false
13551431
branches:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../OWNERS
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#!/bin/bash
2+
set -o errexit
3+
set -o nounset
4+
set -o pipefail
5+
set -x
6+
cat /etc/os-release
7+
oc config view
8+
oc projects
9+
pushd /tmp
10+
11+
12+
if [[ "$JOB_TYPE" == "presubmit" ]] && [[ "$REPO_OWNER" = "cloud-bulldozer" ]] && [[ "$REPO_NAME" = "e2e-benchmarking" ]]; then
13+
if [ ${BAREMETAL} == "true" ]; then
14+
SSH_ARGS="-i /bm/jh_priv_ssh_key -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null"
15+
bastion="$(cat /bm/address)"
16+
# Copy over the kubeconfig
17+
if [ ! -f "${SHARED_DIR}/kubeconfig" ]; then
18+
ssh ${SSH_ARGS} root@$bastion "cat ${KUBECONFIG_PATH}" > /tmp/kubeconfig
19+
export KUBECONFIG=/tmp/kubeconfig
20+
else
21+
export KUBECONFIG=${SHARED_DIR}/kubeconfig
22+
fi
23+
# Setup socks proxy
24+
ssh ${SSH_ARGS} root@$bastion -fNT -D 12345
25+
export https_proxy=socks5://localhost:12345
26+
export http_proxy=socks5://localhost:12345
27+
oc --kubeconfig="$KUBECONFIG" config set-cluster bm --proxy-url=socks5://localhost:12345
28+
fi
29+
git clone https://github.com/${REPO_OWNER}/${REPO_NAME}
30+
pushd ${REPO_NAME}
31+
git config --global user.email "[email protected]"
32+
git config --global user.name "ocp-perfscale"
33+
git pull origin pull/${PULL_NUMBER}/head:${PULL_NUMBER} --rebase
34+
git switch ${PULL_NUMBER}
35+
pushd workloads/kube-burner-ocp-wrapper
36+
export WORKLOAD=rds-core
37+
ES_SERVER="" ITERATIONS=1 PPROF=false CHURN=false PERFORMANCE_PROFILE="cpt-pao" ./run.sh
38+
39+
if [ ${BAREMETAL} == "true" ]; then
40+
# kill the ssh tunnel so the job completes
41+
pkill ssh
42+
fi
43+
else
44+
echo "We are sorry, this job is only meant for cloud-bulldozer/e2e-benchmarking repo PR testing"
45+
fi
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"path": "cloud-bulldozer/e2e-benchmarking/rds-core/cloud-bulldozer-e2e-benchmarking-rds-core-ref.yaml",
3+
"owners": {
4+
"approvers": [
5+
"jtaleric",
6+
"rsevilla87",
7+
"venkataanil",
8+
"afcollins",
9+
"mukrishn",
10+
"mohit-sheth",
11+
"morenod",
12+
"chentex",
13+
"vishnuchalla"
14+
],
15+
"reviewers": [
16+
"jtaleric",
17+
"rsevilla87",
18+
"venkataanil",
19+
"afcollins",
20+
"mukrishn",
21+
"mohit-sheth",
22+
"morenod",
23+
"chentex",
24+
"vishnuchalla"
25+
]
26+
}
27+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
ref:
2+
as: cloud-bulldozer-e2e-benchmarking-rds-core
3+
from_image:
4+
namespace: e2e
5+
name: e2e-benchmarking
6+
tag: latest
7+
cli: latest
8+
commands: cloud-bulldozer-e2e-benchmarking-rds-core-commands.sh
9+
credentials:
10+
- namespace: test-credentials
11+
name: cluster-secrets-metal-perscale-jetlag
12+
mount_path: /secret
13+
- namespace: test-credentials
14+
name: perfscale-metal-bastion
15+
mount_path: /bm
16+
timeout: 6h
17+
resources:
18+
requests:
19+
cpu: 100m
20+
memory: 100Mi
21+
documentation: >-
22+
This step runs the perfscale rds-core workload in the deployed cluster
23+
env:
24+
- name: BAREMETAL
25+
default: "true"
26+
documentation: |-
27+
Set to true if the job is for baremetal
28+
- name: KUBECONFIG_PATH
29+
default: "~/mno/kubeconfig"
30+
documentation: |-
31+
Set kubeconfig path inside the bm, default to ~/mno/kubeconfig

ci-operator/step-registry/openshift-qe/installer/bm/day2/label/openshift-qe-installer-bm-day2-label-commands.sh

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,17 @@ if [ ${BAREMETAL} == "true" ]; then
99
SSH_ARGS="-i /bm/jh_priv_ssh_key -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null"
1010
bastion="$(cat /bm/address)"
1111
# Copy over the kubeconfig
12-
ssh ${SSH_ARGS} root@$bastion "cat ${KUBECONFIG_PATH}" > /tmp/kubeconfig
12+
if [ ! -f "${SHARED_DIR}/kubeconfig" ]; then
13+
ssh ${SSH_ARGS} root@$bastion "cat ${KUBECONFIG_PATH}" > /tmp/kubeconfig
14+
export KUBECONFIG=/tmp/kubeconfig
15+
else
16+
export KUBECONFIG=${SHARED_DIR}/kubeconfig
17+
fi
1318
# Setup socks proxy
1419
ssh ${SSH_ARGS} root@$bastion -fNT -D 12345
15-
export KUBECONFIG=/tmp/kubeconfig
1620
export https_proxy=socks5://localhost:12345
1721
export http_proxy=socks5://localhost:12345
18-
oc --kubeconfig=/tmp/kubeconfig config set-cluster bm --proxy-url=socks5://localhost:12345
22+
oc --kubeconfig="$KUBECONFIG" config set-cluster bm --proxy-url=socks5://localhost:12345
1923
fi
2024

2125
oc config view
@@ -33,10 +37,14 @@ fi
3337

3438
if [ ${TELCO} == "true" ]; then
3539
# Label the nodes
36-
if [ ${LABEL} ]; then
37-
for node in $(oc get node -oname -l node-role.kubernetes.io/worker | head -n ${LABEL_NUM_NODES} | grep -oP "^node/\K.*")
38-
do
39-
oc label node $node ${LABEL}="" --overwrite
40+
if [ -n "${LABEL}" ]; then
41+
for node in $(oc get node -oname -l node-role.kubernetes.io/worker | head -n ${LABEL_NUM_NODES} | grep -oP "^node/\K.*"); do
42+
for label in $(echo "${LABEL}" | tr ',' '\n' | sed 's/^ *//;s/ *$//'); do
43+
if [ -n "$label" ]; then
44+
echo "Applying label: $label to node: $node"
45+
oc label node "$node" "$label=" --overwrite
46+
fi
47+
done
4048
done
4149
fi
4250
fi

ci-operator/step-registry/openshift-qe/installer/bm/day2/label/openshift-qe-installer-bm-day2-label-ref.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ ref:
2626
- name: LABEL
2727
default: "node-role.kubernetes.io/worker-spk"
2828
documentation: |-
29-
Label to apply to worker nodes, if any
29+
Comma separated list of labels to apply to worker nodes, if any
3030
- name: LABEL_NUM_NODES
3131
default: "1"
3232
documentation: |-

ci-operator/step-registry/openshift-qe/installer/bm/day2/metallb/openshift-qe-installer-bm-day2-metallb-commands.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,17 @@ if [ ${BAREMETAL} == "true" ]; then
99
SSH_ARGS="-i /bm/jh_priv_ssh_key -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null"
1010
bastion="$(cat /bm/address)"
1111
# Copy over the kubeconfig
12-
ssh ${SSH_ARGS} root@$bastion "cat ${KUBECONFIG_PATH}" > /tmp/kubeconfig
12+
if [ ! -f "${SHARED_DIR}/kubeconfig" ]; then
13+
ssh ${SSH_ARGS} root@$bastion "cat ${KUBECONFIG_PATH}" > /tmp/kubeconfig
14+
export KUBECONFIG=/tmp/kubeconfig
15+
else
16+
export KUBECONFIG=${SHARED_DIR}/kubeconfig
17+
fi
1318
# Setup socks proxy
1419
ssh ${SSH_ARGS} root@$bastion -fNT -D 12345
15-
export KUBECONFIG=/tmp/kubeconfig
1620
export https_proxy=socks5://localhost:12345
1721
export http_proxy=socks5://localhost:12345
18-
oc --kubeconfig=/tmp/kubeconfig config set-cluster bm --proxy-url=socks5://localhost:12345
22+
oc --kubeconfig="$KUBECONFIG" config set-cluster bm --proxy-url=socks5://localhost:12345
1923
fi
2024

2125
oc config view

0 commit comments

Comments
 (0)