-
Story
-
Resolution: Unresolved
-
Major
-
Pipelines 1.14.0
Steps:
#!/bin/bash
#sudo su -
#Note:
# For RH team, Install a fresh cluster (3 master nodes + 3 worker nodes on AWS, flavor m6i.xlarge (4 CPU, 16 GB RAM, ebs-only)
# For P/Z team, run these steps on regular OCP cluster (3 master nodes + 3 worker nodes)
# Pipelines operator should be installed for specificed release
# RH jira issue https://issues.redhat.com/browse/SRVKP-3511
# Power jira issue https://jsw.ibm.com/browse/OCPADO-984
# Z jira issue https://jsw.ibm.com/browse/OCPADO-982
echo "############### Install dependencies ###############"
yum install -y parallel
echo "############### Display cluster info ###############"
oc cluster-info
echo "############### Display OCP version ###############"
oc version
echo "############### Check nodes ###############"
oc get nodes
echo "Steps 1: update these below three lines in .spec.pipeline.performance in TektonConfig"
echo "buckets: 10
replicas: 10
threads-per-controller:"
oc edit tektonconfig config
echo "Step 2: Enable High Availability With Operator on OpenShift"
echo "enable HA as described in https://docs.openshift-pipelines.org/docs/latest/operator/high-availability.html"
echo "First, specify the number of buckets across which you want to distribute workqueue. The maximum supported value for bucket is 10. You need to update the config CR with the required number of buckets."
echo "Update .spec.pipeline.performance in TektonConfig"
oc edit tektonconfig config
echo "Add these below three fields in tektonconfig"
echo "performance:
disable-ha: false
buckets: 10
replicas: 10
threads-per-controller: 2 "
echo "Next step is to scale the tekton-pipelines-controller for having more replicas. (This is also recommended to not have more than 10 replicas"
oc -n openshift-pipelines scale deployment/tekton-pipelines-controller --replicas=3
echo "Now delete the existing leases so that old replica removes hold and new leases gets created which get acquired by different replicas."
oc delete -n openshift-pipelines $(oc get leases -n openshift-pipelines -o name | grep tekton-pipelines-controller)
echo "Creating new namespace for benchmarking"
oc create ns benchmark
oc config set-context --current --namespace=benchmark
echo "Note: This needed to be run only first time"parallel --citation
echo "Step 3: Download perf testing script:"git clone https://github.com/khrm/scalingPipelines.gitcd scalingPipelines
echo "Applying resources to run benchmarking runs/jobs"oc apply -f pipeline.yaml -n benchmark
echo "Running benchmark:"
time ./benchmark-tekton.sh --total 100 --concurrent 150
- clones
-
SRVKP-4023 [release-testing] Performance tests
-
- Closed
-