IBM / k8s-storage-perf

This git repo will host the playbooks for collecting performance metrics for a Kubernetes persistent storage for IBM Cloud Paks
Apache License 2.0
9 stars 18 forks source link

Provide a way to run the storage perf test in airgap #22

Closed bxu1999 closed 1 year ago

bxu1999 commented 1 year ago

The current storage perf tests depends on the container image quay.io/ibm-cp4d-public/xsysbench:1.1 In airgap environments, this image might not be accessible. So need to provide a procedure how to download the image and push it to airgap clusters' private registry and then run this perf test suites.

bxu1999 commented 1 year ago

added the following procedure for pulling and loading the image in airgap environments:

Pulling and loading the required image in airgap environment

This storage performance test suite relies on a container image: quay.io/ibm-cp4d-public/xsysbench:1.1 This image may not be directly accessible on an aigap cluster. To resolve this, follow the steps below to download the image onto an intermediary host and then copy the image to the airgap cluster, and finally load it into the cluster's private registry.

 # on an intermediary host that can access the image
 podman pull quay.io/ibm-cp4d-public/xsysbench:1.1
 podman save -o xsysbench-1.1.tar quay.io/ibm-cp4d-public/xsysbench:1.1

 # copy the above .tar file onto the airgap cluster

 # on the airgap cluster
 podman load -i xsysbench-1.1.tar
 podman tag quay.io/ibm-cp4d-public/xsysbench:1.1 <private-registry>/ibm-cp4d-public/xsysbench:1.1
 podman tag quay.io/ibm-cp4d-public/xsysbench:1.1 <private-registry>/ibm-cp4d-public/xsysbench:1.1-amd64

 podman login -u <uaername> -p <password> <private-registry> --tls-verify=false

 podman push <private-registry>/ibm-cp4d-public/xsysbench:1.1
 podman push <private-registry>/ibm-cp4d-public/xsysbench:1.1-amd64

Next make sure that in the "params.yml" file, you modify the imageurl line to below:

imageurl: <private-registry>/ibm-cp4d-public/xsysbench:1.1

Finally just follow the previous sections to run the test suites.

bxu1999 commented 1 year ago

tested it in an airgap cluster, and the result looks good.

image

bxu1999 commented 1 year ago

Below are some time duration for the run:

# oc get all
NAME                                      READY   STATUS      RESTARTS   AGE
pod/sysbench-random-read-rwo-h8vkx        0/1     Completed   0          52m
pod/sysbench-random-read-rwx-7x8lc        0/1     Completed   0          32m
pod/sysbench-random-write-rwo-6jkg5       0/1     Completed   0          38m
pod/sysbench-random-write-rwx-wglqg       0/1     Completed   0          31m
pod/sysbench-sequential-read-rwo-48wgl    0/1     Completed   0          35m
pod/sysbench-sequential-read-rwx-4n7wl    0/1     Completed   0          30m
pod/sysbench-sequential-write-rwo-h87rm   0/1     Completed   0          34m
pod/sysbench-sequential-write-rwx-lhkgd   0/1     Completed   0          29m

NAME                                      COMPLETIONS   DURATION   AGE
job.batch/sysbench-random-read-rwo        1/1           ...        52m
job.batch/sysbench-random-read-rwx        1/1           44s        32m
job.batch/sysbench-random-write-rwo       1/1           5m46s      43m
job.batch/sysbench-random-write-rwx       1/1           83s        31m
job.batch/sysbench-sequential-read-rwo    1/1           49s        35m
job.batch/sysbench-sequential-read-rwx    1/1           49s        30m
job.batch/sysbench-sequential-write-rwo   1/1           2m14s      34m
job.batch/sysbench-sequential-write-rwx   1/1           2m         29m