KaaSCephOperationRequest CR perftest specification

TechPreview

This section describes the KaaSCephOperationRequest CR specification used to automatically create a CephPerfTestRequest request. For the procedure workflow, see Enable periodic Ceph performance testing.

Spec of the KaaSCephOperationRequest perftest high-level parameters

Parameter

Description

perfTest

Describes the definition for the CephPerfTestRequest spec. For details on the perfTest parameters, see the tables below.

kaasCephCluster

Defines KaaSCephCluster on which the KaaSCephOperationRequest depends on. Use the kaasCephCluster parameter if the name or project of the corresponding Container Cloud cluster differs from the default one:

spec:
  kaasCephCluster:
    name: ceph-kaas-mgmt
    namespace: default

k8sCluster

Defines the cluster on which the KaaSCephOperationRequest depends on. Use the k8sCluster parameter if the name or project of the corresponding Container Cloud cluster differs from the default one:

spec:
  k8sCluster:
    name: kaas-mgmt
    namespace: default

If you omit this parameter, ceph-kcc-controller will set it automatically.

Ceph performance test parameters

Parameter

Description

parameters

A list of command arguments for a performance test execution. For all available parameters, see fio documentation.

Note

Performance test results will be saved on a PVC if the test run parameters contain an argument to save to a file. Otherwise, test results will be saved only as Pod logs. For example, for the default fio image, use the --output=/results/<fileName> option to redirect to a file that will be saved on the attached PVC. Configuring a mount point is not supported.

command

Optional. Entrypoint command to run performance test in the container. If the performance image is updated, you may also update the command. By default, equals the image entry point.

image

Container image to use for jobs. By default, vineethac/fio_image. Mirantis recommends using the default fio image as it supports multitude I/O engines. For details, see fio man page.

periodic

Configuration of the performance test runs as periodic jobs. Leave empty if a single run is required. For details, see Ceph performance periodic parameters.

saveResultOnPvc

Option that enables saving of the performance test results on a PVC. Contains the following fields:

  • pvcName - PVC name to use. If not specified, a PVC name for the performance test will be created automatically. Namespace is static and equals rook-ceph.

  • pvcStorageClass - StorageClass to use for PVC. If not specified, the default storage class is used.

  • pvcSize - PVC size, defaults to 10Gi.

  • preserveOnDelete - PVC preservation after removal of the performance test.

Ceph performance periodic parameters

Parameter

Description

schedule

Required. Schedule in base cron format. For example, * * 30 2 \*. The field format follows the Cron schedule syntax.

suspended

Pause CronJob scheduling to prevent performance test execution. Only for future scheduling.

runsToKeep

Number of runs to keep in history. Supported only by keeping old run Pods with their outputs.

Example of KaaSCephOperationRequest
apiVersion: kaas.mirantis.com/v1alpha1
kind: KaaSCephOperationRequest
metadata:
  name: test-managed-req
  namespace: managed-ns
spec:
  kaasCephCluster:
    name: ceph-cluster-managed-cluster
    namespace: managed-ns
  perfTest:
    parameters:
    - --ioengine=rbd
    - --pool=mirablock-k8s-block-hdd
    - --rbdname=tests
    - --name=single_perftest
    - --rw=randrw:16k
    - --rwmixread=40
    - --bs=4k
    - --size=500M
    - --iodepth=32
    - --numjobs=8
    - --group_reporting
    - --direct=1
    - --fsync=32
    - --buffered=0
    - --exitall