From 6c76e92ecf687878f9b95d98473a7d1df4186eeb Mon Sep 17 00:00:00 2001 From: krishnaGajabi Date: Tue, 19 May 2026 11:38:23 +0000 Subject: [PATCH] feat: additional envars for customization Signed-off-by: krishnaGajabi --- chart/README.md | 11 +++++++++-- .../mayastor/io/io-engine-daemonset.yaml | 14 ++++++++++++++ chart/values.yaml | 18 ++++++++++++++++-- 3 files changed, 39 insertions(+), 4 deletions(-) diff --git a/chart/README.md b/chart/README.md index 81ee2397b..2b9884081 100644 --- a/chart/README.md +++ b/chart/README.md @@ -200,9 +200,16 @@ This removes all the Kubernetes components associated with the chart and deletes | io_engine.​logLevel | Log level for the io-engine service | `"info"` | | io_engine.​nodeSelector | Node selectors to designate storage nodes for diskpool creation Note that if multi-arch images support 'kubernetes.io/arch: amd64' should be removed. |
{
"kubernetes.io/arch":"amd64",
"openebs.io/engine":"mayastor"
}
| | io_engine.​nvme.​ioTimeout | Timeout for IOs The default here is exaggerated for local disks, but we've observed that in shared virtual environments having a higher timeout value is beneficial. Please adjust this according to your hardware and needs. | `"110s"` | -| io_engine.​nvme.​rdma.​bufCacheSize | The number of shared buffers to reserve for each poll group | `"64"` | -| io_engine.​nvme.​rdma.​numSharedBuf | The number of pooled data buffers available to the transport | `"2047"` | +| io_engine.​nvme.​rdma.​bufCacheSize | The number of shared buffers to reserve for each poll group | `nil` | +| io_engine.​nvme.​rdma.​dataWrPoolSize | RDMA data WR pool size (RDMA only) | `"4095"` | +| io_engine.​nvme.​rdma.​inCapsuleDataSize | The max amount of payload data that can be transferred directly within the NVMe-oF Capsule command itself | `nil` | +| io_engine.​nvme.​rdma.​ioUnitSize | I/O unit size (bytes) | `"8192"` | +| io_engine.​nvme.​rdma.​maxIoSize | Max I/O size (bytes) | `nil` | +| io_engine.​nvme.​rdma.​numSharedBuf | The number of pooled data buffers available to the transport | `nil` | | io_engine.​nvme.​tcp.​bufCacheSize | The number of shared buffers to reserve for each poll group | `"64"` | +| io_engine.​nvme.​tcp.​inCapsuleDataSize | The max amount of payload data that can be transferred directly within the NVMe-oF Capsule command itself | `"4096"` | +| io_engine.​nvme.​tcp.​ioUnitSize | I/O unit size (bytes) | `"131072"` | +| io_engine.​nvme.​tcp.​maxIoSize | Max I/O size (bytes) | `"131072"` | | io_engine.​nvme.​tcp.​maxQpairsPerCtrl | Max number of IO qpairs per controller | `"32"` | | io_engine.​nvme.​tcp.​maxQueueDepth | You may need to increase this for a higher outstanding IOs per volume | `"32"` | | io_engine.​nvme.​tcp.​numSharedBuf | The number of pooled data buffers available to the transport | `"2047"` | diff --git a/chart/templates/mayastor/io/io-engine-daemonset.yaml b/chart/templates/mayastor/io/io-engine-daemonset.yaml index 17f6a34ed..872b8782a 100644 --- a/chart/templates/mayastor/io/io-engine-daemonset.yaml +++ b/chart/templates/mayastor/io/io-engine-daemonset.yaml @@ -57,11 +57,25 @@ spec: value: "{{ .Values.io_engine.nvme.tcp.maxQpairsPerCtrl }}" - name: NVMF_TCP_MAX_QUEUE_DEPTH value: "{{ .Values.io_engine.nvme.tcp.maxQueueDepth }}" + - name: NVMF_TCP_IN_CAPSULE_DATA_SIZE + value: "{{ .Values.io_engine.nvme.tcp.inCapsuleDataSize }}" + - name: NVMF_TCP_MAX_IO_SIZE + value: "{{ .Values.io_engine.nvme.tcp.maxIoSize }}" + - name: NVMF_TCP_IO_UNIT_SIZE + value: "{{ .Values.io_engine.nvme.tcp.ioUnitSize }}" {{- if .Values.io_engine.target.nvmf.rdma.enabled }} - name: NVMF_RDMA_NUM_SHARED_BUF value: "{{ .Values.io_engine.nvme.rdma.numSharedBuf }}" - name: NVMF_RDMA_BUF_CACHE_SIZE value: "{{ .Values.io_engine.nvme.rdma.bufCacheSize }}" + - name: NVMF_RDMA_DATA_WR_POOL_SIZE + value: "{{ .Values.io_engine.nvme.rdma.dataWrPoolSize }}" + - name: NVMF_RDMA_MAX_IO_SIZE + value: "{{ .Values.io_engine.nvme.rdma.maxIoSize }}" + - name: NVMF_RDMA_IO_UNIT_SIZE + value: "{{ .Values.io_engine.nvme.rdma.ioUnitSize }}" + - name: NVMF_RDMA_IN_CAPSULE_DATA_SIZE + value: "{{ .Values.io_engine.nvme.rdma.inCapsuleDataSize }}" {{- end }} - name: NVME_TIMEOUT value: "{{ .Values.io_engine.nvme.ioTimeout }}" diff --git a/chart/values.yaml b/chart/values.yaml index 3c406be8b..a7706d55c 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -490,11 +490,25 @@ io_engine: numSharedBuf: "2047" # -- The number of shared buffers to reserve for each poll group bufCacheSize: "64" + # -- The max amount of payload data that can be transferred directly within the NVMe-oF Capsule command itself + inCapsuleDataSize: "4096" + # -- Max I/O size (bytes) + maxIoSize: "131072" + # -- I/O unit size (bytes) + ioUnitSize: "131072" rdma: # -- The number of pooled data buffers available to the transport - numSharedBuf: "2047" + numSharedBuf: # -- The number of shared buffers to reserve for each poll group - bufCacheSize: "64" + bufCacheSize: + # -- RDMA data WR pool size (RDMA only) + dataWrPoolSize: "4095" + # -- The max amount of payload data that can be transferred directly within the NVMe-oF Capsule command itself + inCapsuleDataSize: + # -- Max I/O size (bytes) + maxIoSize: + # -- I/O unit size (bytes) + ioUnitSize: "8192" # -- Pass additional arguments to the Environment Abstraction Layer. # Example: --set {product}.envcontext=iova-mode=pa envcontext: ""