diff --git a/charts/spiderpool/config b/charts/spiderpool/config index 29b872da4..4847120a5 100644 --- a/charts/spiderpool/config +++ b/charts/spiderpool/config @@ -4,7 +4,7 @@ export USE_OPENSOURCE_CHART=false export REPO_URL=https://spidernet-io.github.io/spiderpool export REPO_NAME=spiderpool export CHART_NAME=spiderpool -export VERSION=1.0.0-rc3 +export VERSION=0.9.8 # pr, issue, none export UPGRADE_METHOD=pr diff --git a/charts/spiderpool/custom.sh b/charts/spiderpool/custom.sh index c263ecdde..0bf69a49a 100755 --- a/charts/spiderpool/custom.sh +++ b/charts/spiderpool/custom.sh @@ -3,7 +3,10 @@ CHART_DIRECTORY=$1 [ ! -d "$CHART_DIRECTORY" ] && echo "custom shell: error, miss CHART_DIRECTORY $CHART_DIRECTORY " && exit 1 -CURRENT_DIR_PATH=$(cd $(dirname ${BASH_SOURCE[0]}); pwd) +CURRENT_DIR_PATH=$( + cd $(dirname ${BASH_SOURCE[0]}) + pwd +) echo "custom shell: CHART_DIRECTORY $CHART_DIRECTORY" echo "CHART_DIRECTORY $(ls)" @@ -16,13 +19,13 @@ set -o errexit set -o pipefail set -o nounset -if ! which yq &>/dev/null ; then +if ! which yq &>/dev/null; then echo " 'yq' no found, try to install..." YQ_VERSION=v4.30.6 YQ_BINARY="yq_$(uname | tr 'A-Z' 'a-z')_amd64" wget https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/${YQ_BINARY}.tar.gz -O /tmp/yq.tar.gz && - tar -xzf /tmp/yq.tar.gz -C /tmp && - mv /tmp/${YQ_BINARY} /usr/bin/yq + tar -xzf /tmp/yq.tar.gz -C /tmp && + mv /tmp/${YQ_BINARY} /usr/bin/yq fi OS=$(uname -s | tr 'A-Z' 'a-z') @@ -66,8 +69,6 @@ yq -i ' .spiderpool.spiderpoolController.resources.requests.cpu=strenv(CUSTOM_SPIDERPOOL_CONTROLLER_CPU) | .spiderpool.spiderpoolController.resources.requests.memory=strenv(CUSTOM_SPIDERPOOL_CONTROLLER_MEMORY) | .spiderpool.spiderpoolController.tolerations[0].effect = "NoSchedule" | - .spiderpool.spiderpoolController.podResourceInject.enabled=true | - .spiderpool.spiderpoolController.podResourceInject.namespacesExclude= ["insight-system","mcamel-system","amamba-system","argocd","baize-system","ghippo-system","gpu-operator","dowl-system","hwameistor","insight-system","kairship-system","kangaroo-system","kant-system","kcollie-system","kcoral-system","kolm-system","kpanda-system","kubean-system","local-path-storage","mspider-system","nvidia-gpu-operator","skoala-system","spidernet-system","virtnest-system","ipavo-system"] + .spiderpool.spiderpoolController.podResourceInject.namespacesExclude | .spiderpool.spiderpoolInit.image.registry="ghcr.m.daocloud.io" | .spiderpool.plugins.image.registry="ghcr.m.daocloud.io" | .spiderpool.rdma.rdmaSharedDevicePlugin.image.registry="ghcr.m.daocloud.io" | @@ -75,14 +76,16 @@ yq -i ' .spiderpool.grafanaDashboard.labels."operator.insight.io/managed-by"="insight" ' ${CHART_DIRECTORY}/values.yaml +# .spiderpool.spiderpoolController.podResourceInject.namespacesExclude= ["insight-system","mcamel-system","amamba-system","argocd","baize-system","ghippo-system","gpu-operator","dowl-system","hwameistor","insight-system","kairship-system","kangaroo-system","kant-system","kcollie-system","kcoral-system","kolm-system","kpanda-system","kubean-system","local-path-storage","mspider-system","nvidia-gpu-operator","skoala-system","spidernet-system","virtnest-system","ipavo-system"] + .spiderpool.spiderpoolController.podResourceInject.namespacesExclude | # `.spiderpool.sriov.image.resourcesInjector.tag="v1.5"` is used as a fallback because resourcesInjector v1.6.0 does not include an ARM64 image. +# .spiderpool.spiderpoolController.podResourceInject.enabled=true | -if ! grep "keywords:" ${CHART_DIRECTORY}/Chart.yaml &>/dev/null ; then - echo "keywords:" >> ${CHART_DIRECTORY}/Chart.yaml - echo " - networking" >> ${CHART_DIRECTORY}/Chart.yaml - echo " - ipam" >> ${CHART_DIRECTORY}/Chart.yaml +if ! grep "keywords:" ${CHART_DIRECTORY}/Chart.yaml &>/dev/null; then + echo "keywords:" >>${CHART_DIRECTORY}/Chart.yaml + echo " - networking" >>${CHART_DIRECTORY}/Chart.yaml + echo " - ipam" >>${CHART_DIRECTORY}/Chart.yaml fi rm -f ${CHART_DIRECTORY}/values.yaml-E || true -exit 0 \ No newline at end of file +exit 0 diff --git a/charts/spiderpool/spiderpool/Chart.yaml b/charts/spiderpool/spiderpool/Chart.yaml index 76cd95ec6..77afcd37c 100644 --- a/charts/spiderpool/spiderpool/Chart.yaml +++ b/charts/spiderpool/spiderpool/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: 1.0.0-rc3 +appVersion: 0.9.8 description: underlay CNI solution for kubernetes home: https://spidernet-io.github.io/spiderpool icon: https://raw.githubusercontent.com/spidernet-io/spiderpool/main/docs/images/spider.svg @@ -16,8 +16,8 @@ name: spiderpool sources: - https://github.com/spidernet-io/spiderpool type: application -version: 1.0.0-rc3 +version: 0.9.8 dependencies: - name: spiderpool - version: "1.0.0-rc3" + version: "0.9.8" repository: "https://spidernet-io.github.io/spiderpool" diff --git a/charts/spiderpool/spiderpool/README.md b/charts/spiderpool/spiderpool/README.md index 1cfb0f204..b26005127 100644 --- a/charts/spiderpool/spiderpool/README.md +++ b/charts/spiderpool/spiderpool/README.md @@ -127,20 +127,19 @@ helm install spiderpool spiderpool/spiderpool --wait --namespace kube-system \ ### ipam parameters -| Name | Description | Value | -| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------ | -| `ipam.enableIPv4` | enable ipv4 | `true` | -| `ipam.enableIPv6` | enable ipv6 | `true` | -| `ipam.enableStatefulSet` | the network mode | `true` | -| `ipam.enableKubevirtStaticIP` | the feature to keep kubevirt vm pod static IP | `true` | -| `ipam.spiderSubnet.enable` | SpiderSubnet feature. | `true` | -| `ipam.spiderSubnet.autoPool.enable` | SpiderSubnet Auto IPPool feature. | `true` | -| `ipam.spiderSubnet.autoPool.defaultRedundantIPNumber` | the default redundant IP number of SpiderSubnet feature auto-created IPPools | `1` | -| `ipam.gc.enabled` | enable retrieve IP in spiderippool CR | `true` | -| `ipam.gc.gcAll.intervalInSecond` | the gc all interval duration | `600` | -| `ipam.gc.statelessPod.zombieOnReadyNode` | enable reclaim IP for the stateless pod who is over deleting graceful period on a ready node | `true` | -| `ipam.gc.statelessPod.zombieOnNotReadyNode` | enable reclaim IP for the stateless pod who is over deleting graceful period on a not-ready node | `true` | -| `ipam.gc.gcDeletingTimeOutPodDelay` | the gc delay seconds after the pod times out of deleting graceful period | `0` | +| Name | Description | Value | +| ------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------ | +| `ipam.enableIPv4` | enable ipv4 | `true` | +| `ipam.enableIPv6` | enable ipv6 | `true` | +| `ipam.enableStatefulSet` | the network mode | `true` | +| `ipam.enableKubevirtStaticIP` | the feature to keep kubevirt vm pod static IP | `true` | +| `ipam.enableSpiderSubnet` | SpiderSubnet feature gate. | `true` | +| `ipam.subnetDefaultFlexibleIPNumber` | the default flexible IP number of SpiderSubnet feature auto-created IPPools | `1` | +| `ipam.gc.enabled` | enable retrieve IP in spiderippool CR | `true` | +| `ipam.gc.gcAll.intervalInSecond` | the gc all interval duration | `600` | +| `ipam.gc.statelessPod.zombieOnReadyNode` | enable reclaim IP for the stateless pod who is over deleting graceful period on a ready node | `true` | +| `ipam.gc.statelessPod.zombieOnNotReadyNode` | enable reclaim IP for the stateless pod who is over deleting graceful period on a not-ready node | `true` | +| `ipam.gc.gcDeletingTimeOutPodDelay` | the gc delay seconds after the pod times out of deleting graceful period | `0` | ### grafanaDashboard parameters @@ -175,7 +174,7 @@ helm install spiderpool spiderpool/spiderpool --wait --namespace kube-system \ | `rdma.rdmaSharedDevicePlugin.image.repository` | the image repository of rdma shared device plugin | `mellanox/k8s-rdma-shared-dev-plugin` | | `rdma.rdmaSharedDevicePlugin.image.pullPolicy` | the image pullPolicy of rdma shared device plugin | `IfNotPresent` | | `rdma.rdmaSharedDevicePlugin.image.digest` | the image digest of rdma shared device plugin | `""` | -| `rdma.rdmaSharedDevicePlugin.image.tag` | the image tag of rdma shared device plugin | `v1.5.1` | +| `rdma.rdmaSharedDevicePlugin.image.tag` | the image tag of rdma shared device plugin | `latest` | | `rdma.rdmaSharedDevicePlugin.image.imagePullSecrets` | the image imagePullSecrets of rdma shared device plugin | `[]` | | `rdma.rdmaSharedDevicePlugin.podAnnotations` | the additional annotations | `{}` | | `rdma.rdmaSharedDevicePlugin.podLabels` | the additional label | `{}` | @@ -184,7 +183,11 @@ helm install spiderpool spiderpool/spiderpool --wait --namespace kube-system \ | `rdma.rdmaSharedDevicePlugin.resources.requests.cpu` | the cpu requests | `100m` | | `rdma.rdmaSharedDevicePlugin.resources.requests.memory` | the memory requests | `50Mi` | | `rdma.rdmaSharedDevicePlugin.deviceConfig.periodicUpdateInterval` | periodic Update Interval | `300` | -| `rdma.rdmaSharedDevicePlugin.deviceConfig.configList` | configure the network card for the rdma resource | `[]` | +| `rdma.rdmaSharedDevicePlugin.deviceConfig.resourcePrefix` | resource prefix | `spidernet.io` | +| `rdma.rdmaSharedDevicePlugin.deviceConfig.resourceName` | resource Name | `hca_shared_devices` | +| `rdma.rdmaSharedDevicePlugin.deviceConfig.rdmaHcaMax` | rdma Hca Max | `500` | +| `rdma.rdmaSharedDevicePlugin.deviceConfig.vendors` | rdma device vendors, default to mellanox device | `15b3` | +| `rdma.rdmaSharedDevicePlugin.deviceConfig.deviceIDs` | rdma device IDs, default to mellanox device | `1017` | ### multus parameters @@ -198,7 +201,7 @@ helm install spiderpool spiderpool/spiderpool --wait --namespace kube-system \ | `multus.multusCNI.image.repository` | the multus-CNI image repository | `k8snetworkplumbingwg/multus-cni` | | `multus.multusCNI.image.pullPolicy` | the multus-CNI image pullPolicy | `IfNotPresent` | | `multus.multusCNI.image.digest` | the multus-CNI image digest | `""` | -| `multus.multusCNI.image.tag` | the multus-CNI image tag | `v3.9.3` | +| `multus.multusCNI.image.tag` | the multus-CNI image tag | `v4.1.4` | | `multus.multusCNI.image.imagePullSecrets` | the multus-CNI image imagePullSecrets | `[]` | | `multus.multusCNI.defaultCniCRName` | if this value is empty, multus will automatically get default CNI according to the existed CNI conf file in /etc/cni/net.d/, if no cni files found in /etc/cni/net.d, A Spidermultusconfig CR named default will be created, please update the related SpiderMultusConfig for default CNI after installation. The namespace of defaultCniCRName follows with the release namespace of spdierpool | `""` | | `multus.multusCNI.securityContext.privileged` | the securityContext privileged of multus-CNI daemonset pod | `true` | @@ -215,14 +218,13 @@ helm install spiderpool spiderpool/spiderpool --wait --namespace kube-system \ | `plugins.installCNI` | install all cni plugins to each node | `false` | | `plugins.installRdmaCNI` | install rdma cni used to isolate rdma device for sriov cni | `true` | | `plugins.installOvsCNI` | install ovs cni to each node | `true` | -| `plugins.installSriovCNI` | install sriov cni to each node | `true` | | `plugins.installibSriovCNI` | install ib-sriov cni to each node | `true` | | `plugins.installIpoibCNI` | install ipoib cni to each node | `true` | | `plugins.image.registry` | the image registry of plugins | `ghcr.io` | | `plugins.image.repository` | the image repository of plugins | `spidernet-io/spiderpool/spiderpool-plugins` | | `plugins.image.pullPolicy` | the image pullPolicy of plugins | `IfNotPresent` | | `plugins.image.digest` | the image digest of plugins | `""` | -| `plugins.image.tag` | the image tag of plugins | `82659d90cae0d6a5169eac2869e47c989932d775` | +| `plugins.image.tag` | the image tag of plugins | `v0.9.2` | | `plugins.image.imagePullSecrets` | the image imagePullSecrets of plugins | `[]` | ### clusterDefaultPool parameters @@ -280,7 +282,6 @@ helm install spiderpool spiderpool/spiderpool --wait --namespace kube-system \ | `spiderpoolAgent.healthChecking.readinessProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolAgent health checking | `3` | | `spiderpoolAgent.healthChecking.readinessProbe.periodSeconds` | the period seconds of startup probe for spiderpoolAgent health checking | `10` | | `spiderpoolAgent.prometheus.enabled` | enable spiderpool agent to collect metrics | `false` | -| `spiderpoolAgent.prometheus.enabledRdmaMetric` | enable spiderpool agent to collect RDMA metrics | `false` | | `spiderpoolAgent.prometheus.enabledDebugMetric` | enable spiderpool agent to collect debug level metrics | `false` | | `spiderpoolAgent.prometheus.port` | the metrics port of spiderpool agent | `5711` | | `spiderpoolAgent.prometheus.serviceMonitor.install` | install serviceMonitor for spiderpool agent. This requires the prometheus CRDs to be available | `false` | @@ -302,77 +303,73 @@ helm install spiderpool spiderpool/spiderpool --wait --namespace kube-system \ ### spiderpoolController parameters -| Name | Description | Value | -| ------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | -| `spiderpoolController.name` | the spiderpoolController name | `spiderpool-controller` | -| `spiderpoolController.replicas` | the replicas number of spiderpoolController pod | `1` | -| `spiderpoolController.binName` | the binName name of spiderpoolController | `/usr/bin/spiderpool-controller` | -| `spiderpoolController.hostnetwork` | enable hostnetwork mode of spiderpoolController pod. Notice, if no CNI available before spiderpool installation, must enable this | `true` | -| `spiderpoolController.image.registry` | the image registry of spiderpoolController | `ghcr.io` | -| `spiderpoolController.image.repository` | the image repository of spiderpoolController | `spidernet-io/spiderpool/spiderpool-controller` | -| `spiderpoolController.image.pullPolicy` | the image pullPolicy of spiderpoolController | `IfNotPresent` | -| `spiderpoolController.image.digest` | the image digest of spiderpoolController, which takes preference over tag | `""` | -| `spiderpoolController.image.tag` | the image tag of spiderpoolController, overrides the image tag whose default is the chart appVersion. | `""` | -| `spiderpoolController.image.imagePullSecrets` | the image imagePullSecrets of spiderpoolController | `[]` | -| `spiderpoolController.serviceAccount.create` | create the service account for the spiderpoolController | `true` | -| `spiderpoolController.serviceAccount.annotations` | the annotations of spiderpoolController service account | `{}` | -| `spiderpoolController.service.annotations` | the annotations for spiderpoolController service | `{}` | -| `spiderpoolController.service.type` | the type for spiderpoolController service | `ClusterIP` | -| `spiderpoolController.priorityClassName` | the priority Class Name for spiderpoolController | `system-node-critical` | -| `spiderpoolController.affinity` | the affinity of spiderpoolController | `{}` | -| `spiderpoolController.extraArgs` | the additional arguments of spiderpoolController container | `[]` | -| `spiderpoolController.extraEnv` | the additional environment variables of spiderpoolController container | `[]` | -| `spiderpoolController.extraVolumes` | the additional volumes of spiderpoolController container | `[]` | -| `spiderpoolController.extraVolumeMounts` | the additional hostPath mounts of spiderpoolController container | `[]` | -| `spiderpoolController.podAnnotations` | the additional annotations of spiderpoolController pod | `{}` | -| `spiderpoolController.podLabels` | the additional label of spiderpoolController pod | `{}` | -| `spiderpoolController.securityContext` | the security Context of spiderpoolController pod | `{}` | -| `spiderpoolController.resources.limits.cpu` | the cpu limit of spiderpoolController pod | `500m` | -| `spiderpoolController.resources.limits.memory` | the memory limit of spiderpoolController pod | `1024Mi` | -| `spiderpoolController.resources.requests.cpu` | the cpu requests of spiderpoolController pod | `100m` | -| `spiderpoolController.resources.requests.memory` | the memory requests of spiderpoolController pod | `128Mi` | -| `spiderpoolController.podDisruptionBudget.enabled` | enable podDisruptionBudget for spiderpoolController pod | `false` | -| `spiderpoolController.podDisruptionBudget.minAvailable` | minimum number/percentage of pods that should remain scheduled. | `1` | -| `spiderpoolController.httpPort` | the http Port for spiderpoolController, for health checking and http service | `5720` | -| `spiderpoolController.healthChecking.startupProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolController health checking | `30` | -| `spiderpoolController.healthChecking.startupProbe.periodSeconds` | the period seconds of startup probe for spiderpoolController health checking | `2` | -| `spiderpoolController.healthChecking.livenessProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolController health checking | `6` | -| `spiderpoolController.healthChecking.livenessProbe.periodSeconds` | the period seconds of startup probe for spiderpoolController health checking | `10` | -| `spiderpoolController.healthChecking.readinessProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolController health checking | `3` | -| `spiderpoolController.healthChecking.readinessProbe.periodSeconds` | the period seconds of startup probe for spiderpoolController health checking | `10` | -| `spiderpoolController.webhookPort` | the http port for spiderpoolController webhook | `5722` | -| `spiderpoolController.podResourceInject.enabled` | enable pod resource inject | `false` | -| `spiderpoolController.podResourceInject.namespacesExclude` | exclude the namespaces of the pod resource inject | `["kube-system","spiderpool","metallb-system","istio-system"]` | -| `spiderpoolController.podResourceInject.namespacesInclude` | include the namespaces of the pod resource inject, empty means all namespaces but exclude the namespaces in namespacesExclude, not empty means only include the namespaces in namespacesInclude | `[]` | -| `spiderpoolController.prometheus.enabled` | enable spiderpool Controller to collect metrics | `false` | -| `spiderpoolController.prometheus.enabledDebugMetric` | enable spiderpool Controller to collect debug level metrics | `false` | -| `spiderpoolController.prometheus.port` | the metrics port of spiderpool Controller | `5721` | -| `spiderpoolController.prometheus.serviceMonitor.install` | install serviceMonitor for spiderpool agent. This requires the prometheus CRDs to be available | `false` | -| `spiderpoolController.prometheus.serviceMonitor.namespace` | the serviceMonitor namespace. Default to the namespace of helm instance | `""` | -| `spiderpoolController.prometheus.serviceMonitor.annotations` | the additional annotations of spiderpoolController serviceMonitor | `{}` | -| `spiderpoolController.prometheus.serviceMonitor.labels` | the additional label of spiderpoolController serviceMonitor | `{}` | -| `spiderpoolController.prometheus.serviceMonitor.interval` | represents the interval of spiderpoolController serviceMonitor's scraping action | `10s` | -| `spiderpoolController.prometheus.prometheusRule.install` | install prometheusRule for spiderpool agent. This requires the prometheus CRDs to be available | `false` | -| `spiderpoolController.prometheus.prometheusRule.namespace` | the prometheusRule namespace. Default to the namespace of helm instance | `""` | -| `spiderpoolController.prometheus.prometheusRule.annotations` | the additional annotations of spiderpoolController prometheusRule | `{}` | -| `spiderpoolController.prometheus.prometheusRule.labels` | the additional label of spiderpoolController prometheusRule | `{}` | -| `spiderpoolController.prometheus.prometheusRule.enableWarningIPGCFailureCounts` | the additional rule of spiderpoolController prometheusRule | `true` | -| `spiderpoolController.debug.logLevel` | the log level of spiderpool Controller [debug, info, warn, error, fatal, panic] | `info` | -| `spiderpoolController.debug.gopsPort` | the gops port of spiderpool Controller | `5724` | -| `spiderpoolController.tls.method` | the method for generating TLS certificates. [ provided , certmanager , auto] | `auto` | -| `spiderpoolController.tls.secretName` | the secret name for storing TLS certificates | `spiderpool-controller-server-certs` | -| `spiderpoolController.tls.certmanager.certValidityDuration` | generated certificates validity duration in days for 'certmanager' method | `36500` | -| `spiderpoolController.tls.certmanager.issuerName` | issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created. | `""` | -| `spiderpoolController.tls.certmanager.extraDnsNames` | extra DNS names added to certificate when it's auto generated | `[]` | -| `spiderpoolController.tls.certmanager.extraIPAddresses` | extra IP addresses added to certificate when it's auto generated | `[]` | -| `spiderpoolController.tls.provided.tlsCert` | encoded tls certificate for provided method | `""` | -| `spiderpoolController.tls.provided.tlsKey` | encoded tls key for provided method | `""` | -| `spiderpoolController.tls.provided.tlsCa` | encoded tls CA for provided method | `""` | -| `spiderpoolController.tls.auto.caExpiration` | ca expiration for auto method | `73000` | -| `spiderpoolController.tls.auto.certExpiration` | server cert expiration for auto method | `73000` | -| `spiderpoolController.tls.auto.extraIpAddresses` | extra IP addresses of server certificate for auto method | `[]` | -| `spiderpoolController.tls.auto.extraDnsNames` | extra DNS names of server cert for auto method | `[]` | -| `spiderpoolController.cleanup.enable` | clean up resources when helm uninstall | `true` | +| Name | Description | Value | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- | +| `spiderpoolController.name` | the spiderpoolController name | `spiderpool-controller` | +| `spiderpoolController.replicas` | the replicas number of spiderpoolController pod | `1` | +| `spiderpoolController.binName` | the binName name of spiderpoolController | `/usr/bin/spiderpool-controller` | +| `spiderpoolController.hostnetwork` | enable hostnetwork mode of spiderpoolController pod. Notice, if no CNI available before spiderpool installation, must enable this | `true` | +| `spiderpoolController.image.registry` | the image registry of spiderpoolController | `ghcr.io` | +| `spiderpoolController.image.repository` | the image repository of spiderpoolController | `spidernet-io/spiderpool/spiderpool-controller` | +| `spiderpoolController.image.pullPolicy` | the image pullPolicy of spiderpoolController | `IfNotPresent` | +| `spiderpoolController.image.digest` | the image digest of spiderpoolController, which takes preference over tag | `""` | +| `spiderpoolController.image.tag` | the image tag of spiderpoolController, overrides the image tag whose default is the chart appVersion. | `""` | +| `spiderpoolController.image.imagePullSecrets` | the image imagePullSecrets of spiderpoolController | `[]` | +| `spiderpoolController.serviceAccount.create` | create the service account for the spiderpoolController | `true` | +| `spiderpoolController.serviceAccount.annotations` | the annotations of spiderpoolController service account | `{}` | +| `spiderpoolController.service.annotations` | the annotations for spiderpoolController service | `{}` | +| `spiderpoolController.service.type` | the type for spiderpoolController service | `ClusterIP` | +| `spiderpoolController.priorityClassName` | the priority Class Name for spiderpoolController | `system-node-critical` | +| `spiderpoolController.affinity` | the affinity of spiderpoolController | `{}` | +| `spiderpoolController.extraArgs` | the additional arguments of spiderpoolController container | `[]` | +| `spiderpoolController.extraEnv` | the additional environment variables of spiderpoolController container | `[]` | +| `spiderpoolController.extraVolumes` | the additional volumes of spiderpoolController container | `[]` | +| `spiderpoolController.extraVolumeMounts` | the additional hostPath mounts of spiderpoolController container | `[]` | +| `spiderpoolController.podAnnotations` | the additional annotations of spiderpoolController pod | `{}` | +| `spiderpoolController.podLabels` | the additional label of spiderpoolController pod | `{}` | +| `spiderpoolController.securityContext` | the security Context of spiderpoolController pod | `{}` | +| `spiderpoolController.resources.limits.cpu` | the cpu limit of spiderpoolController pod | `500m` | +| `spiderpoolController.resources.limits.memory` | the memory limit of spiderpoolController pod | `1024Mi` | +| `spiderpoolController.resources.requests.cpu` | the cpu requests of spiderpoolController pod | `100m` | +| `spiderpoolController.resources.requests.memory` | the memory requests of spiderpoolController pod | `128Mi` | +| `spiderpoolController.podDisruptionBudget.enabled` | enable podDisruptionBudget for spiderpoolController pod | `false` | +| `spiderpoolController.podDisruptionBudget.minAvailable` | minimum number/percentage of pods that should remain scheduled. | `1` | +| `spiderpoolController.httpPort` | the http Port for spiderpoolController, for health checking and http service | `5720` | +| `spiderpoolController.healthChecking.startupProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolController health checking | `30` | +| `spiderpoolController.healthChecking.startupProbe.periodSeconds` | the period seconds of startup probe for spiderpoolController health checking | `2` | +| `spiderpoolController.healthChecking.livenessProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolController health checking | `6` | +| `spiderpoolController.healthChecking.livenessProbe.periodSeconds` | the period seconds of startup probe for spiderpoolController health checking | `10` | +| `spiderpoolController.healthChecking.readinessProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolController health checking | `3` | +| `spiderpoolController.healthChecking.readinessProbe.periodSeconds` | the period seconds of startup probe for spiderpoolController health checking | `10` | +| `spiderpoolController.webhookPort` | the http port for spiderpoolController webhook | `5722` | +| `spiderpoolController.prometheus.enabled` | enable spiderpool Controller to collect metrics | `false` | +| `spiderpoolController.prometheus.enabledDebugMetric` | enable spiderpool Controller to collect debug level metrics | `false` | +| `spiderpoolController.prometheus.port` | the metrics port of spiderpool Controller | `5721` | +| `spiderpoolController.prometheus.serviceMonitor.install` | install serviceMonitor for spiderpool agent. This requires the prometheus CRDs to be available | `false` | +| `spiderpoolController.prometheus.serviceMonitor.namespace` | the serviceMonitor namespace. Default to the namespace of helm instance | `""` | +| `spiderpoolController.prometheus.serviceMonitor.annotations` | the additional annotations of spiderpoolController serviceMonitor | `{}` | +| `spiderpoolController.prometheus.serviceMonitor.labels` | the additional label of spiderpoolController serviceMonitor | `{}` | +| `spiderpoolController.prometheus.serviceMonitor.interval` | represents the interval of spiderpoolController serviceMonitor's scraping action | `10s` | +| `spiderpoolController.prometheus.prometheusRule.install` | install prometheusRule for spiderpool agent. This requires the prometheus CRDs to be available | `false` | +| `spiderpoolController.prometheus.prometheusRule.namespace` | the prometheusRule namespace. Default to the namespace of helm instance | `""` | +| `spiderpoolController.prometheus.prometheusRule.annotations` | the additional annotations of spiderpoolController prometheusRule | `{}` | +| `spiderpoolController.prometheus.prometheusRule.labels` | the additional label of spiderpoolController prometheusRule | `{}` | +| `spiderpoolController.prometheus.prometheusRule.enableWarningIPGCFailureCounts` | the additional rule of spiderpoolController prometheusRule | `true` | +| `spiderpoolController.debug.logLevel` | the log level of spiderpool Controller [debug, info, warn, error, fatal, panic] | `info` | +| `spiderpoolController.debug.gopsPort` | the gops port of spiderpool Controller | `5724` | +| `spiderpoolController.tls.method` | the method for generating TLS certificates. [ provided , certmanager , auto] | `auto` | +| `spiderpoolController.tls.secretName` | the secret name for storing TLS certificates | `spiderpool-controller-server-certs` | +| `spiderpoolController.tls.certmanager.certValidityDuration` | generated certificates validity duration in days for 'certmanager' method | `365` | +| `spiderpoolController.tls.certmanager.issuerName` | issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created. | `""` | +| `spiderpoolController.tls.certmanager.extraDnsNames` | extra DNS names added to certificate when it's auto generated | `[]` | +| `spiderpoolController.tls.certmanager.extraIPAddresses` | extra IP addresses added to certificate when it's auto generated | `[]` | +| `spiderpoolController.tls.provided.tlsCert` | encoded tls certificate for provided method | `""` | +| `spiderpoolController.tls.provided.tlsKey` | encoded tls key for provided method | `""` | +| `spiderpoolController.tls.provided.tlsCa` | encoded tls CA for provided method | `""` | +| `spiderpoolController.tls.auto.caExpiration` | ca expiration for auto method | `73000` | +| `spiderpoolController.tls.auto.certExpiration` | server cert expiration for auto method | `73000` | +| `spiderpoolController.tls.auto.extraIpAddresses` | extra IP addresses of server certificate for auto method | `[]` | +| `spiderpoolController.tls.auto.extraDnsNames` | extra DNS names of server cert for auto method | `[]` | ### spiderpoolInit parameters @@ -393,62 +390,34 @@ helm install spiderpool spiderpool/spiderpool --wait --namespace kube-system \ ### sriov network operator parameters -| Name | Description | Value | -| ---------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | -| `sriov.install` | install sriov network operator | `false` | -| `sriov.name` | the name of sriov network operator | `spiderpool-sriov-operator` | -| `sriov.affinity` | the affinity | `{}` | -| `sriov.hostnetwork` | enable hostnetwork mode. Notice, if no CNI available before spiderpool installation, must enable this | `true` | -| `sriov.replicas` | the replicas number | `1` | -| `sriov.resourcePrefix` | the resource prefix | `spidernet.io` | -| `sriov.priorityClassName` | the priority Class Name | `system-node-critical` | -| `sriov.resources.limits.cpu` | the cpu limit | `300m` | -| `sriov.resources.limits.memory` | the memory limit | `300Mi` | -| `sriov.resources.requests.cpu` | the cpu requests | `100m` | -| `sriov.resources.requests.memory` | the memory requests | `128Mi` | -| `sriov.operatorConfig.enableInjector` | Flag to control whether the network resource injector webhook shall be deployed | `false` | -| `sriov.operatorConfig.enableOperatorWebhook` | Flag to control whether the operator admission controller webhook shall be deployed | `true` | -| `sriov.operatorConfig.logLevel` | Flag to control the log verbose level of the operator | `2` | -| `sriov.operatorConfig.disableDrain` | Flag to disable nodes drain during debugging | `true` | -| `sriov.operatorConfig.configurationMode` | Flag to enable the sriov-network-config-daemon to use a systemd service to configure SR-IOV devices on boot | `daemon` | -| `sriov.image.registry` | registry for all images | `ghcr.io` | -| `sriov.image.pullPolicy` | the image pullPolicy for all images | `IfNotPresent` | -| `sriov.image.imagePullSecrets` | the image imagePullSecrets for all images | `[]` | -| `sriov.image.operator.repository` | the image repository | `spidernet-io/sriov-network-operator` | -| `sriov.image.operator.tag` | the image tag | `v1.3.0` | -| `sriov.image.sriovConfigDaemon.repository` | the image repository | `spidernet-io/sriov-network-operator-config-daemon` | -| `sriov.image.sriovConfigDaemon.tag` | the image tag | `v1.3.0` | -| `sriov.image.sriovDevicePlugin.repository` | the image repository | `k8snetworkplumbingwg/sriov-network-device-plugin` | -| `sriov.image.sriovDevicePlugin.tag` | the image tag | `v3.7.0` | -| `sriov.image.resourcesInjector.repository` | the image repository | `k8snetworkplumbingwg/network-resources-injector` | -| `sriov.image.resourcesInjector.tag` | the image tag | `v1.6.0` | -| `sriov.image.webhook.repository` | the image repository | `k8snetworkplumbingwg/sriov-network-operator-webhook` | -| `sriov.image.webhook.tag` | the image tag | `v1.3.0` | -| `sriov.webhooktls.method` | the method for generating TLS certificates. [ provided , certmanager , auto] | `auto` | -| `sriov.webhooktls.secretName` | the secret name for storing TLS certificates | `sriov-operator-webhook` | -| `sriov.webhooktls.serviceName` | the service name of webhook. Do not modify this !!! | `operator-webhook-service` | -| `sriov.webhooktls.certmanager.certValidityDuration` | generated certificates validity duration in days for 'certmanager' method | `365` | -| `sriov.webhooktls.certmanager.issuerName` | issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created. | `""` | -| `sriov.webhooktls.certmanager.extraDnsNames` | extra DNS names added to certificate when it's auto generated | `[]` | -| `sriov.webhooktls.certmanager.extraIPAddresses` | extra IP addresses added to certificate when it's auto generated | `[]` | -| `sriov.webhooktls.provided.tlsCert` | encoded tls certificate for provided method | `""` | -| `sriov.webhooktls.provided.tlsKey` | encoded tls key for provided method | `""` | -| `sriov.webhooktls.provided.tlsCa` | encoded tls CA for provided method | `""` | -| `sriov.webhooktls.auto.caExpiration` | ca expiration for auto method | `73000` | -| `sriov.webhooktls.auto.certExpiration` | server cert expiration for auto method | `73000` | -| `sriov.webhooktls.auto.extraIpAddresses` | extra IP addresses of server certificate for auto method | `[]` | -| `sriov.webhooktls.auto.extraDnsNames` | extra DNS names of server cert for auto method | `[]` | -| `sriov.injectortls.method` | the method for generating TLS certificates. [ provided , certmanager , auto] | `auto` | -| `sriov.injectortls.secretName` | the secret name for storing TLS certificates | `sriov-injector` | -| `sriov.injectortls.serviceName` | the service name of webhook. Do not modify this !!! | `network-resources-injector-service` | -| `sriov.injectortls.certmanager.certValidityDuration` | generated certificates validity duration in days for 'certmanager' method | `36500` | -| `sriov.injectortls.certmanager.issuerName` | issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created. | `""` | -| `sriov.injectortls.certmanager.extraDnsNames` | extra DNS names added to certificate when it's auto generated | `[]` | -| `sriov.injectortls.certmanager.extraIPAddresses` | extra IP addresses added to certificate when it's auto generated | `[]` | -| `sriov.injectortls.provided.tlsCert` | encoded tls certificate for provided method | `""` | -| `sriov.injectortls.provided.tlsKey` | encoded tls key for provided method | `""` | -| `sriov.injectortls.provided.tlsCa` | encoded tls CA for provided method | `""` | -| `sriov.injectortls.auto.caExpiration` | ca expiration for auto method | `73000` | -| `sriov.injectortls.auto.certExpiration` | server cert expiration for auto method | `73000` | -| `sriov.injectortls.auto.extraIpAddresses` | extra IP addresses of server certificate for auto method | `[]` | -| `sriov.injectortls.auto.extraDnsNames` | extra DNS names of server cert for auto method | `[]` | +| Name | Description | Value | +| ------------------------------------------ | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | +| `sriov.install` | install sriov network operator | `false` | +| `sriov.name` | the name of sriov network operator | `spiderpool-sriov-operator` | +| `sriov.affinity` | the affinity | `{}` | +| `sriov.hostnetwork` | enable hostnetwork mode. Notice, if no CNI available before spiderpool installation, must enable this | `true` | +| `sriov.replicas` | the replicas number | `1` | +| `sriov.resourcePrefix` | the resource prefix | `spidernet.io` | +| `sriov.priorityClassName` | the priority Class Name | `system-node-critical` | +| `sriov.enableAdmissionController` | enable Admission Controller | `false` | +| `sriov.resources.limits.cpu` | the cpu limit | `300m` | +| `sriov.resources.limits.memory` | the memory limit | `300Mi` | +| `sriov.resources.requests.cpu` | the cpu requests | `100m` | +| `sriov.resources.requests.memory` | the memory requests | `128Mi` | +| `sriov.image.registry` | registry for all images | `ghcr.io` | +| `sriov.image.pullPolicy` | the image pullPolicy for all images | `IfNotPresent` | +| `sriov.image.imagePullSecrets` | the image imagePullSecrets for all images | `[]` | +| `sriov.image.operator.repository` | the image repository | `k8snetworkplumbingwg/sriov-network-operator` | +| `sriov.image.operator.tag` | the image tag | `v1.2.0` | +| `sriov.image.sriovConfigDaemon.repository` | the image repository | `k8snetworkplumbingwg/sriov-network-operator-config-daemon` | +| `sriov.image.sriovConfigDaemon.tag` | the image tag | `v1.2.0` | +| `sriov.image.sriovCni.repository` | the image repository | `k8snetworkplumbingwg/sriov-cni` | +| `sriov.image.sriovCni.tag` | the image tag | `v2.7.0` | +| `sriov.image.ibSriovCni.repository` | the image repository | `k8snetworkplumbingwg/ib-sriov-cni` | +| `sriov.image.ibSriovCni.tag` | the image tag | `v1.0.2` | +| `sriov.image.sriovDevicePlugin.repository` | the image repository | `k8snetworkplumbingwg/sriov-network-device-plugin` | +| `sriov.image.sriovDevicePlugin.tag` | the image tag | `v3.5.1` | +| `sriov.image.resourcesInjector.repository` | the image repository | `k8snetworkplumbingwg/network-resources-injector` | +| `sriov.image.resourcesInjector.tag` | the image tag | `v1.5` | +| `sriov.image.webhook.repository` | the image repository | `k8snetworkplumbingwg/sriov-network-operator-webhook` | +| `sriov.image.webhook.tag` | the image tag | `v1.2.0` | diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/Chart.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/Chart.yaml index d8943598d..87ab153dc 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/Chart.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: 1.0.0-rc3 +appVersion: 0.9.8 description: underlay CNI solution for kubernetes home: https://spidernet-io.github.io/spiderpool icon: https://raw.githubusercontent.com/spidernet-io/spiderpool/main/docs/images/spider.svg @@ -16,4 +16,4 @@ name: spiderpool sources: - https://github.com/spidernet-io/spiderpool type: application -version: 1.0.0-rc3 +version: 0.9.8 diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/README.md b/charts/spiderpool/spiderpool/charts/spiderpool/README.md index 1cfb0f204..b26005127 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/README.md +++ b/charts/spiderpool/spiderpool/charts/spiderpool/README.md @@ -127,20 +127,19 @@ helm install spiderpool spiderpool/spiderpool --wait --namespace kube-system \ ### ipam parameters -| Name | Description | Value | -| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------ | -| `ipam.enableIPv4` | enable ipv4 | `true` | -| `ipam.enableIPv6` | enable ipv6 | `true` | -| `ipam.enableStatefulSet` | the network mode | `true` | -| `ipam.enableKubevirtStaticIP` | the feature to keep kubevirt vm pod static IP | `true` | -| `ipam.spiderSubnet.enable` | SpiderSubnet feature. | `true` | -| `ipam.spiderSubnet.autoPool.enable` | SpiderSubnet Auto IPPool feature. | `true` | -| `ipam.spiderSubnet.autoPool.defaultRedundantIPNumber` | the default redundant IP number of SpiderSubnet feature auto-created IPPools | `1` | -| `ipam.gc.enabled` | enable retrieve IP in spiderippool CR | `true` | -| `ipam.gc.gcAll.intervalInSecond` | the gc all interval duration | `600` | -| `ipam.gc.statelessPod.zombieOnReadyNode` | enable reclaim IP for the stateless pod who is over deleting graceful period on a ready node | `true` | -| `ipam.gc.statelessPod.zombieOnNotReadyNode` | enable reclaim IP for the stateless pod who is over deleting graceful period on a not-ready node | `true` | -| `ipam.gc.gcDeletingTimeOutPodDelay` | the gc delay seconds after the pod times out of deleting graceful period | `0` | +| Name | Description | Value | +| ------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------ | +| `ipam.enableIPv4` | enable ipv4 | `true` | +| `ipam.enableIPv6` | enable ipv6 | `true` | +| `ipam.enableStatefulSet` | the network mode | `true` | +| `ipam.enableKubevirtStaticIP` | the feature to keep kubevirt vm pod static IP | `true` | +| `ipam.enableSpiderSubnet` | SpiderSubnet feature gate. | `true` | +| `ipam.subnetDefaultFlexibleIPNumber` | the default flexible IP number of SpiderSubnet feature auto-created IPPools | `1` | +| `ipam.gc.enabled` | enable retrieve IP in spiderippool CR | `true` | +| `ipam.gc.gcAll.intervalInSecond` | the gc all interval duration | `600` | +| `ipam.gc.statelessPod.zombieOnReadyNode` | enable reclaim IP for the stateless pod who is over deleting graceful period on a ready node | `true` | +| `ipam.gc.statelessPod.zombieOnNotReadyNode` | enable reclaim IP for the stateless pod who is over deleting graceful period on a not-ready node | `true` | +| `ipam.gc.gcDeletingTimeOutPodDelay` | the gc delay seconds after the pod times out of deleting graceful period | `0` | ### grafanaDashboard parameters @@ -175,7 +174,7 @@ helm install spiderpool spiderpool/spiderpool --wait --namespace kube-system \ | `rdma.rdmaSharedDevicePlugin.image.repository` | the image repository of rdma shared device plugin | `mellanox/k8s-rdma-shared-dev-plugin` | | `rdma.rdmaSharedDevicePlugin.image.pullPolicy` | the image pullPolicy of rdma shared device plugin | `IfNotPresent` | | `rdma.rdmaSharedDevicePlugin.image.digest` | the image digest of rdma shared device plugin | `""` | -| `rdma.rdmaSharedDevicePlugin.image.tag` | the image tag of rdma shared device plugin | `v1.5.1` | +| `rdma.rdmaSharedDevicePlugin.image.tag` | the image tag of rdma shared device plugin | `latest` | | `rdma.rdmaSharedDevicePlugin.image.imagePullSecrets` | the image imagePullSecrets of rdma shared device plugin | `[]` | | `rdma.rdmaSharedDevicePlugin.podAnnotations` | the additional annotations | `{}` | | `rdma.rdmaSharedDevicePlugin.podLabels` | the additional label | `{}` | @@ -184,7 +183,11 @@ helm install spiderpool spiderpool/spiderpool --wait --namespace kube-system \ | `rdma.rdmaSharedDevicePlugin.resources.requests.cpu` | the cpu requests | `100m` | | `rdma.rdmaSharedDevicePlugin.resources.requests.memory` | the memory requests | `50Mi` | | `rdma.rdmaSharedDevicePlugin.deviceConfig.periodicUpdateInterval` | periodic Update Interval | `300` | -| `rdma.rdmaSharedDevicePlugin.deviceConfig.configList` | configure the network card for the rdma resource | `[]` | +| `rdma.rdmaSharedDevicePlugin.deviceConfig.resourcePrefix` | resource prefix | `spidernet.io` | +| `rdma.rdmaSharedDevicePlugin.deviceConfig.resourceName` | resource Name | `hca_shared_devices` | +| `rdma.rdmaSharedDevicePlugin.deviceConfig.rdmaHcaMax` | rdma Hca Max | `500` | +| `rdma.rdmaSharedDevicePlugin.deviceConfig.vendors` | rdma device vendors, default to mellanox device | `15b3` | +| `rdma.rdmaSharedDevicePlugin.deviceConfig.deviceIDs` | rdma device IDs, default to mellanox device | `1017` | ### multus parameters @@ -198,7 +201,7 @@ helm install spiderpool spiderpool/spiderpool --wait --namespace kube-system \ | `multus.multusCNI.image.repository` | the multus-CNI image repository | `k8snetworkplumbingwg/multus-cni` | | `multus.multusCNI.image.pullPolicy` | the multus-CNI image pullPolicy | `IfNotPresent` | | `multus.multusCNI.image.digest` | the multus-CNI image digest | `""` | -| `multus.multusCNI.image.tag` | the multus-CNI image tag | `v3.9.3` | +| `multus.multusCNI.image.tag` | the multus-CNI image tag | `v4.1.4` | | `multus.multusCNI.image.imagePullSecrets` | the multus-CNI image imagePullSecrets | `[]` | | `multus.multusCNI.defaultCniCRName` | if this value is empty, multus will automatically get default CNI according to the existed CNI conf file in /etc/cni/net.d/, if no cni files found in /etc/cni/net.d, A Spidermultusconfig CR named default will be created, please update the related SpiderMultusConfig for default CNI after installation. The namespace of defaultCniCRName follows with the release namespace of spdierpool | `""` | | `multus.multusCNI.securityContext.privileged` | the securityContext privileged of multus-CNI daemonset pod | `true` | @@ -215,14 +218,13 @@ helm install spiderpool spiderpool/spiderpool --wait --namespace kube-system \ | `plugins.installCNI` | install all cni plugins to each node | `false` | | `plugins.installRdmaCNI` | install rdma cni used to isolate rdma device for sriov cni | `true` | | `plugins.installOvsCNI` | install ovs cni to each node | `true` | -| `plugins.installSriovCNI` | install sriov cni to each node | `true` | | `plugins.installibSriovCNI` | install ib-sriov cni to each node | `true` | | `plugins.installIpoibCNI` | install ipoib cni to each node | `true` | | `plugins.image.registry` | the image registry of plugins | `ghcr.io` | | `plugins.image.repository` | the image repository of plugins | `spidernet-io/spiderpool/spiderpool-plugins` | | `plugins.image.pullPolicy` | the image pullPolicy of plugins | `IfNotPresent` | | `plugins.image.digest` | the image digest of plugins | `""` | -| `plugins.image.tag` | the image tag of plugins | `82659d90cae0d6a5169eac2869e47c989932d775` | +| `plugins.image.tag` | the image tag of plugins | `v0.9.2` | | `plugins.image.imagePullSecrets` | the image imagePullSecrets of plugins | `[]` | ### clusterDefaultPool parameters @@ -280,7 +282,6 @@ helm install spiderpool spiderpool/spiderpool --wait --namespace kube-system \ | `spiderpoolAgent.healthChecking.readinessProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolAgent health checking | `3` | | `spiderpoolAgent.healthChecking.readinessProbe.periodSeconds` | the period seconds of startup probe for spiderpoolAgent health checking | `10` | | `spiderpoolAgent.prometheus.enabled` | enable spiderpool agent to collect metrics | `false` | -| `spiderpoolAgent.prometheus.enabledRdmaMetric` | enable spiderpool agent to collect RDMA metrics | `false` | | `spiderpoolAgent.prometheus.enabledDebugMetric` | enable spiderpool agent to collect debug level metrics | `false` | | `spiderpoolAgent.prometheus.port` | the metrics port of spiderpool agent | `5711` | | `spiderpoolAgent.prometheus.serviceMonitor.install` | install serviceMonitor for spiderpool agent. This requires the prometheus CRDs to be available | `false` | @@ -302,77 +303,73 @@ helm install spiderpool spiderpool/spiderpool --wait --namespace kube-system \ ### spiderpoolController parameters -| Name | Description | Value | -| ------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | -| `spiderpoolController.name` | the spiderpoolController name | `spiderpool-controller` | -| `spiderpoolController.replicas` | the replicas number of spiderpoolController pod | `1` | -| `spiderpoolController.binName` | the binName name of spiderpoolController | `/usr/bin/spiderpool-controller` | -| `spiderpoolController.hostnetwork` | enable hostnetwork mode of spiderpoolController pod. Notice, if no CNI available before spiderpool installation, must enable this | `true` | -| `spiderpoolController.image.registry` | the image registry of spiderpoolController | `ghcr.io` | -| `spiderpoolController.image.repository` | the image repository of spiderpoolController | `spidernet-io/spiderpool/spiderpool-controller` | -| `spiderpoolController.image.pullPolicy` | the image pullPolicy of spiderpoolController | `IfNotPresent` | -| `spiderpoolController.image.digest` | the image digest of spiderpoolController, which takes preference over tag | `""` | -| `spiderpoolController.image.tag` | the image tag of spiderpoolController, overrides the image tag whose default is the chart appVersion. | `""` | -| `spiderpoolController.image.imagePullSecrets` | the image imagePullSecrets of spiderpoolController | `[]` | -| `spiderpoolController.serviceAccount.create` | create the service account for the spiderpoolController | `true` | -| `spiderpoolController.serviceAccount.annotations` | the annotations of spiderpoolController service account | `{}` | -| `spiderpoolController.service.annotations` | the annotations for spiderpoolController service | `{}` | -| `spiderpoolController.service.type` | the type for spiderpoolController service | `ClusterIP` | -| `spiderpoolController.priorityClassName` | the priority Class Name for spiderpoolController | `system-node-critical` | -| `spiderpoolController.affinity` | the affinity of spiderpoolController | `{}` | -| `spiderpoolController.extraArgs` | the additional arguments of spiderpoolController container | `[]` | -| `spiderpoolController.extraEnv` | the additional environment variables of spiderpoolController container | `[]` | -| `spiderpoolController.extraVolumes` | the additional volumes of spiderpoolController container | `[]` | -| `spiderpoolController.extraVolumeMounts` | the additional hostPath mounts of spiderpoolController container | `[]` | -| `spiderpoolController.podAnnotations` | the additional annotations of spiderpoolController pod | `{}` | -| `spiderpoolController.podLabels` | the additional label of spiderpoolController pod | `{}` | -| `spiderpoolController.securityContext` | the security Context of spiderpoolController pod | `{}` | -| `spiderpoolController.resources.limits.cpu` | the cpu limit of spiderpoolController pod | `500m` | -| `spiderpoolController.resources.limits.memory` | the memory limit of spiderpoolController pod | `1024Mi` | -| `spiderpoolController.resources.requests.cpu` | the cpu requests of spiderpoolController pod | `100m` | -| `spiderpoolController.resources.requests.memory` | the memory requests of spiderpoolController pod | `128Mi` | -| `spiderpoolController.podDisruptionBudget.enabled` | enable podDisruptionBudget for spiderpoolController pod | `false` | -| `spiderpoolController.podDisruptionBudget.minAvailable` | minimum number/percentage of pods that should remain scheduled. | `1` | -| `spiderpoolController.httpPort` | the http Port for spiderpoolController, for health checking and http service | `5720` | -| `spiderpoolController.healthChecking.startupProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolController health checking | `30` | -| `spiderpoolController.healthChecking.startupProbe.periodSeconds` | the period seconds of startup probe for spiderpoolController health checking | `2` | -| `spiderpoolController.healthChecking.livenessProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolController health checking | `6` | -| `spiderpoolController.healthChecking.livenessProbe.periodSeconds` | the period seconds of startup probe for spiderpoolController health checking | `10` | -| `spiderpoolController.healthChecking.readinessProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolController health checking | `3` | -| `spiderpoolController.healthChecking.readinessProbe.periodSeconds` | the period seconds of startup probe for spiderpoolController health checking | `10` | -| `spiderpoolController.webhookPort` | the http port for spiderpoolController webhook | `5722` | -| `spiderpoolController.podResourceInject.enabled` | enable pod resource inject | `false` | -| `spiderpoolController.podResourceInject.namespacesExclude` | exclude the namespaces of the pod resource inject | `["kube-system","spiderpool","metallb-system","istio-system"]` | -| `spiderpoolController.podResourceInject.namespacesInclude` | include the namespaces of the pod resource inject, empty means all namespaces but exclude the namespaces in namespacesExclude, not empty means only include the namespaces in namespacesInclude | `[]` | -| `spiderpoolController.prometheus.enabled` | enable spiderpool Controller to collect metrics | `false` | -| `spiderpoolController.prometheus.enabledDebugMetric` | enable spiderpool Controller to collect debug level metrics | `false` | -| `spiderpoolController.prometheus.port` | the metrics port of spiderpool Controller | `5721` | -| `spiderpoolController.prometheus.serviceMonitor.install` | install serviceMonitor for spiderpool agent. This requires the prometheus CRDs to be available | `false` | -| `spiderpoolController.prometheus.serviceMonitor.namespace` | the serviceMonitor namespace. Default to the namespace of helm instance | `""` | -| `spiderpoolController.prometheus.serviceMonitor.annotations` | the additional annotations of spiderpoolController serviceMonitor | `{}` | -| `spiderpoolController.prometheus.serviceMonitor.labels` | the additional label of spiderpoolController serviceMonitor | `{}` | -| `spiderpoolController.prometheus.serviceMonitor.interval` | represents the interval of spiderpoolController serviceMonitor's scraping action | `10s` | -| `spiderpoolController.prometheus.prometheusRule.install` | install prometheusRule for spiderpool agent. This requires the prometheus CRDs to be available | `false` | -| `spiderpoolController.prometheus.prometheusRule.namespace` | the prometheusRule namespace. Default to the namespace of helm instance | `""` | -| `spiderpoolController.prometheus.prometheusRule.annotations` | the additional annotations of spiderpoolController prometheusRule | `{}` | -| `spiderpoolController.prometheus.prometheusRule.labels` | the additional label of spiderpoolController prometheusRule | `{}` | -| `spiderpoolController.prometheus.prometheusRule.enableWarningIPGCFailureCounts` | the additional rule of spiderpoolController prometheusRule | `true` | -| `spiderpoolController.debug.logLevel` | the log level of spiderpool Controller [debug, info, warn, error, fatal, panic] | `info` | -| `spiderpoolController.debug.gopsPort` | the gops port of spiderpool Controller | `5724` | -| `spiderpoolController.tls.method` | the method for generating TLS certificates. [ provided , certmanager , auto] | `auto` | -| `spiderpoolController.tls.secretName` | the secret name for storing TLS certificates | `spiderpool-controller-server-certs` | -| `spiderpoolController.tls.certmanager.certValidityDuration` | generated certificates validity duration in days for 'certmanager' method | `36500` | -| `spiderpoolController.tls.certmanager.issuerName` | issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created. | `""` | -| `spiderpoolController.tls.certmanager.extraDnsNames` | extra DNS names added to certificate when it's auto generated | `[]` | -| `spiderpoolController.tls.certmanager.extraIPAddresses` | extra IP addresses added to certificate when it's auto generated | `[]` | -| `spiderpoolController.tls.provided.tlsCert` | encoded tls certificate for provided method | `""` | -| `spiderpoolController.tls.provided.tlsKey` | encoded tls key for provided method | `""` | -| `spiderpoolController.tls.provided.tlsCa` | encoded tls CA for provided method | `""` | -| `spiderpoolController.tls.auto.caExpiration` | ca expiration for auto method | `73000` | -| `spiderpoolController.tls.auto.certExpiration` | server cert expiration for auto method | `73000` | -| `spiderpoolController.tls.auto.extraIpAddresses` | extra IP addresses of server certificate for auto method | `[]` | -| `spiderpoolController.tls.auto.extraDnsNames` | extra DNS names of server cert for auto method | `[]` | -| `spiderpoolController.cleanup.enable` | clean up resources when helm uninstall | `true` | +| Name | Description | Value | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- | +| `spiderpoolController.name` | the spiderpoolController name | `spiderpool-controller` | +| `spiderpoolController.replicas` | the replicas number of spiderpoolController pod | `1` | +| `spiderpoolController.binName` | the binName name of spiderpoolController | `/usr/bin/spiderpool-controller` | +| `spiderpoolController.hostnetwork` | enable hostnetwork mode of spiderpoolController pod. Notice, if no CNI available before spiderpool installation, must enable this | `true` | +| `spiderpoolController.image.registry` | the image registry of spiderpoolController | `ghcr.io` | +| `spiderpoolController.image.repository` | the image repository of spiderpoolController | `spidernet-io/spiderpool/spiderpool-controller` | +| `spiderpoolController.image.pullPolicy` | the image pullPolicy of spiderpoolController | `IfNotPresent` | +| `spiderpoolController.image.digest` | the image digest of spiderpoolController, which takes preference over tag | `""` | +| `spiderpoolController.image.tag` | the image tag of spiderpoolController, overrides the image tag whose default is the chart appVersion. | `""` | +| `spiderpoolController.image.imagePullSecrets` | the image imagePullSecrets of spiderpoolController | `[]` | +| `spiderpoolController.serviceAccount.create` | create the service account for the spiderpoolController | `true` | +| `spiderpoolController.serviceAccount.annotations` | the annotations of spiderpoolController service account | `{}` | +| `spiderpoolController.service.annotations` | the annotations for spiderpoolController service | `{}` | +| `spiderpoolController.service.type` | the type for spiderpoolController service | `ClusterIP` | +| `spiderpoolController.priorityClassName` | the priority Class Name for spiderpoolController | `system-node-critical` | +| `spiderpoolController.affinity` | the affinity of spiderpoolController | `{}` | +| `spiderpoolController.extraArgs` | the additional arguments of spiderpoolController container | `[]` | +| `spiderpoolController.extraEnv` | the additional environment variables of spiderpoolController container | `[]` | +| `spiderpoolController.extraVolumes` | the additional volumes of spiderpoolController container | `[]` | +| `spiderpoolController.extraVolumeMounts` | the additional hostPath mounts of spiderpoolController container | `[]` | +| `spiderpoolController.podAnnotations` | the additional annotations of spiderpoolController pod | `{}` | +| `spiderpoolController.podLabels` | the additional label of spiderpoolController pod | `{}` | +| `spiderpoolController.securityContext` | the security Context of spiderpoolController pod | `{}` | +| `spiderpoolController.resources.limits.cpu` | the cpu limit of spiderpoolController pod | `500m` | +| `spiderpoolController.resources.limits.memory` | the memory limit of spiderpoolController pod | `1024Mi` | +| `spiderpoolController.resources.requests.cpu` | the cpu requests of spiderpoolController pod | `100m` | +| `spiderpoolController.resources.requests.memory` | the memory requests of spiderpoolController pod | `128Mi` | +| `spiderpoolController.podDisruptionBudget.enabled` | enable podDisruptionBudget for spiderpoolController pod | `false` | +| `spiderpoolController.podDisruptionBudget.minAvailable` | minimum number/percentage of pods that should remain scheduled. | `1` | +| `spiderpoolController.httpPort` | the http Port for spiderpoolController, for health checking and http service | `5720` | +| `spiderpoolController.healthChecking.startupProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolController health checking | `30` | +| `spiderpoolController.healthChecking.startupProbe.periodSeconds` | the period seconds of startup probe for spiderpoolController health checking | `2` | +| `spiderpoolController.healthChecking.livenessProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolController health checking | `6` | +| `spiderpoolController.healthChecking.livenessProbe.periodSeconds` | the period seconds of startup probe for spiderpoolController health checking | `10` | +| `spiderpoolController.healthChecking.readinessProbe.failureThreshold` | the failure threshold of startup probe for spiderpoolController health checking | `3` | +| `spiderpoolController.healthChecking.readinessProbe.periodSeconds` | the period seconds of startup probe for spiderpoolController health checking | `10` | +| `spiderpoolController.webhookPort` | the http port for spiderpoolController webhook | `5722` | +| `spiderpoolController.prometheus.enabled` | enable spiderpool Controller to collect metrics | `false` | +| `spiderpoolController.prometheus.enabledDebugMetric` | enable spiderpool Controller to collect debug level metrics | `false` | +| `spiderpoolController.prometheus.port` | the metrics port of spiderpool Controller | `5721` | +| `spiderpoolController.prometheus.serviceMonitor.install` | install serviceMonitor for spiderpool agent. This requires the prometheus CRDs to be available | `false` | +| `spiderpoolController.prometheus.serviceMonitor.namespace` | the serviceMonitor namespace. Default to the namespace of helm instance | `""` | +| `spiderpoolController.prometheus.serviceMonitor.annotations` | the additional annotations of spiderpoolController serviceMonitor | `{}` | +| `spiderpoolController.prometheus.serviceMonitor.labels` | the additional label of spiderpoolController serviceMonitor | `{}` | +| `spiderpoolController.prometheus.serviceMonitor.interval` | represents the interval of spiderpoolController serviceMonitor's scraping action | `10s` | +| `spiderpoolController.prometheus.prometheusRule.install` | install prometheusRule for spiderpool agent. This requires the prometheus CRDs to be available | `false` | +| `spiderpoolController.prometheus.prometheusRule.namespace` | the prometheusRule namespace. Default to the namespace of helm instance | `""` | +| `spiderpoolController.prometheus.prometheusRule.annotations` | the additional annotations of spiderpoolController prometheusRule | `{}` | +| `spiderpoolController.prometheus.prometheusRule.labels` | the additional label of spiderpoolController prometheusRule | `{}` | +| `spiderpoolController.prometheus.prometheusRule.enableWarningIPGCFailureCounts` | the additional rule of spiderpoolController prometheusRule | `true` | +| `spiderpoolController.debug.logLevel` | the log level of spiderpool Controller [debug, info, warn, error, fatal, panic] | `info` | +| `spiderpoolController.debug.gopsPort` | the gops port of spiderpool Controller | `5724` | +| `spiderpoolController.tls.method` | the method for generating TLS certificates. [ provided , certmanager , auto] | `auto` | +| `spiderpoolController.tls.secretName` | the secret name for storing TLS certificates | `spiderpool-controller-server-certs` | +| `spiderpoolController.tls.certmanager.certValidityDuration` | generated certificates validity duration in days for 'certmanager' method | `365` | +| `spiderpoolController.tls.certmanager.issuerName` | issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created. | `""` | +| `spiderpoolController.tls.certmanager.extraDnsNames` | extra DNS names added to certificate when it's auto generated | `[]` | +| `spiderpoolController.tls.certmanager.extraIPAddresses` | extra IP addresses added to certificate when it's auto generated | `[]` | +| `spiderpoolController.tls.provided.tlsCert` | encoded tls certificate for provided method | `""` | +| `spiderpoolController.tls.provided.tlsKey` | encoded tls key for provided method | `""` | +| `spiderpoolController.tls.provided.tlsCa` | encoded tls CA for provided method | `""` | +| `spiderpoolController.tls.auto.caExpiration` | ca expiration for auto method | `73000` | +| `spiderpoolController.tls.auto.certExpiration` | server cert expiration for auto method | `73000` | +| `spiderpoolController.tls.auto.extraIpAddresses` | extra IP addresses of server certificate for auto method | `[]` | +| `spiderpoolController.tls.auto.extraDnsNames` | extra DNS names of server cert for auto method | `[]` | ### spiderpoolInit parameters @@ -393,62 +390,34 @@ helm install spiderpool spiderpool/spiderpool --wait --namespace kube-system \ ### sriov network operator parameters -| Name | Description | Value | -| ---------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | -| `sriov.install` | install sriov network operator | `false` | -| `sriov.name` | the name of sriov network operator | `spiderpool-sriov-operator` | -| `sriov.affinity` | the affinity | `{}` | -| `sriov.hostnetwork` | enable hostnetwork mode. Notice, if no CNI available before spiderpool installation, must enable this | `true` | -| `sriov.replicas` | the replicas number | `1` | -| `sriov.resourcePrefix` | the resource prefix | `spidernet.io` | -| `sriov.priorityClassName` | the priority Class Name | `system-node-critical` | -| `sriov.resources.limits.cpu` | the cpu limit | `300m` | -| `sriov.resources.limits.memory` | the memory limit | `300Mi` | -| `sriov.resources.requests.cpu` | the cpu requests | `100m` | -| `sriov.resources.requests.memory` | the memory requests | `128Mi` | -| `sriov.operatorConfig.enableInjector` | Flag to control whether the network resource injector webhook shall be deployed | `false` | -| `sriov.operatorConfig.enableOperatorWebhook` | Flag to control whether the operator admission controller webhook shall be deployed | `true` | -| `sriov.operatorConfig.logLevel` | Flag to control the log verbose level of the operator | `2` | -| `sriov.operatorConfig.disableDrain` | Flag to disable nodes drain during debugging | `true` | -| `sriov.operatorConfig.configurationMode` | Flag to enable the sriov-network-config-daemon to use a systemd service to configure SR-IOV devices on boot | `daemon` | -| `sriov.image.registry` | registry for all images | `ghcr.io` | -| `sriov.image.pullPolicy` | the image pullPolicy for all images | `IfNotPresent` | -| `sriov.image.imagePullSecrets` | the image imagePullSecrets for all images | `[]` | -| `sriov.image.operator.repository` | the image repository | `spidernet-io/sriov-network-operator` | -| `sriov.image.operator.tag` | the image tag | `v1.3.0` | -| `sriov.image.sriovConfigDaemon.repository` | the image repository | `spidernet-io/sriov-network-operator-config-daemon` | -| `sriov.image.sriovConfigDaemon.tag` | the image tag | `v1.3.0` | -| `sriov.image.sriovDevicePlugin.repository` | the image repository | `k8snetworkplumbingwg/sriov-network-device-plugin` | -| `sriov.image.sriovDevicePlugin.tag` | the image tag | `v3.7.0` | -| `sriov.image.resourcesInjector.repository` | the image repository | `k8snetworkplumbingwg/network-resources-injector` | -| `sriov.image.resourcesInjector.tag` | the image tag | `v1.6.0` | -| `sriov.image.webhook.repository` | the image repository | `k8snetworkplumbingwg/sriov-network-operator-webhook` | -| `sriov.image.webhook.tag` | the image tag | `v1.3.0` | -| `sriov.webhooktls.method` | the method for generating TLS certificates. [ provided , certmanager , auto] | `auto` | -| `sriov.webhooktls.secretName` | the secret name for storing TLS certificates | `sriov-operator-webhook` | -| `sriov.webhooktls.serviceName` | the service name of webhook. Do not modify this !!! | `operator-webhook-service` | -| `sriov.webhooktls.certmanager.certValidityDuration` | generated certificates validity duration in days for 'certmanager' method | `365` | -| `sriov.webhooktls.certmanager.issuerName` | issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created. | `""` | -| `sriov.webhooktls.certmanager.extraDnsNames` | extra DNS names added to certificate when it's auto generated | `[]` | -| `sriov.webhooktls.certmanager.extraIPAddresses` | extra IP addresses added to certificate when it's auto generated | `[]` | -| `sriov.webhooktls.provided.tlsCert` | encoded tls certificate for provided method | `""` | -| `sriov.webhooktls.provided.tlsKey` | encoded tls key for provided method | `""` | -| `sriov.webhooktls.provided.tlsCa` | encoded tls CA for provided method | `""` | -| `sriov.webhooktls.auto.caExpiration` | ca expiration for auto method | `73000` | -| `sriov.webhooktls.auto.certExpiration` | server cert expiration for auto method | `73000` | -| `sriov.webhooktls.auto.extraIpAddresses` | extra IP addresses of server certificate for auto method | `[]` | -| `sriov.webhooktls.auto.extraDnsNames` | extra DNS names of server cert for auto method | `[]` | -| `sriov.injectortls.method` | the method for generating TLS certificates. [ provided , certmanager , auto] | `auto` | -| `sriov.injectortls.secretName` | the secret name for storing TLS certificates | `sriov-injector` | -| `sriov.injectortls.serviceName` | the service name of webhook. Do not modify this !!! | `network-resources-injector-service` | -| `sriov.injectortls.certmanager.certValidityDuration` | generated certificates validity duration in days for 'certmanager' method | `36500` | -| `sriov.injectortls.certmanager.issuerName` | issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created. | `""` | -| `sriov.injectortls.certmanager.extraDnsNames` | extra DNS names added to certificate when it's auto generated | `[]` | -| `sriov.injectortls.certmanager.extraIPAddresses` | extra IP addresses added to certificate when it's auto generated | `[]` | -| `sriov.injectortls.provided.tlsCert` | encoded tls certificate for provided method | `""` | -| `sriov.injectortls.provided.tlsKey` | encoded tls key for provided method | `""` | -| `sriov.injectortls.provided.tlsCa` | encoded tls CA for provided method | `""` | -| `sriov.injectortls.auto.caExpiration` | ca expiration for auto method | `73000` | -| `sriov.injectortls.auto.certExpiration` | server cert expiration for auto method | `73000` | -| `sriov.injectortls.auto.extraIpAddresses` | extra IP addresses of server certificate for auto method | `[]` | -| `sriov.injectortls.auto.extraDnsNames` | extra DNS names of server cert for auto method | `[]` | +| Name | Description | Value | +| ------------------------------------------ | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | +| `sriov.install` | install sriov network operator | `false` | +| `sriov.name` | the name of sriov network operator | `spiderpool-sriov-operator` | +| `sriov.affinity` | the affinity | `{}` | +| `sriov.hostnetwork` | enable hostnetwork mode. Notice, if no CNI available before spiderpool installation, must enable this | `true` | +| `sriov.replicas` | the replicas number | `1` | +| `sriov.resourcePrefix` | the resource prefix | `spidernet.io` | +| `sriov.priorityClassName` | the priority Class Name | `system-node-critical` | +| `sriov.enableAdmissionController` | enable Admission Controller | `false` | +| `sriov.resources.limits.cpu` | the cpu limit | `300m` | +| `sriov.resources.limits.memory` | the memory limit | `300Mi` | +| `sriov.resources.requests.cpu` | the cpu requests | `100m` | +| `sriov.resources.requests.memory` | the memory requests | `128Mi` | +| `sriov.image.registry` | registry for all images | `ghcr.io` | +| `sriov.image.pullPolicy` | the image pullPolicy for all images | `IfNotPresent` | +| `sriov.image.imagePullSecrets` | the image imagePullSecrets for all images | `[]` | +| `sriov.image.operator.repository` | the image repository | `k8snetworkplumbingwg/sriov-network-operator` | +| `sriov.image.operator.tag` | the image tag | `v1.2.0` | +| `sriov.image.sriovConfigDaemon.repository` | the image repository | `k8snetworkplumbingwg/sriov-network-operator-config-daemon` | +| `sriov.image.sriovConfigDaemon.tag` | the image tag | `v1.2.0` | +| `sriov.image.sriovCni.repository` | the image repository | `k8snetworkplumbingwg/sriov-cni` | +| `sriov.image.sriovCni.tag` | the image tag | `v2.7.0` | +| `sriov.image.ibSriovCni.repository` | the image repository | `k8snetworkplumbingwg/ib-sriov-cni` | +| `sriov.image.ibSriovCni.tag` | the image tag | `v1.0.2` | +| `sriov.image.sriovDevicePlugin.repository` | the image repository | `k8snetworkplumbingwg/sriov-network-device-plugin` | +| `sriov.image.sriovDevicePlugin.tag` | the image tag | `v3.5.1` | +| `sriov.image.resourcesInjector.repository` | the image repository | `k8snetworkplumbingwg/network-resources-injector` | +| `sriov.image.resourcesInjector.tag` | the image tag | `v1.5` | +| `sriov.image.webhook.repository` | the image repository | `k8snetworkplumbingwg/sriov-network-operator-webhook` | +| `sriov.image.webhook.tag` | the image tag | `v1.2.0` | diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/crds/k8s.cni.cncf.io_networkattachmentdefinitions_crd.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/crds/k8s.cni.cncf.io_networkattachmentdefinitions_crd.yaml index 5916055f0..8319ebae9 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/crds/k8s.cni.cncf.io_networkattachmentdefinitions_crd.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/crds/k8s.cni.cncf.io_networkattachmentdefinitions_crd.yaml @@ -1,16 +1,3 @@ -# Copyright 2020 NVIDIA -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: @@ -23,7 +10,7 @@ spec: singular: network-attachment-definition kind: NetworkAttachmentDefinition shortNames: - - net-attach-def + - net-attach-def versions: - name: v1 served: true diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spiderclaimparameters.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spiderclaimparameters.yaml deleted file mode 100644 index 124c355f8..000000000 --- a/charts/spiderpool/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spiderclaimparameters.yaml +++ /dev/null @@ -1,92 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: (unknown) - name: spiderclaimparameters.spiderpool.spidernet.io -spec: - group: spiderpool.spidernet.io - names: - categories: - - spiderpool - kind: SpiderClaimParameter - listKind: SpiderClaimParameterList - plural: spiderclaimparameters - shortNames: - - scp - singular: spiderclaimparameter - scope: Namespaced - versions: - - name: v2beta1 - schema: - openAPIV3Schema: - description: SpiderClaimParameter is the Schema for the spiderclaimparameters - API. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: ClaimParameterSpec defines the desired state of SpiderClaimParameter. - properties: - defaultNic: - description: DefaultNic aSpecify which SpiderMultusConfig is to be - used as the default NIC for the pod. - properties: - defaultRoute: - description: DefaultRoute indicated whether this nic is the default - route nic for the pod - type: boolean - multusName: - description: MultusName the name of the SpiderMultusConfig instance - type: string - namespace: - description: Namespace the namespace of the SpiderMultusConfig - instance - type: string - required: - - multusName - - namespace - type: object - enableRdma: - default: false - description: EnableRDMA If it is true, then all SpiderMultusConfig - references in this SpiderClaimParameter must be enabled. - type: boolean - secondaryNics: - description: SecondaryNics a list of SpiderMultusConfig references - that are to be used as secondary NICs for the pod. - items: - properties: - defaultRoute: - description: DefaultRoute indicated whether this nic is the - default route nic for the pod - type: boolean - multusName: - description: MultusName the name of the SpiderMultusConfig instance - type: string - namespace: - description: Namespace the namespace of the SpiderMultusConfig - instance - type: string - required: - - multusName - - namespace - type: object - type: array - required: - - enableRdma - type: object - type: object - served: true - storage: true diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spiderippools.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spiderippools.yaml index 4753a3b4d..cedcdd05f 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spiderippools.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spiderippools.yaml @@ -137,13 +137,11 @@ spec: items: type: string type: array - x-kubernetes-list-type: atomic required: - key - operator type: object type: array - x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -191,13 +189,11 @@ spec: items: type: string type: array - x-kubernetes-list-type: atomic required: - key - operator type: object type: array - x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -245,13 +241,11 @@ spec: items: type: string type: array - x-kubernetes-list-type: atomic required: - key - operator type: object type: array - x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spidermultusconfigs.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spidermultusconfigs.yaml index 461d27a56..01daa9e89 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spidermultusconfigs.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/crds/spiderpool.spidernet.io_spidermultusconfigs.yaml @@ -229,10 +229,6 @@ spec: - mode - name type: object - enableRdma: - default: false - description: enable share rdma for ipvlan - type: boolean ippools: description: SpiderpoolPools could specify the IPAM spiderpool CNI configuration default IPv4&IPv6 pools. @@ -250,11 +246,6 @@ spec: items: type: string type: array - rdmaResourceName: - description: Resource name of the rdma device-plugin, If it's - empty and enableRdma is true, the value will be auto set by - operator. and the user can also set this value manually. - type: string vlanID: format: int32 maximum: 4094 @@ -280,10 +271,6 @@ spec: - mode - name type: object - enableRdma: - default: false - description: enable share rdma for macvlan - type: boolean ippools: description: SpiderpoolPools could specify the IPAM spiderpool CNI configuration default IPv4&IPv6 pools. @@ -301,11 +288,6 @@ spec: items: type: string type: array - rdmaResourceName: - description: Resource name of the rdma device-plugin, If it's - empty and enableRdma is true, the value will be auto set by - operator. and the user can also set this value manually. - type: string vlanID: format: int32 maximum: 4094 diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_ovsnetworks.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_ovsnetworks.yaml deleted file mode 100644 index 8c4f8f967..000000000 --- a/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_ovsnetworks.yaml +++ /dev/null @@ -1,105 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.14.0 - name: ovsnetworks.sriovnetwork.openshift.io -spec: - group: sriovnetwork.openshift.io - names: - kind: OVSNetwork - listKind: OVSNetworkList - plural: ovsnetworks - singular: ovsnetwork - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - description: OVSNetwork is the Schema for the ovsnetworks API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: OVSNetworkSpec defines the desired state of OVSNetwork - properties: - bridge: - description: |- - name of the OVS bridge, if not set OVS will automatically select bridge - based on VF PCI address - type: string - capabilities: - description: |- - Capabilities to be configured for this network. - Capabilities supported: (mac|ips), e.g. '{"mac": true}' - type: string - interfaceType: - description: The type of interface on ovs. - type: string - ipam: - description: IPAM configuration to be used for this network. - type: string - metaPlugins: - description: MetaPluginsConfig configuration to be used in order to - chain metaplugins - type: string - mtu: - description: Mtu for the OVS port - type: integer - networkNamespace: - description: Namespace of the NetworkAttachmentDefinition custom resource - type: string - resourceName: - description: OVS Network device plugin endpoint resource name - type: string - trunk: - description: Trunk configuration for the OVS port - items: - description: TrunkConfig contains configuration for bridge trunk - properties: - id: - maximum: 4095 - minimum: 0 - type: integer - maxID: - maximum: 4095 - minimum: 0 - type: integer - minID: - maximum: 4095 - minimum: 0 - type: integer - type: object - type: array - vlan: - description: Vlan to assign for the OVS port - maximum: 4095 - minimum: 0 - type: integer - required: - - resourceName - type: object - status: - description: OVSNetworkStatus defines the observed state of OVSNetwork - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovibnetworks.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovibnetworks.yaml index 4b4b44d92..e44e19564 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovibnetworks.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovibnetworks.yaml @@ -1,9 +1,9 @@ ---- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.9.0 + creationTimestamp: null name: sriovibnetworks.sriovnetwork.openshift.io spec: group: sriovnetwork.openshift.io @@ -20,19 +20,14 @@ spec: description: SriovIBNetwork is the Schema for the sriovibnetworks API properties: apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -40,9 +35,8 @@ spec: description: SriovIBNetworkSpec defines the desired state of SriovIBNetwork properties: capabilities: - description: |- - Capabilities to be configured for this network. - Capabilities supported: (infinibandGUID), e.g. '{"infinibandGUID": true}' + description: 'Capabilities to be configured for this network. Capabilities + supported: (infinibandGUID), e.g. ''{"infinibandGUID": true}''' type: string ipam: description: IPAM configuration to be used for this network. @@ -55,9 +49,8 @@ spec: - disable type: string metaPlugins: - description: |- - MetaPluginsConfig configuration to be used in order to chain metaplugins to the sriov interface returned - by the operator. + description: MetaPluginsConfig configuration to be used in order to + chain metaplugins to the sriov interface returned by the operator. type: string networkNamespace: description: Namespace of the NetworkAttachmentDefinition custom resource diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworknodepolicies.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworknodepolicies.yaml index 36c1050ea..1b8db4db8 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworknodepolicies.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworknodepolicies.yaml @@ -1,9 +1,9 @@ ---- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.9.0 + creationTimestamp: null name: sriovnetworknodepolicies.sriovnetwork.openshift.io spec: group: sriovnetwork.openshift.io @@ -21,88 +21,21 @@ spec: API properties: apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: description: SriovNetworkNodePolicySpec defines the desired state of SriovNetworkNodePolicy properties: - bridge: - description: |- - contains bridge configuration for matching PFs, - valid only for eSwitchMode==switchdev - properties: - ovs: - description: contains configuration for the OVS bridge, - properties: - bridge: - description: contains bridge level settings - properties: - datapathType: - description: configure datapath_type field in the Bridge - table in OVSDB - type: string - externalIDs: - additionalProperties: - type: string - description: IDs to inject to external_ids field in the - Bridge table in OVSDB - type: object - otherConfig: - additionalProperties: - type: string - description: additional options to inject to other_config - field in the bridge table in OVSDB - type: object - type: object - uplink: - description: contains settings for uplink (PF) - properties: - interface: - description: contains settings for PF interface in the - OVS bridge - properties: - externalIDs: - additionalProperties: - type: string - description: external_ids field in the Interface table - in OVSDB - type: object - options: - additionalProperties: - type: string - description: options field in the Interface table - in OVSDB - type: object - otherConfig: - additionalProperties: - type: string - description: other_config field in the Interface table - in OVSDB - type: object - type: - description: type field in the Interface table in - OVSDB - type: string - type: object - type: object - type: object - type: object deviceType: - default: netdevice description: The driver type for configured VFs. Allowed value "netdevice", "vfio-pci". Defaults to netdevice. enum: @@ -119,10 +52,6 @@ spec: description: Exclude device's NUMA node when advertising this resource by SRIOV network device plugin. Default to false. type: boolean - externallyManaged: - description: don't create the virtual function only allocated them - to the device plugin. Defaults to false. - type: boolean isRdma: description: RDMA mode. Defaults to false. type: boolean diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworknodestates.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworknodestates.yaml index c5bf230c3..61ff0409a 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworknodestates.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworknodestates.yaml @@ -1,9 +1,9 @@ ---- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.9.0 + creationTimestamp: null name: sriovnetworknodestates.sriovnetwork.openshift.io spec: group: sriovnetwork.openshift.io @@ -18,12 +18,6 @@ spec: - jsonPath: .status.syncStatus name: Sync Status type: string - - jsonPath: .metadata.annotations.sriovnetwork\.openshift\.io/desired-state - name: Desired Sync State - type: string - - jsonPath: .metadata.annotations.sriovnetwork\.openshift\.io/current-state - name: Current Sync State - type: string - jsonPath: .metadata.creationTimestamp name: Age type: date @@ -34,113 +28,27 @@ spec: API properties: apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: description: SriovNetworkNodeStateSpec defines the desired state of SriovNetworkNodeState properties: - bridges: - description: Bridges contains list of bridges - properties: - ovs: - items: - description: OVSConfigExt contains configuration for the concrete - OVS bridge - properties: - bridge: - description: bridge-level configuration for the bridge - properties: - datapathType: - description: configure datapath_type field in the Bridge - table in OVSDB - type: string - externalIDs: - additionalProperties: - type: string - description: IDs to inject to external_ids field in - the Bridge table in OVSDB - type: object - otherConfig: - additionalProperties: - type: string - description: additional options to inject to other_config - field in the bridge table in OVSDB - type: object - type: object - name: - description: name of the bridge - type: string - uplinks: - description: |- - uplink-level bridge configuration for each uplink(PF). - currently must contain only one element - items: - description: OVSUplinkConfigExt contains configuration - for the concrete OVS uplink(PF) - properties: - interface: - description: configuration from the Interface OVS - table for the PF - properties: - externalIDs: - additionalProperties: - type: string - description: external_ids field in the Interface - table in OVSDB - type: object - options: - additionalProperties: - type: string - description: options field in the Interface table - in OVSDB - type: object - otherConfig: - additionalProperties: - type: string - description: other_config field in the Interface - table in OVSDB - type: object - type: - description: type field in the Interface table - in OVSDB - type: string - type: object - name: - description: name of the PF interface - type: string - pciAddress: - description: pci address of the PF - type: string - required: - - pciAddress - type: object - type: array - required: - - name - type: object - type: array - type: object + dpConfigVersion: + type: string interfaces: items: properties: eSwitchMode: type: string - externallyManaged: - type: boolean linkType: type: string mtu: @@ -179,87 +87,6 @@ spec: description: SriovNetworkNodeStateStatus defines the observed state of SriovNetworkNodeState properties: - bridges: - description: Bridges contains list of bridges - properties: - ovs: - items: - description: OVSConfigExt contains configuration for the concrete - OVS bridge - properties: - bridge: - description: bridge-level configuration for the bridge - properties: - datapathType: - description: configure datapath_type field in the Bridge - table in OVSDB - type: string - externalIDs: - additionalProperties: - type: string - description: IDs to inject to external_ids field in - the Bridge table in OVSDB - type: object - otherConfig: - additionalProperties: - type: string - description: additional options to inject to other_config - field in the bridge table in OVSDB - type: object - type: object - name: - description: name of the bridge - type: string - uplinks: - description: |- - uplink-level bridge configuration for each uplink(PF). - currently must contain only one element - items: - description: OVSUplinkConfigExt contains configuration - for the concrete OVS uplink(PF) - properties: - interface: - description: configuration from the Interface OVS - table for the PF - properties: - externalIDs: - additionalProperties: - type: string - description: external_ids field in the Interface - table in OVSDB - type: object - options: - additionalProperties: - type: string - description: options field in the Interface table - in OVSDB - type: object - otherConfig: - additionalProperties: - type: string - description: other_config field in the Interface - table in OVSDB - type: object - type: - description: type field in the Interface table - in OVSDB - type: string - type: object - name: - description: name of the PF interface - type: string - pciAddress: - description: pci address of the PF - type: string - required: - - pciAddress - type: object - type: array - required: - - name - type: object - type: array - type: object interfaces: items: properties: @@ -274,8 +101,6 @@ spec: type: string driver: type: string - guid: - type: string mac: type: string mtu: @@ -284,10 +109,6 @@ spec: type: string pciAddress: type: string - representorName: - type: string - vdpaType: - type: string vendor: type: string vfID: @@ -303,10 +124,6 @@ spec: type: string eSwitchMode: type: string - externallyManaged: - type: boolean - linkAdminState: - type: string linkSpeed: type: string linkType: diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworkpoolconfigs.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworkpoolconfigs.yaml index 2cb2ece31..59d0e7b71 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworkpoolconfigs.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworkpoolconfigs.yaml @@ -1,9 +1,9 @@ ---- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.9.0 + creationTimestamp: null name: sriovnetworkpoolconfigs.sriovnetwork.openshift.io spec: group: sriovnetwork.openshift.io @@ -21,94 +21,29 @@ spec: API properties: apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: description: SriovNetworkPoolConfigSpec defines the desired state of SriovNetworkPoolConfig properties: - maxUnavailable: - anyOf: - - type: integer - - type: string - description: |- - maxUnavailable defines either an integer number or percentage - of nodes in the pool that can go Unavailable during an update. - - - A value larger than 1 will mean multiple nodes going unavailable during - the update, which may affect your workload stress on the remaining nodes. - Drain will respect Pod Disruption Budgets (PDBs) such as etcd quorum guards, - even if maxUnavailable is greater than one. - x-kubernetes-int-or-string: true - nodeSelector: - description: nodeSelector specifies a label selector for Nodes - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. - The requirements are ANDed. - items: - description: |- - A label selector requirement is a selector that contains values, a key, and an operator that - relates the key and values. - properties: - key: - description: key is the label key that the selector applies - to. - type: string - operator: - description: |- - operator represents a key's relationship to a set of values. - Valid operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: |- - values is an array of string values. If the operator is In or NotIn, - the values array must be non-empty. If the operator is Exists or DoesNotExist, - the values array must be empty. This array is replaced during a strategic - merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: |- - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", the - operator is "In", and the values array contains only "value". The requirements are ANDed. - type: object - type: object - x-kubernetes-map-type: atomic ovsHardwareOffloadConfig: description: OvsHardwareOffloadConfig describes the OVS HWOL configuration for selected Nodes properties: name: - description: |- - Name is mandatory and must be unique. - On Kubernetes: - Name is the name of OvsHardwareOffloadConfig - On OpenShift: - Name is the name of MachineConfigPool to be enabled with OVS hardware offload + description: 'Name is mandatory and must be unique. On Kubernetes: + Name is the name of OvsHardwareOffloadConfig On OpenShift: Name + is the name of MachineConfigPool to be enabled with OVS hardware + offload' type: string type: object type: object diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworks.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworks.yaml index e33b9a3ed..7c03ad275 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworks.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovnetworks.yaml @@ -1,9 +1,9 @@ ---- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.9.0 + creationTimestamp: null name: sriovnetworks.sriovnetwork.openshift.io spec: group: sriovnetwork.openshift.io @@ -20,19 +20,14 @@ spec: description: SriovNetwork is the Schema for the sriovnetworks API properties: apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -40,9 +35,8 @@ spec: description: SriovNetworkSpec defines the desired state of SriovNetwork properties: capabilities: - description: |- - Capabilities to be configured for this network. - Capabilities supported: (mac|ips), e.g. '{"mac": true}' + description: 'Capabilities to be configured for this network. Capabilities + supported: (mac|ips), e.g. ''{"mac": true}''' type: string ipam: description: IPAM configuration to be used for this network. @@ -54,33 +48,14 @@ spec: - enable - disable type: string - logFile: - description: |- - LogFile sets the log file of the SRIOV CNI plugin logs. If unset (default), this will log to stderr and thus - to multus and container runtime logs. - type: string - logLevel: - default: info - description: |- - LogLevel sets the log level of the SRIOV CNI plugin - either of panic, error, warning, info, debug. Defaults - to info if left blank. - enum: - - panic - - error - - warning - - info - - debug - - "" - type: string maxTxRate: description: Maximum tx rate, in Mbps, for the VF. Defaults to 0 (no rate limiting) minimum: 0 type: integer metaPlugins: - description: |- - MetaPluginsConfig configuration to be used in order to chain metaplugins to the sriov interface returned - by the operator. + description: MetaPluginsConfig configuration to be used in order to + chain metaplugins to the sriov interface returned by the operator. type: string minTxRate: description: Minimum tx rate, in Mbps, for the VF. Defaults to 0 (no @@ -110,14 +85,6 @@ spec: maximum: 4096 minimum: 0 type: integer - vlanProto: - description: VLAN proto to assign for the VF. Defaults to 802.1q. - enum: - - 802.1q - - 802.1Q - - 802.1ad - - 802.1AD - type: string vlanQoS: description: VLAN QoS ID to assign for the VF. Defaults to 0. maximum: 7 diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovoperatorconfigs.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovoperatorconfigs.yaml index 5d944910d..fb1e76df6 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovoperatorconfigs.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/crds/sriovnetwork.openshift.io_sriovoperatorconfigs.yaml @@ -1,9 +1,9 @@ ---- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.9.0 + creationTimestamp: null name: sriovoperatorconfigs.sriovnetwork.openshift.io spec: group: sriovnetwork.openshift.io @@ -21,19 +21,14 @@ spec: API properties: apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object @@ -46,9 +41,9 @@ spec: description: NodeSelector selects the nodes to be configured type: object configurationMode: - description: |- - Flag to enable the sriov-network-config-daemon to use a systemd service to configure SR-IOV devices on boot - Default mode: daemon + description: 'Flag to enable the sriov-network-config-daemon to use + a systemd service to configure SR-IOV devices on boot Default mode: + daemon' enum: - daemon - systemd @@ -56,15 +51,6 @@ spec: disableDrain: description: Flag to disable nodes drain during debugging type: boolean - disablePlugins: - description: DisablePlugins is a list of sriov-network-config-daemon - plugins to disable - items: - description: PluginNameValue defines the plugin name - enum: - - mellanox - type: string - type: array enableInjector: description: Flag to control whether the network resource injector webhook shall be deployed @@ -78,11 +64,6 @@ spec: provision switchdev-configuration.service and enable OpenvSwitch hw-offload on nodes. type: boolean - featureGates: - additionalProperties: - type: boolean - description: FeatureGates to enable experimental features - type: object logLevel: description: Flag to control the log verbose level of the operator. Set to '0' to show only the basic logs. And set to '2' to show all @@ -90,10 +71,6 @@ spec: maximum: 2 minimum: 0 type: integer - useCDI: - description: Flag to enable Container Device Interface mode for SR-IOV - Network Device Plugin - type: boolean type: object status: description: SriovOperatorConfigStatus defines the observed state of SriovOperatorConfig diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/files/grafana-rdma-cluster.json b/charts/spiderpool/spiderpool/charts/spiderpool/files/grafana-rdma-cluster.json deleted file mode 100644 index 3f47706e7..000000000 --- a/charts/spiderpool/spiderpool/charts/spiderpool/files/grafana-rdma-cluster.json +++ /dev/null @@ -1,1429 +0,0 @@ -{ - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": 10, - "links": [], - "liveNow": false, - "panels": [ - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 16, - "panels": [], - "title": "Summary", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 12, - "x": 0, - "y": 1 - }, - "id": 9, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.3.14", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "count(count(rdma_tx_vport_rdma_unicast_bytes_total{pod_name!=\"\"}) by (node_name))", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Number of RDMA-Capable Nodes", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 12, - "x": 12, - "y": 1 - }, - "id": 2, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "9.3.14", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "count(count(rdma_tx_vport_rdma_unicast_bytes_total{pod_name!=\"\"}) by (pod_name))", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "RDMA Pod Count", - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 20, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "bytes" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "10-20-1-60" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "purple", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "10-20-1-50" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 5 - }, - "id": 7, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "sum by (node_name) (\n rate(rdma_rx_vport_rdma_unicast_bytes_total[5m]) +\n rate(rdma_rx_vport_rdma_multicast_bytes_total[5m])\n)", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Node Bandwidth | Read", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "10-20-1-50" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "10-20-1-60" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "purple", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 5 - }, - "id": 8, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "sum by (node_name) (\n rate(rdma_tx_vport_rdma_unicast_bytes_total[5m]) +\n rate(rdma_tx_vport_rdma_multicast_bytes_total[5m])\n)", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Node Bandwidth | Write", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "percent" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "10-20-1-50" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "10-20-1-60" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "purple", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 13 - }, - "id": 4, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "sum by (node_name) (\n rate(rdma_rx_vport_rdma_unicast_bytes_total{}[3m]) + rate(rdma_rx_vport_rdma_multicast_bytes_total[3m])\n)\n/ sum by (node_name) (rdma_vport_speed_mbps_total{is_root=\"true\"} * 1000000 / 8) * 100", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Rate of Bandwidth | Node | Read", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "percent" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "10-20-1-50" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "10-20-1-60" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "purple", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 13 - }, - "id": 5, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "sum by (node_name) (\n rate(rdma_tx_vport_rdma_unicast_bytes_total{}[3m]) + rate(rdma_tx_vport_rdma_multicast_bytes_total[3m])\n)\n/ sum by (node_name) (rdma_vport_speed_mbps_total{is_root=\"true\"} * 1000000 / 8) * 100", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Rate of Bandwidth | Node | Write", - "type": "timeseries" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 21 - }, - "id": 18, - "panels": [], - "title": "Top traffic", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "10-20-1-50" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "10-20-1-60" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "purple", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 22 - }, - "id": 11, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "right", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "topk(\n 10,\n sum by (node_name) (\n rate(rdma_rx_vport_rdma_unicast_bytes_total[5m]) +\n rate(rdma_rx_vport_rdma_multicast_bytes_total[5m])\n )\n)", - "legendFormat": "{{node_name}}", - "range": true, - "refId": "A" - } - ], - "title": "Node Top 10 | Bandwidth | Read", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "10-20-1-50" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "10-20-1-60" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "purple", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 22 - }, - "id": 12, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "right", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "topk(\n 10,\n sum by (node_name) (\n rate(rdma_tx_vport_rdma_unicast_bytes_total[5m]) +\n rate(rdma_tx_vport_rdma_multicast_bytes_total[5m])\n )\n)", - "legendFormat": "{{node_name}}", - "range": true, - "refId": "A" - } - ], - "title": "Node Top 10 | Bandwidth | Write", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "percent" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "10-20-1-50" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "10-20-1-60" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "purple", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 30 - }, - "id": 19, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "right", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "topk(\n 10,\nsum by (node_name) (\n rate(rdma_rx_vport_rdma_unicast_bytes_total{}[3m]) + rate(rdma_rx_vport_rdma_multicast_bytes_total[3m])\n)\n/ sum by (node_name) (rdma_vport_speed_mbps_total{is_root=\"true\"} * 1000000 / 8) * 100\n)", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Node Top 10 | Rate of Bandwidth | Read", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "percent" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "10-20-1-50" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "10-20-1-60" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "purple", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 30 - }, - "id": 20, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "right", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "topk(\n 10,\nsum by (node_name) (\n rate(rdma_tx_vport_rdma_unicast_bytes_total{}[3m]) + rate(rdma_tx_vport_rdma_multicast_bytes_total[3m])\n)\n/ sum by (node_name) (rdma_vport_speed_mbps_total{is_root=\"true\"} * 1000000 / 8) * 100\n)", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Node Top 10 | Rate of Bandwidth | Write", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "rdma-test-gpu-tool-jgt9t" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "#73BF69", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "rdma-test-gpu-tool-n792j" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "#ffc0cb", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 38 - }, - "id": 13, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "right", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "topk(\n 10,\n sum by (pod_name) (\n (\n rate(rdma_rx_vport_rdma_unicast_bytes_total{pod_name!=\"\"}[5m]) +\n rate(rdma_rx_vport_rdma_multicast_bytes_total{pod_name!=\"\"}[5m])\n )\n )\n)", - "legendFormat": "{{node_name}}", - "range": true, - "refId": "A" - } - ], - "title": "Pod Top 10 | Bandwidth | Read", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 3, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "rdma-test-gpu-tool-n792j" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "#ffc0cb", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 38 - }, - "id": 14, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "right", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "topk(\n 10,\n sum by (pod_name) (\n (\n rate(rdma_tx_vport_rdma_unicast_bytes_total{pod_name!=\"\"}[5m]) +\n rate(rdma_tx_vport_rdma_multicast_bytes_total{pod_name!=\"\"}[5m])\n )\n )\n)", - "legendFormat": "{{node_name}}", - "range": true, - "refId": "A" - } - ], - "title": "Pod Top 10 | Bandwidth | Write", - "type": "timeseries" - } - ], - "refresh": false, - "schemaVersion": 37, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "current": { - "selected": false, - "text": "Prometheus", - "value": "Prometheus" - }, - "hide": 2, - "includeAll": false, - "label": "Data source", - "multi": false, - "name": "datasource", - "options": [], - "query": "prometheus", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "type": "datasource" - } - ] - }, - "time": { - "from": "now-6h", - "to": "now" - }, - "timepicker": {}, - "timezone": "", - "title": "Spiderpool RDMA | Cluster", - "uid": "2ZOHs2ZHk", - "version": 24, - "weekStart": "" -} \ No newline at end of file diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/files/grafana-rdma-node.json b/charts/spiderpool/spiderpool/charts/spiderpool/files/grafana-rdma-node.json deleted file mode 100644 index b75fa5b60..000000000 --- a/charts/spiderpool/spiderpool/charts/spiderpool/files/grafana-rdma-node.json +++ /dev/null @@ -1,1101 +0,0 @@ -{ - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": 7, - "links": [], - "liveNow": false, - "panels": [ - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 11, - "panels": [], - "title": "Physical Network Card", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 17, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "smooth", - "lineStyle": { - "fill": "solid" - }, - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "normal" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "bytes" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "ibp8s0" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "green", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 1 - }, - "id": 23, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "sum by (rdma_parent_name) (\n rate(rdma_rx_vport_rdma_unicast_bytes_total{node_name=~\"$node\"}[1m]) +\n rate(rdma_rx_vport_rdma_multicast_bytes_total{node_name=~\"$node\"}[1m])\n)", - "legendFormat": "{{net_dev_name}}", - "range": true, - "refId": "A" - } - ], - "title": "Bandwidth | Read", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 17, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "smooth", - "lineStyle": { - "fill": "solid" - }, - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "normal" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "bytes" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "ibp8s0" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "green", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 1 - }, - "id": 30, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "sum by (rdma_parent_name) (\n rate(rdma_tx_vport_rdma_unicast_bytes_total{node_name=~\"$node\"}[1m]) +\n rate(rdma_rx_vport_rdma_multicast_bytes_total{node_name=~\"$node\"}[1m])\n)", - "legendFormat": "{{net_dev_name}}", - "range": true, - "refId": "A" - } - ], - "title": "Bandwidth | Write", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "percent" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 9 - }, - "id": 24, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "sum by (rdma_parent_name) (\n rate(rdma_rx_vport_rdma_unicast_bytes_total{node_name=~\"$node\"}[1m])\n)\n/ sum by (rdma_parent_name) (rdma_vport_speed_mbps_total{node_name=~\"$node\", is_root=\"true\"} * 1000000 / 8) * 100", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Rate of Bandwidth | Read", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "percent" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 9 - }, - "id": 25, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "sum by (rdma_parent_name) (\n rate(rdma_tx_vport_rdma_unicast_bytes_total{node_name=~\"$node\"}[1m])\n)\n/ sum by (rdma_parent_name) (rdma_vport_speed_mbps_total{node_name=~\"$node\", is_root=\"true\"} * 1000000 / 8) * 100", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Rate of Bandwidth | Write", - "type": "timeseries" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 17 - }, - "id": 13, - "panels": [], - "title": "Host RDMA Device", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "binBps" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "ibp8s0v0" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "dark-green", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "ibp8s0" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "dark-blue", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 18 - }, - "id": 15, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "rate(rdma_rx_vport_rdma_unicast_bytes_total{pod_name=\"\", node_name=~\"$node\"}[$__rate_interval]) +\nrate(rdma_rx_vport_rdma_multicast_bytes_total{pod_name=\"\", node_name=~\"$node\"}[$__rate_interval])", - "legendFormat": "{{net_dev_name}}", - "range": true, - "refId": "A" - } - ], - "title": "Host Bandwidth | Read", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "binBps" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 18 - }, - "id": 28, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "rate(rdma_tx_vport_rdma_unicast_bytes_total{pod_name=\"\", node_name=~\"$node\"}[$__rate_interval]) +\nrate(rdma_rx_vport_rdma_multicast_bytes_total{pod_name=\"\", node_name=~\"$node\"}[$__rate_interval])", - "legendFormat": "{{net_dev_name}}", - "range": true, - "refId": "A" - } - ], - "title": "Host Bandwidth | Write", - "type": "timeseries" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 26 - }, - "id": 27, - "panels": [], - "title": "Pod RDMA Device", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - } - ] - }, - "unit": "binBps" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 27 - }, - "id": 17, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "rate(rdma_rx_vport_rdma_unicast_bytes_total{pod_name!=\"\", node_name=~\"$node\"}[$__rate_interval])", - "legendFormat": "{{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "Pod Bandwidth | Read", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - } - ] - }, - "unit": "binBps" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 27 - }, - "id": 29, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "rate(rdma_tx_vport_rdma_unicast_bytes_total{pod_name!=\"\", node_name=~\"$node\"}[$__rate_interval]) +\nrate(rdma_rx_vport_rdma_multicast_bytes_total{pod_name!=\"\", node_name=~\"$node\"}[$__rate_interval])", - "legendFormat": "{{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "Pod Bandwidth Write", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 35 - }, - "id": 32, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "right", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "topk(\n 10,\n sum by (pod_name, pod_namespace) (\n rate(rdma_rx_vport_rdma_unicast_bytes_total{pod_name!=\"\", node_name=~\"$node\"}[$__rate_interval]) +\n rate(rdma_rx_vport_rdma_multicast_bytes_total{pod_name!=\"\", node_name=~\"$node\"}[$__rate_interval])\n )\n)", - "legendFormat": "{{pod_namespace}}/{{pod_name}}", - "range": true, - "refId": "A" - } - ], - "title": "Pod Top 10 | Bandwidth | Read", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 35 - }, - "id": 33, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "right", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "topk(\n 10, \n sum by (pod_name, pod_namespace) (\n rate(rdma_tx_vport_rdma_unicast_bytes_total{pod_name!=\"\", node_name=~\"$node\"}[$__rate_interval]) +\n rate(rdma_rx_vport_rdma_multicast_bytes_total{pod_name!=\"\", node_name=~\"$node\"}[$__rate_interval])\n )\n)", - "legendFormat": "{{pod_namespace}}/{{pod_name}}", - "range": true, - "refId": "A" - } - ], - "title": "Pod Top 10 | Bandwidth | Write", - "type": "timeseries" - } - ], - "refresh": false, - "schemaVersion": 37, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "current": { - "selected": false, - "text": "Prometheus", - "value": "Prometheus" - }, - "hide": 2, - "includeAll": false, - "label": "Data source", - "multi": false, - "name": "datasource", - "options": [], - "query": "prometheus", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "type": "datasource" - }, - { - "current": { - "selected": false, - "text": "10-20-1-50", - "value": "10-20-1-50" - }, - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "definition": "label_values(rdma_tx_vport_rdma_unicast_bytes_total{}, node_name)", - "hide": 0, - "includeAll": false, - "multi": false, - "name": "node", - "options": [], - "query": { - "query": "label_values(rdma_tx_vport_rdma_unicast_bytes_total{}, node_name)", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 1, - "type": "query" - } - ] - }, - "time": { - "from": "now-30m", - "to": "now" - }, - "timepicker": {}, - "timezone": "", - "title": "Spiderpool RDMA | Node", - "uid": "A0T4f2ZNz", - "version": 22, - "weekStart": "" -} \ No newline at end of file diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/files/grafana-rdma-pod.json b/charts/spiderpool/spiderpool/charts/spiderpool/files/grafana-rdma-pod.json deleted file mode 100644 index faef3fde4..000000000 --- a/charts/spiderpool/spiderpool/charts/spiderpool/files/grafana-rdma-pod.json +++ /dev/null @@ -1,4064 +0,0 @@ -{ - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": 6, - "links": [], - "liveNow": false, - "panels": [ - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 47, - "panels": [], - "title": "Pod Level", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "binBps" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "net3 - mlx5_19" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "green", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "net2 - mlx5_16" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "orange", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 1 - }, - "id": 40, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "9.3.14", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_rx_vport_rdma_unicast_bytes_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval]) + rate(rdma_rx_vport_rdma_multicast_bytes_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval]) ", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "Bandwidth | Read", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "binBps" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "net3 - mlx5_19" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "green", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "net2 - mlx5_16" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "orange", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 1 - }, - "id": 38, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "9.3.14", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_tx_vport_rdma_unicast_bytes_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval]) + rate(rdma_tx_vport_rdma_multicast_bytes_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval]) ", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "Bandwidth | Write", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "percent" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "net3 - mlx5_19" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "green", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "net2 - mlx5_16" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "orange", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 9 - }, - "id": 62, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "9.3.14", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "(rate(rdma_rx_vport_rdma_unicast_bytes_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval]) +\n rate(rdma_rx_vport_rdma_multicast_bytes_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])\n)\n/\n(rdma_vport_speed_mbps_total{pod_name!=\"\"} * 1000000 / 8) * 100", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "Rate of Bandwidth | Read", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "percent" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "net2 - mlx5_16" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "orange", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "net3 - mlx5_19" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "green", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 9 - }, - "id": 63, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "9.3.14", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "(rate(rdma_tx_vport_rdma_unicast_bytes_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval]) +\n rate(rdma_tx_vport_rdma_multicast_bytes_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])\n)\n/\n(rdma_vport_speed_mbps_total{pod_name!=\"\"} * 1000000 / 8) * 100", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "Rate of Bandwidth | Write", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "pps" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 0, - "y": 17 - }, - "id": 42, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "9.3.14", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_rx_vport_rdma_unicast_packets_total{pod_name!=\"\", pod_namespace!=\"\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_read_unicast_packets", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 6, - "y": 17 - }, - "id": 37, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "9.3.14", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_rx_vport_rdma_multicast_packets_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_read_multicast_packets", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "binBps" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 12, - "y": 17 - }, - "id": 39, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "9.3.14", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_rx_vport_rdma_multicast_bytes_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "read_rdma_multicast_bytes", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 18, - "y": 17 - }, - "id": 8, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_rx_read_requests_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_rx_read_requests", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "pps" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 0, - "y": 25 - }, - "id": 45, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "9.3.14", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_tx_vport_rdma_unicast_packets_total{pod_name!=\"\", pod_namespace!=\"\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_write_unicast_packets", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 6, - "y": 25 - }, - "id": 44, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "9.3.14", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "irate(rdma_tx_vport_rdma_multicast_packets_total{pod_namespace!=\"\", pod_name=~\"$pod\"}[1m])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_write_multicast_packets", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "Mbits" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 12, - "y": 25 - }, - "id": 41, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "9.3.14", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_tx_vport_rdma_multicast_bytes_total{pod_name!=\"\", pod_name=~\"$pod\"}[1m]) * 8 / 1000000", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "write_rdma_multicast", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "Number of received WRITE requests for the associated Queue Pairs", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 18, - "y": 25 - }, - "id": 6, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_rx_write_requests_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_rx_write_requests", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 0, - "y": 33 - }, - "id": 4, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_req_cqe_error_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "req cqe error", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 6, - "y": 33 - }, - "id": 43, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "irate(rdma_duplicate_request_total{pod_namespace!=\"\", pod_name=~\"$pod\"}[1m])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "duplicate request", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 12, - "y": 33 - }, - "id": 20, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_resp_remote_access_errors_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_resp_remote_access_errors", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 18, - "y": 33 - }, - "id": 25, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_req_remote_access_errors_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_req_remote_access_errors", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 0, - "y": 41 - }, - "id": 9, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_rx_dct_connect_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_rx_dct_connect", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 6, - "y": 41 - }, - "id": 10, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_rx_atomic_requests_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_rx_atomic_requests", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 12, - "y": 41 - }, - "id": 23, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_req_remote_invalid_request_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_req_remote_invalid_request", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 18, - "y": 41 - }, - "id": 33, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_duplicate_request_total{pod_namespace!=\"\",pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_duplicate_request", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 0, - "y": 49 - }, - "id": 11, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_rx_atomic_requests_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_rx_atomic_requests", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 6, - "y": 49 - }, - "id": 24, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_resp_cqe_flush_error_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_resp_cqe_flush_error", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 12, - "y": 49 - }, - "id": 22, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_req_cqe_flush_error_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_req_cqe_flush_error", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 18, - "y": 49 - }, - "id": 29, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_resp_cqe_error_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_resp_cqe_error", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 0, - "y": 57 - }, - "id": 21, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_rnr_nak_retry_err_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_rnr_nak_retry_err", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 6, - "y": 57 - }, - "id": 28, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_out_of_sequence_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_out_of_sequence", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 12, - "y": 57 - }, - "id": 27, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_packet_seq_err_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_packet_seq_err", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 18, - "y": 57 - }, - "id": 19, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_resp_local_length_error_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_resp_local_length_error", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 0, - "y": 65 - }, - "id": 36, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_implied_nak_seq_err_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_implied_nak_seq_err", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 6, - "y": 65 - }, - "id": 35, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_local_ack_timeout_err_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_local_ack_timeout_err", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 12, - "y": 65 - }, - "id": 32, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_out_of_buffer_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_out_of_buffer", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 18, - "y": 65 - }, - "id": 26, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_req_cqe_error_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_req_cqe_error", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 0, - "y": 73 - }, - "id": 34, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_np_cnp_sent_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_np_cnp_sent", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 6, - "y": 73 - }, - "id": 18, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_roce_adp_retrans_to_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_roce_adp_retrans_to", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 12, - "y": 73 - }, - "id": 16, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_roce_slow_restart_cnps_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{ifname}} - {{pod_namespace}}/{{pod_name}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_roce_slow_restart_cnps", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 18, - "y": 73 - }, - "id": 31, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_np_ecn_marked_roce_packets_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_np_ecn_marked_roce_packets", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 0, - "y": 81 - }, - "id": 13, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_rp_cnp_handled_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_rp_cnp_handled", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 6, - "y": 81 - }, - "id": 14, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_roce_slow_restart_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{ifname}} - {{pod_namespace}}/{{pod_name}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_roce_slow_restart", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 12, - "y": 81 - }, - "id": 12, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_rp_cnp_ignored_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{net_dev_name}} - {{ifname}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_rp_cnp_ignored", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 18, - "y": 81 - }, - "id": 17, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "rate(rdma_roce_adp_retrans_total{pod_name!=\"\", pod_namespace=~\"$namespace\", pod_name=~\"$pod\"}[$__rate_interval])", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{ifname}} - {{pod_namespace}}/{{pod_name}}", - "range": true, - "refId": "A" - } - ], - "title": "rdma_roce_adp_retrans", - "type": "timeseries" - } - ], - "refresh": "5s", - "schemaVersion": 37, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "current": { - "selected": false, - "text": "Prometheus", - "value": "Prometheus" - }, - "hide": 2, - "includeAll": false, - "label": "Data source", - "multi": false, - "name": "datasource", - "options": [], - "query": "prometheus", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "type": "datasource" - }, - { - "allValue": ".+", - "current": { - "selected": false, - "text": "All", - "value": "$__all" - }, - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "definition": "label_values(rdma_tx_vport_rdma_unicast_bytes_total{pod_namespace=~\"$namespace\"}, pod_namespace)", - "hide": 0, - "includeAll": true, - "multi": false, - "name": "namespace", - "options": [], - "query": { - "query": "label_values(rdma_tx_vport_rdma_unicast_bytes_total{pod_namespace=~\"$namespace\"}, pod_namespace)", - "refId": "StandardVariableQuery" - }, - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - }, - { - "current": { - "selected": false, - "text": "10-20-1-50", - "value": "10-20-1-50" - }, - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "definition": "label_values(rdma_tx_vport_rdma_unicast_bytes_total{}, node_name)", - "hide": 0, - "includeAll": true, - "multi": false, - "name": "node", - "options": [], - "query": { - "query": "label_values(rdma_tx_vport_rdma_unicast_bytes_total{}, node_name)", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 1, - "type": "query" - }, - { - "current": { - "selected": false, - "text": "pytorch-sample-master-0", - "value": "pytorch-sample-master-0" - }, - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "definition": "label_values(rdma_tx_vport_rdma_unicast_bytes_total{pod_namespace=~\"$namespace\"}, pod_name)", - "hide": 0, - "includeAll": false, - "label": "pod", - "multi": false, - "name": "pod", - "options": [], - "query": { - "query": "label_values(rdma_tx_vport_rdma_unicast_bytes_total{pod_namespace=~\"$namespace\"}, pod_name)", - "refId": "StandardVariableQuery" - }, - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 1, - "type": "query" - } - ] - }, - "time": { - "from": "now-3h", - "to": "now" - }, - "timepicker": {}, - "timezone": "", - "title": "Spiderpool RDMA | Pod", - "uid": "DenUibiNk", - "version": 17, - "weekStart": "" -} \ No newline at end of file diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/files/grafana-rdma-workload.json b/charts/spiderpool/spiderpool/charts/spiderpool/files/grafana-rdma-workload.json deleted file mode 100644 index 0d6b78cdc..000000000 --- a/charts/spiderpool/spiderpool/charts/spiderpool/files/grafana-rdma-workload.json +++ /dev/null @@ -1,1012 +0,0 @@ -{ - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": 12, - "links": [], - "liveNow": false, - "panels": [ - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 11, - "panels": [], - "title": "Summary", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 1 - }, - "id": 24, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "sum by (owner_name) (\n rate(rdma_rx_vport_rdma_unicast_bytes_total{owner_namespace=~\"$namespace\", owner_kind=~\"$kind\"}[1m])\n)", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Bandwidth per $kind | Read ", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 1 - }, - "id": 28, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "sum by (owner_name) (\n rate(rdma_tx_vport_rdma_unicast_bytes_total{owner_namespace=~\"$namespace\", owner_kind=~\"$kind\"}[1m])\n)", - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Bandwidth per $kind | Write", - "type": "timeseries" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 9 - }, - "id": 30, - "panels": [], - "title": "Pods", - "type": "row" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "bytes" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "rdma-test-gpu-tool-n792j" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 10 - }, - "id": 26, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "sum by (pod_name) (\n rate(rdma_rx_vport_rdma_unicast_bytes_total{owner_namespace=~\"$namespace\", owner_kind=~\"$kind\", owner_name=~\"$name\"}[1m])\n)", - "interval": "", - "legendFormat": "{{pod_name}}", - "range": true, - "refId": "A" - } - ], - "title": "Bandwidth per Pod | Read", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "bytes" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "rdma-test-gpu-tool-n792j" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 10 - }, - "id": 27, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "expr": "sum by (pod_name) (\n rate(rdma_tx_vport_rdma_unicast_bytes_total{owner_namespace=~\"$namespace\", owner_kind=~\"$kind\", owner_name=~\"$name\"}[1m])\n)", - "interval": "", - "legendFormat": "{{pod_name}}", - "range": true, - "refId": "A" - } - ], - "title": "Bandwidth per Pod | Write", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "pps" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "rdma-test-gpu-tool-n792j" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 0, - "y": 18 - }, - "id": 32, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "9.3.14", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "sum by (pod_name) (\n rate(rdma_rx_vport_rdma_unicast_packets_total{owner_namespace=~\"$namespace\", owner_kind=~\"$kind\", owner_name=~\"$name\"}[1m])\n)", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{pod_name}}", - "range": true, - "refId": "A" - } - ], - "title": "Packets per Pod | unicast | Read", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "pps" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "rdma-test-gpu-tool-n792j" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 6, - "y": 18 - }, - "id": 33, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "9.3.14", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "sum by (pod_name) (\n rate(rdma_tx_vport_rdma_unicast_packets_total{owner_namespace=~\"$namespace\", owner_kind=~\"$kind\", owner_name=~\"$name\"}[1m])\n)", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{pod_name}}", - "range": true, - "refId": "A" - } - ], - "title": "Packets per Pod | unicast | Write", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "pps" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "rdma-test-gpu-tool-n792j" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 12, - "y": 18 - }, - "id": 34, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "9.3.14", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "sum by (pod_name) (\n rate(rdma_tx_vport_rdma_multicast_packets_total{owner_namespace=~\"$namespace\", owner_kind=~\"$kind\", owner_name=~\"$name\"}[1m])\n)", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{pod_name}}", - "range": true, - "refId": "A" - } - ], - "title": "Packets per Pod | multicast | Read", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMin": 0, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "pps" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "rdma-test-gpu-tool-n792j" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "blue", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 6, - "x": 18, - "y": 18 - }, - "id": 35, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "9.3.14", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "editorMode": "code", - "exemplar": false, - "expr": "sum by (pod_name) (\n rate(rdma_tx_vport_rdma_multicast_packets_total{owner_namespace=~\"$namespace\", owner_kind=~\"$kind\", owner_name=~\"$name\"}[1m])\n)", - "format": "time_series", - "instant": false, - "interval": "", - "legendFormat": "{{pod_name}}", - "range": true, - "refId": "A" - } - ], - "title": "Packets per Pod | multicast | Write", - "type": "timeseries" - } - ], - "refresh": false, - "schemaVersion": 37, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "current": { - "selected": false, - "text": "Prometheus", - "value": "Prometheus" - }, - "hide": 2, - "includeAll": false, - "label": "Data source", - "multi": false, - "name": "datasource", - "options": [], - "query": "prometheus", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "type": "datasource" - }, - { - "current": { - "selected": false, - "text": "DaemonSet", - "value": "DaemonSet" - }, - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "definition": "label_values(rdma_vport_speed_mbps_total{}, owner_kind)", - "hide": 0, - "includeAll": false, - "multi": false, - "name": "kind", - "options": [], - "query": { - "query": "label_values(rdma_vport_speed_mbps_total{}, owner_kind)", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 1, - "type": "query" - }, - { - "current": { - "selected": false, - "text": "huailou", - "value": "huailou" - }, - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "definition": "label_values(rdma_vport_speed_mbps_total{owner_kind=~\"$kind\"}, owner_namespace)", - "hide": 0, - "includeAll": false, - "multi": false, - "name": "namespace", - "options": [], - "query": { - "query": "label_values(rdma_vport_speed_mbps_total{owner_kind=~\"$kind\"}, owner_namespace)", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - }, - { - "current": { - "selected": false, - "text": "rdma-test-gpu-tool", - "value": "rdma-test-gpu-tool" - }, - "datasource": { - "type": "prometheus", - "uid": "${datasource}" - }, - "definition": "label_values(rdma_vport_speed_mbps_total{owner_kind=~\"$kind\", owner_namespace=~\"$namespace\"}, owner_name)", - "hide": 0, - "includeAll": false, - "multi": false, - "name": "name", - "options": [], - "query": { - "query": "label_values(rdma_vport_speed_mbps_total{owner_kind=~\"$kind\", owner_namespace=~\"$namespace\"}, owner_name)", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - } - ] - }, - "time": { - "from": "now-3h", - "to": "now" - }, - "timepicker": {}, - "timezone": "", - "title": "Spiderpool RDMA | AI Workload", - "uid": "AAT6f2ZNz", - "version": 40, - "weekStart": "" -} \ No newline at end of file diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/_helpers.tpl b/charts/spiderpool/spiderpool/charts/spiderpool/templates/_helpers.tpl index 906cb1203..a5c639c44 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/_helpers.tpl +++ b/charts/spiderpool/spiderpool/charts/spiderpool/templates/_helpers.tpl @@ -351,6 +351,7 @@ return the sriov network operator image {{- end -}} {{- end -}} + {{/* return the sriov cni image */}} @@ -371,6 +372,7 @@ return the sriov cni image {{- end -}} {{- end -}} + {{/* return the sriov ibSriovCni image */}} @@ -411,6 +413,7 @@ return the sriov sriovDevicePlugin image {{- end -}} {{- end -}} + {{/* return the sriov resourcesInjector image */}} diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/configmap.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/configmap.yaml index 2202605c5..ff3cd269e 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/configmap.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/templates/configmap.yaml @@ -13,30 +13,26 @@ metadata: {{- include "tplvalues.render" ( dict "value" .Values.global.commonAnnotations "context" $ ) | nindent 4 }} {{- end }} data: + clusterNetwork: {{ .Values.multus.multusCNI.defaultCniCRName | quote }} conf.yml: | ipamUnixSocketPath: {{ .Values.global.ipamUNIXSocketHostPath }} enableIPv4: {{ .Values.ipam.enableIPv4 }} enableIPv6: {{ .Values.ipam.enableIPv6 }} enableStatefulSet: {{ .Values.ipam.enableStatefulSet }} enableKubevirtStaticIP: {{ .Values.ipam.enableKubevirtStaticIP }} - enableSpiderSubnet: {{ .Values.ipam.spiderSubnet.enable }} - enableAutoPoolForApplication: {{ .Values.ipam.spiderSubnet.autoPool.enable }} - {{- if and .Values.ipam.spiderSubnet.enable .Values.ipam.spiderSubnet.autoPool.enable }} - clusterSubnetDefaultFlexibleIPNumber: {{ .Values.ipam.spiderSubnet.autoPool.defaultRedundantIPNumber }} + enableSpiderSubnet: {{ .Values.ipam.enableSpiderSubnet }} + {{- if .Values.ipam.enableSpiderSubnet }} + clusterSubnetDefaultFlexibleIPNumber: {{ .Values.ipam.subnetDefaultFlexibleIPNumber }} {{- else}} clusterSubnetDefaultFlexibleIPNumber: 0 {{- end }} tuneSysctlConfig: {{ .Values.spiderpoolAgent.tuneSysctlConfig }} - podResourceInject: - enabled: {{ .Values.spiderpoolController.podResourceInject.enabled }} - namespacesExclude: {{ toJson .Values.spiderpoolController.podResourceInject.namespacesExclude }} - namespacesInclude: {{ toJson .Values.spiderpoolController.podResourceInject.namespacesInclude }} {{- if .Values.multus.multusCNI.install }} --- kind: ConfigMap apiVersion: v1 metadata: - name: {{ .Values.multus.multusCNI.name | trunc 63 | trimSuffix "-" }} + name: {{ .Values.multus.multusCNI.name | trunc 63 | trimSuffix "-" }}-entrypoint namespace: {{ .Release.Namespace | quote }} labels: {{- include "spiderpool.multus.labels" . | nindent 4 }} @@ -44,23 +40,160 @@ metadata: {{- include "tplvalues.render" ( dict "value" .Values.global.commonLabels "context" $ ) | nindent 4 }} {{- end }} data: - cni-conf.json: | + entrypoint.sh: | + #!/bin/bash + set -e + + function log(){ + echo "INFO: $(date --iso-8601=seconds) ${1}" + } + function error(){ + log "ERR: {$1}" + } + function warn(){ + log "WARN: {$1}" + } + + function generateKubeConfig { + # Check if we're running as a k8s pod. + if [ -f "$SERVICE_ACCOUNT_TOKEN_PATH" ]; then + # We're running as a k8d pod - expect some variables. + if [ -z ${KUBERNETES_SERVICE_HOST} ]; then + error "KUBERNETES_SERVICE_HOST not set"; exit 1; + fi + if [ -z ${KUBERNETES_SERVICE_PORT} ]; then + error "KUBERNETES_SERVICE_PORT not set"; exit 1; + fi + + if [ "$SKIP_TLS_VERIFY" == "true" ]; then + TLS_CFG="insecure-skip-tls-verify: true" + elif [ -f "$KUBE_CA_FILE" ]; then + TLS_CFG="certificate-authority-data: $(cat $KUBE_CA_FILE | base64 | tr -d '\n')" + fi + + # Get the contents of service account token. + SERVICEACCOUNT_TOKEN=$(cat $SERVICE_ACCOUNT_TOKEN_PATH) + + SKIP_TLS_VERIFY=${SKIP_TLS_VERIFY:-false} + + # Write a kubeconfig file for the CNI plugin. Do this + # to skip TLS verification for now. We should eventually support + # writing more complete kubeconfig files. This is only used + # if the provided CNI network config references it. + touch $MULTUS_TEMP_KUBECONFIG + chmod ${KUBECONFIG_MODE:-600} $MULTUS_TEMP_KUBECONFIG + # Write the kubeconfig to a temp file first. + timenow=$(date) + cat > $MULTUS_TEMP_KUBECONFIG < $MULTUS_TEMP_CONFIG << EOF { "cniVersion": "0.3.1", "name": "multus-cni-network", "type": "multus", "confDir": "/etc/cni/net.d/" , - "logLevel": "{{ .Values.multus.multusCNI.log.logLevel }}", - "logFile": "{{ .Values.multus.multusCNI.log.logFile }}", + "logLevel": "debug", + "logFile": "/var/log/multus.log", "capabilities": { "portMappings": true, "bandwidth": true }, "namespaceIsolation": false, - "clusterNetwork": "{{ .Values.multus.multusCNI.defaultCniCRName }}", + "clusterNetwork": "$MULTUS_CLUSTER_NETWORK", "defaultNetworks": [], - "multusNamespace": "{{ .Release.Namespace }}", + "multusNamespace": "$MULTUS_NAMESPACE", "systemNamespaces": [], "kubeconfig": "/etc/cni/net.d/multus.d/multus.kubeconfig" } -{{- end }} + EOF + + if [ -z "${MULTUS_CLUSTER_NETWORK}" ]; then + log "ENV MULTUS_CLUSTER_NETWORK is empty, Detecting default cni in the ${CNI_CONF_DIR}" + DEFAULT_CNI_FILEPATH=$(ls -l ${CNI_CONF_DIR} | grep ^- | grep -v -i multus | awk '{print $9}' | grep -E '(*\.conf|*\.conflist|*\.json)' | head -n 1) + if [ -z "$DEFAULT_CNI_FILEPATH" ] ; then + error "No default cni file found in ${CNI_CONF_DIR}, please install your default cni in the cluster first" && exit 1 + fi + + log "Found the default-cni file: ${DEFAULT_CNI_FILEPATH}" + log "cat /host/etc/cni/net.d/${DEFAULT_CNI_FILEPATH}:" + cat /host/etc/cni/net.d/${DEFAULT_CNI_FILEPATH} + + echo "" + DEFAULT_CNI_NAME=$(grep '"name":' ${CNI_CONF_DIR}/${DEFAULT_CNI_FILEPATH} | awk '{print $2}' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' | tr -d ',' | tr -d '"') + if [ -z "$DEFAULT_CNI_NAME" ] ; then + error "The name fleid shouldn't be empty, please check the default cni: ${DEFAULT_CNI_FILEPATH}" && exit 1 + fi + + log "Updating the clusterNetwork of the multus-cni config to $DEFAULT_CNI_NAME" + sed -i "s?\"clusterNetwork\": \"\"?\"clusterNetwork\": \"${DEFAULT_CNI_NAME}\"?g" /tmp/00-multus.conf + else + log "User set multus ClusterNetwork: $MULTUS_CLUSTER_NETWORK" + fi + + generateKubeConfig + log "multus kubeconfig is generated." + + cp $MULTUS_TEMP_CONFIG /host/etc/cni/net.d + log "multus config file ${MULTUS_TEMP_CONFIG} is copied to ${CNI_CONF_DIR}." + log "cat ${CNI_CONF_DIR}/00-multus.conf" + cat ${CNI_CONF_DIR}/00-multus.conf + + log "Entering watch loop..." + while true; do + + # Check the md5sum of the service account token and ca. + svcaccountsum=$(md5sum $SERVICE_ACCOUNT_TOKEN_PATH | awk '{print $1}') + casum=$(md5sum $KUBE_CA_FILE | awk '{print $1}') + if [ "$svcaccountsum" != "$LAST_SERVICEACCOUNT_MD5SUM" ] || [ "$casum" != "$LAST_KUBE_CA_FILE_MD5SUM" ]; then + log "Detected service account or CA file change, regenerating kubeconfig..." + generateKubeConfig + fi + + # todo: watch the default cni file is changed. + sleep 10 + done +{{- end }} \ No newline at end of file diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/daemonset.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/daemonset.yaml index af672a82b..47b3d6c44 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/daemonset.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/templates/daemonset.yaml @@ -85,18 +85,16 @@ spec: image: {{ include "plugins.image" . | quote }} imagePullPolicy: {{ .Values.plugins.image.pullPolicy }} env: - - name: INSTALL_CNI_PLUGINS - value: {{ .Values.plugins.installCNI | quote }} - - name: INSTALL_OVS_PLUGIN - value: {{ .Values.plugins.installOvsCNI | quote }} - - name: INSTALL_RDMA_PLUGIN - value: {{ .Values.plugins.installRdmaCNI | quote }} - - name: INSTALL_SRIOV_PLUGIN - value: {{ .Values.plugins.installSriovCNI | quote }} - - name: INSTALL_IB_SRIOV_PLUGIN - value: {{ .Values.plugins.installibSriovCNI | quote }} - - name: INSTALL_IPOIB_PLUGIN - value: {{ .Values.plugins.installIpoibCNI | quote }} + - name: INSTALL_CNI_PLUGINS + value: {{ .Values.plugins.installCNI | quote }} + - name: INSTALL_OVS_PLUGIN + value: {{ .Values.plugins.installOvsCNI | quote }} + - name: INSTALL_RDMA_PLUGIN + value: {{ .Values.plugins.installRdmaCNI | quote }} + - name: INSTALL_IB_SRIOV_PLUGIN + value: {{ .Values.plugins.installibSriovCNI | quote }} + - name: INSTALL_IPOIB_PLUGIN + value: {{ .Values.plugins.installIpoibCNI | quote }} command: - "/bin/sh" - "entrypoint.sh" @@ -106,208 +104,221 @@ spec: - name: cni-bin-path mountPath: /host/opt/cni/bin {{- end }} - containers: - - name: {{ .Values.spiderpoolAgent.name | trunc 63 | trimSuffix "-" }} - image: {{ include "spiderpool.spiderpoolAgent.image" . | quote }} - imagePullPolicy: {{ .Values.spiderpoolAgent.image.pullPolicy }} + {{- if .Values.multus.multusCNI.install }} + - name: install-multus-binary + image: {{ include "spiderpool.multus.image" . | quote }} + imagePullPolicy: IfNotPresent command: - - {{ .Values.spiderpoolAgent.binName }} + - /install_multus args: - - daemon - - --config-path=/tmp/spiderpool/config-map/conf.yml + - --type + - thin + securityContext: + privileged: true + volumeMounts: + - mountPath: /host/opt/cni/bin + mountPropagation: Bidirectional + name: cni-bin-path + {{- end }} + containers: + - name: {{ .Values.spiderpoolAgent.name | trunc 63 | trimSuffix "-" }} + image: {{ include "spiderpool.spiderpoolAgent.image" . | quote }} + imagePullPolicy: {{ .Values.spiderpoolAgent.image.pullPolicy }} + command: + - {{ .Values.spiderpoolAgent.binName }} + args: + - daemon + - --config-path=/tmp/spiderpool/config-map/conf.yml {{- with .Values.spiderpoolAgent.extraArgs }} {{- toYaml . | trim | nindent 8 }} {{- end }} {{- if .Values.spiderpoolAgent.prometheus.enabled }} - ports: - - name: metrics - containerPort: {{ .Values.spiderpoolAgent.prometheus.port }} - protocol: TCP + ports: + - name: metrics + containerPort: {{ .Values.spiderpoolAgent.prometheus.port }} + protocol: TCP {{- end }} {{- if semverCompare ">=1.20-0" .Capabilities.KubeVersion.Version }} - startupProbe: - httpGet: - host: {{ .Values.ipam.enableIPv4 | ternary "127.0.0.1" "::1" | quote }} - path: /v1/runtime/startup - port: {{ .Values.spiderpoolAgent.httpPort }} - scheme: HTTP - failureThreshold: {{ .Values.spiderpoolAgent.healthChecking.startupProbe.failureThreshold }} - periodSeconds: {{ .Values.spiderpoolAgent.healthChecking.startupProbe.periodSeconds }} - successThreshold: 1 + startupProbe: + httpGet: + host: {{ .Values.ipam.enableIPv4 | ternary "127.0.0.1" "::1" | quote }} + path: /v1/runtime/startup + port: {{ .Values.spiderpoolAgent.httpPort }} + scheme: HTTP + failureThreshold: {{ .Values.spiderpoolAgent.healthChecking.startupProbe.failureThreshold }} + periodSeconds: {{ .Values.spiderpoolAgent.healthChecking.startupProbe.periodSeconds }} + successThreshold: 1 {{- end }} - livenessProbe: - httpGet: - host: {{ .Values.ipam.enableIPv4 | ternary "127.0.0.1" "::1" | quote }} - path: /v1/runtime/liveness - port: {{ .Values.spiderpoolAgent.httpPort }} - scheme: HTTP - initialDelaySeconds: 10 - periodSeconds: {{ .Values.spiderpoolAgent.healthChecking.livenessProbe.periodSeconds }} - successThreshold: 1 - failureThreshold: {{ .Values.spiderpoolAgent.healthChecking.livenessProbe.failureThreshold }} - timeoutSeconds: 1 - readinessProbe: - httpGet: - host: {{ .Values.ipam.enableIPv4 | ternary "127.0.0.1" "::1" | quote }} - path: /v1/runtime/readiness - port: {{ .Values.spiderpoolAgent.httpPort }} - scheme: HTTP - periodSeconds: {{ .Values.spiderpoolAgent.healthChecking.readinessProbe.periodSeconds }} - successThreshold: 1 - failureThreshold: {{ .Values.spiderpoolAgent.healthChecking.readinessProbe.failureThreshold }} - timeoutSeconds: 1 + livenessProbe: + httpGet: + host: {{ .Values.ipam.enableIPv4 | ternary "127.0.0.1" "::1" | quote }} + path: /v1/runtime/liveness + port: {{ .Values.spiderpoolAgent.httpPort }} + scheme: HTTP + initialDelaySeconds: 10 + periodSeconds: {{ .Values.spiderpoolAgent.healthChecking.livenessProbe.periodSeconds }} + successThreshold: 1 + failureThreshold: {{ .Values.spiderpoolAgent.healthChecking.livenessProbe.failureThreshold }} + timeoutSeconds: 1 + readinessProbe: + httpGet: + host: {{ .Values.ipam.enableIPv4 | ternary "127.0.0.1" "::1" | quote }} + path: /v1/runtime/readiness + port: {{ .Values.spiderpoolAgent.httpPort }} + scheme: HTTP + periodSeconds: {{ .Values.spiderpoolAgent.healthChecking.readinessProbe.periodSeconds }} + successThreshold: 1 + failureThreshold: {{ .Values.spiderpoolAgent.healthChecking.readinessProbe.failureThreshold }} + timeoutSeconds: 1 {{- with .Values.spiderpoolAgent.resources }} - resources: - {{- toYaml . | trim | nindent 12 }} + resources: + {{- toYaml . | trim | nindent 10 }} {{- end }} - lifecycle: - postStart: - # Move an eventual old existing binary out of the way, we can't delete it as it might be in use right now - exec: - command: - - "/bin/sh" - - "-c" - - | - BIN_LIST="spiderpool coordinator ifacer" - for ITEM in ${BIN_LIST} ; do - rm -f /host/opt/cni/bin/${ITEM}.old || true - ( [ -f "/host/opt/cni/bin/${ITEM}" ] && mv /host/opt/cni/bin/${ITEM} /host/opt/cni/bin/${ITEM}.old ) || true - cp /usr/bin/${ITEM} /host/opt/cni/bin/${ITEM} - rm -f /host/opt/cni/bin/${ITEM}.old &>/dev/null || true - done - env: - - name: SPIDERPOOL_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: SPIDERPOOL_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: SPIDERPOOL_LOG_LEVEL - value: {{ .Values.spiderpoolAgent.debug.logLevel | quote }} - - name: SPIDERPOOL_ENABLED_METRIC - value: {{ .Values.spiderpoolAgent.prometheus.enabled | quote }} - - name: SPIDERPOOL_ENABLED_DEBUG_METRIC - value: {{ .Values.spiderpoolAgent.prometheus.enabledDebugMetric | quote }} - - name: SPIDERPOOL_ENABLED_RDMA_METRIC - value: {{ .Values.spiderpoolAgent.prometheus.enabledRdmaMetric | quote }} - - name: SPIDERPOOL_METRIC_HTTP_PORT - value: {{ .Values.spiderpoolAgent.prometheus.port | quote }} - - name: SPIDERPOOL_HEALTH_PORT - value: {{ .Values.spiderpoolAgent.httpPort | quote }} - - name: SPIDERPOOL_GOPS_LISTEN_PORT - value: {{ .Values.spiderpoolAgent.debug.gopsPort | quote }} + lifecycle: + postStart: + # Move an eventual old existing binary out of the way, we can't delete it as it might be in use right now + exec: + command: + - "/bin/sh" + - "-c" + - | + BIN_LIST="spiderpool coordinator ifacer" + for ITEM in ${BIN_LIST} ; do + rm -f /host/opt/cni/bin/${ITEM}.old || true + ( [ -f "/host/opt/cni/bin/${ITEM}" ] && mv /host/opt/cni/bin/${ITEM} /host/opt/cni/bin/${ITEM}.old ) || true + cp /usr/bin/${ITEM} /host/opt/cni/bin/${ITEM} + rm -f /host/opt/cni/bin/${ITEM}.old &>/dev/null || true + done + env: + - name: SPIDERPOOL_POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: SPIDERPOOL_POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: SPIDERPOOL_LOG_LEVEL + value: {{ .Values.spiderpoolAgent.debug.logLevel | quote }} + - name: SPIDERPOOL_ENABLED_METRIC + value: {{ .Values.spiderpoolAgent.prometheus.enabled | quote }} + - name: SPIDERPOOL_ENABLED_DEBUG_METRIC + value: {{ .Values.spiderpoolAgent.prometheus.enabledDebugMetric | quote }} + - name: SPIDERPOOL_METRIC_HTTP_PORT + value: {{ .Values.spiderpoolAgent.prometheus.port | quote }} + - name: SPIDERPOOL_HEALTH_PORT + value: {{ .Values.spiderpoolAgent.httpPort | quote }} + - name: SPIDERPOOL_GOPS_LISTEN_PORT + value: {{ .Values.spiderpoolAgent.debug.gopsPort | quote }} {{- if .Values.multus.multusCNI.defaultCniCRName }} - - name: MULTUS_CLUSTER_NETWORK - value: {{ .Release.Namespace }}/{{ .Values.multus.multusCNI.defaultCniCRName }} + - name: MULTUS_CLUSTER_NETWORK + value: {{ .Release.Namespace }}/{{ .Values.multus.multusCNI.defaultCniCRName }} {{- end }} {{- with .Values.spiderpoolAgent.extraEnv }} {{- toYaml . | nindent 12 }} {{- end }} - {{- if or .Values.spiderpoolAgent.tuneSysctlConfig .Values.spiderpoolAgent.securityContext .Values.spiderpoolAgent.prometheus.enabledRdmaMetric }} - securityContext: - privileged: true - {{- with .Values.spiderpoolAgent.securityContext }} - {{- toYaml . | nindent 8 }} - {{- end }} - {{- end }} - volumeMounts: - {{- if .Values.spiderpoolAgent.prometheus.enabledRdmaMetric }} - - name: host-ns - mountPath: /var/run/netns - mountPropagation: Bidirectional + {{- if or .Values.spiderpoolAgent.tuneSysctlConfig .Values.spiderpoolAgent.securityContext }} + securityContext: + {{- if .Values.spiderpoolAgent.tuneSysctlConfig }} + privileged: true + {{- end }} + {{- with .Values.spiderpoolAgent.securityContext }} + {{- toYaml . | nindent 10 }} + {{- end }} {{- end }} - - name: config-path - mountPath: /tmp/spiderpool/config-map - readOnly: true - - name: cni-bin-path - mountPath: /host{{ .Values.global.cniBinHostPath }} - - name: ipam-unix-socket-dir - mountPath: {{ dir .Values.global.ipamUNIXSocketHostPath }} + volumeMounts: + - name: config-path + mountPath: /tmp/spiderpool/config-map + readOnly: true + - name: cni-bin-path + mountPath: /host{{ .Values.global.cniBinHostPath }} + - name: ipam-unix-socket-dir + mountPath: {{ dir .Values.global.ipamUNIXSocketHostPath }} {{- if .Values.multus.multusCNI.uninstall }} - - name: cni - mountPath: /host/etc/cni/net.d + - name: cni + mountPath: /host/etc/cni/net.d {{- end }} {{- if .Values.spiderpoolAgent.extraVolumes }} {{- include "tplvalues.render" ( dict "value" .Values.spiderpoolAgent.extraVolumeMounts "context" $ ) | nindent 8 }} {{- end }} {{- if .Values.multus.multusCNI.install }} - - name: multus-cni - imagePullPolicy: {{ .Values.multus.multusCNI.image.pullPolicy }} - image: {{ include "spiderpool.multus.image" . | quote }} - command: - - "/bin/sh" - - "-c" - - | - ITEM="multus" - rm -f /host/opt/cni/bin/${ITEM}.old || true - ( [ -f "/host/opt/cni/bin/${ITEM}" ] && mv /host/opt/cni/bin/${ITEM} /host/opt/cni/bin/${ITEM}.old ) || true - cp /usr/src/multus-cni/bin/${ITEM} /host/opt/cni/bin/${ITEM} - rm -f /host/opt/cni/bin/${ITEM}.old &>/dev/null || true - ./entrypoint.sh --multus-conf-file=/tmp/multus-conf/00-multus.conf \ - --cni-version=0.3.1 - securityContext: - privileged: true - {{- if .Values.multus.multusCNI.uninstall }} - lifecycle: - preStop: - exec: - command: - - "/bin/sh" - - "-c" - - | - rm -f /host/opt/cni/bin/multus || true - rm -rf /host/etc/cni/net.d/multus.d || true - rm -f /host/etc/cni/net.d/00-multus.conf || true - {{- end }} - volumeMounts: - - name: cni - mountPath: /host/etc/cni/net.d - - name: cni-bin-path - mountPath: /host/opt/cni/bin - mountPropagation: Bidirectional - - name: multus-cfg - mountPath: /tmp/multus-conf + - name: multus-cni + image: {{ include "spiderpool.spiderpoolAgent.image" . | quote }} + imagePullPolicy: {{ .Values.spiderpoolAgent.image.pullPolicy }} + command: + - "/home/entrypoint.sh" + securityContext: + privileged: true + env: + - name: MULTUS_CLUSTER_NETWORK + valueFrom: + configMapKeyRef: + key: clusterNetwork + name: spiderpool-conf + - name: MULTUS_NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + resources: + limits: + cpu: 100m + memory: 50Mi + requests: + cpu: 100m + memory: 50Mi + {{- if .Values.multus.multusCNI.uninstall }} + lifecycle: + preStop: + exec: + command: + - "/bin/sh" + - "-c" + - | + rm -f /host/opt/cni/bin/multus || true + rm -rf /host/etc/cni/net.d/multus.d || true + rm -f /host/etc/cni/net.d/00-multus.conf || true + {{- end }} + volumeMounts: + - name: cni + mountPath: /host/etc/cni/net.d + - mountPath: /home + name: multus-entrypoint {{- if .Values.multus.multusCNI.extraVolumes }} - {{- include "tplvalues.render" ( dict "value" .Values.multus.multusCNI.extraVolumeMounts "context" $ ) | nindent 12 }} + {{- include "tplvalues.render" ( dict "value" .Values.multus.multusCNI.extraVolumeMounts "context" $ ) | nindent 10 }} {{- end }} {{- end }} volumes: # To read the configuration from the config map - - name: config-path - configMap: - defaultMode: 0400 - name: {{ .Values.global.configName }} - - name: cni-bin-path - hostPath: - path: {{ .Values.global.cniBinHostPath }} - type: DirectoryOrCreate - # To create unix socket dir in the host - - name: ipam-unix-socket-dir - hostPath: - path: {{ dir .Values.global.ipamUNIXSocketHostPath }} - type: DirectoryOrCreate - # multus - {{- if .Values.spiderpoolAgent.prometheus.enabledRdmaMetric }} - - name: host-ns - hostPath: - path: /var/run/netns - {{- end }} + - name: config-path + configMap: + defaultMode: 0400 + name: {{ .Values.global.configName }} + - name: cni-bin-path + hostPath: + path: {{ .Values.global.cniBinHostPath }} + type: DirectoryOrCreate + # To create unix socket dir in the host + - name: ipam-unix-socket-dir + hostPath: + path: {{ dir .Values.global.ipamUNIXSocketHostPath }} + type: DirectoryOrCreate + # multus {{- if .Values.multus.multusCNI.install }} - - name: cni - hostPath: - path: /etc/cni/net.d - - name: multus-cfg - configMap: - name: {{ .Values.multus.multusCNI.name | trunc 63 | trimSuffix "-" }} - items: - - key: cni-conf.json - path: 00-multus.conf + - name: cni + hostPath: + path: /etc/cni/net.d + - name: multus-entrypoint + configMap: + name: {{ .Values.multus.multusCNI.name | trunc 63 | trimSuffix "-" }}-entrypoint + defaultMode: 511 + items: + - key: entrypoint.sh + path: entrypoint.sh {{- end }} {{- if .Values.spiderpoolAgent.extraVolumeMounts }} {{- include "tplvalues.render" ( dict "value" .Values.spiderpoolAgent.extraVolumeMounts "context" $ ) | nindent 6 }} {{- end }} {{- if .Values.multus.multusCNI.extraVolumeMounts }} {{- include "tplvalues.render" ( dict "value" .Values.multus.multusCNI.extraVolumeMounts "context" $ ) | nindent 8 }} - {{- end }} \ No newline at end of file + {{- end }} diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/deleteHook.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/deleteHook.yaml deleted file mode 100644 index ef6a0b924..000000000 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/deleteHook.yaml +++ /dev/null @@ -1,39 +0,0 @@ -{{- if .Values.spiderpoolController.cleanup.enable }} -apiVersion: batch/v1 -kind: Job -metadata: - name: {{ .Values.spiderpoolController.name | trunc 48 | trimSuffix "-" }}-hook-pre-delete - annotations: - "helm.sh/hook": pre-delete - "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded -spec: - template: - spec: - hostNetwork: true - serviceAccountName: {{ .Values.spiderpoolController.name | trunc 63 | trimSuffix "-" }} - containers: - - name: pre-delete - image: {{ include "spiderpool.spiderpoolController.image" . | quote }} - command: - - {{ .Values.spiderpoolController.binName }} - - clean - - --validate - - {{ .Values.spiderpoolController.name | trunc 63 | trimSuffix "-" }} - - --mutating - - {{ .Values.spiderpoolController.name | trunc 63 | trimSuffix "-" }} - env: - - name: SPIDERPOOL_POD_NAMESPACE - value: {{ .Release.Namespace | quote }} - - name: SPIDERPOOL_INIT_NAME - value: {{ .Values.spiderpoolInit.name | trunc 63 | trimSuffix "-" | quote }} - - name: SPIDERPOOL_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: SPIDERPOOL_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - restartPolicy: Never - backoffLimit: 2 -{{- end }} diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/deployment.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/deployment.yaml index 45cbc4be2..d78ce1b08 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/deployment.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/templates/deployment.yaml @@ -187,8 +187,6 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - - name: SPIDERPOOL_CONTROLLER_DEPLOYMENT_NAME - value: {{ .Values.spiderpoolController.name | quote }} {{- with .Values.spiderpoolController.extraEnv }} {{- toYaml . | nindent 8 }} {{- end }} diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/grafanaDashboardRdmaCluster.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/grafanaDashboardRdmaCluster.yaml deleted file mode 100644 index f01125de0..000000000 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/grafanaDashboardRdmaCluster.yaml +++ /dev/null @@ -1,25 +0,0 @@ -{{- if .Values.grafanaDashboard.install -}} -apiVersion: integreatly.org/v1alpha1 -kind: GrafanaDashboard -metadata: - name: {{ default "spiderpool" .Values.global.nameOverride }}-rdma-cluster - namespace: {{ default .Release.Namespace .Values.grafanaDashboard.namespace }} - labels: - {{- if .Values.global.commonLabels }} - {{- include "tplvalues.render" ( dict "value" .Values.global.commonLabels "context" $ ) | nindent 4 }} - {{- end }} - {{- if .Values.grafanaDashboard.labels }} - {{- include "tplvalues.render" ( dict "value" .Values.grafanaDashboard.labels "context" $ ) | nindent 4 }} - {{- end }} - {{- if or .Values.global.commonAnnotations .Values.grafanaDashboard.annotations }} - annotations: - {{- if .Values.global.commonAnnotations }} - {{- include "tplvalues.render" ( dict "value" .Values.global.commonAnnotations "context" $ ) | nindent 4 }} - {{- end }} - {{- if .Values.grafanaDashboard.annotations }} - {{- include "tplvalues.render" ( dict "value" .Values.grafanaDashboard.annotations "context" $ ) | nindent 4 }} - {{- end }} - {{- end }} -spec: - json: {{ .Files.Get "files/grafana-rdma-cluster.json" | toJson }} -{{- end }} \ No newline at end of file diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/grafanaDashboardRdmaNode.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/grafanaDashboardRdmaNode.yaml deleted file mode 100644 index 5870b9738..000000000 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/grafanaDashboardRdmaNode.yaml +++ /dev/null @@ -1,25 +0,0 @@ -{{- if .Values.grafanaDashboard.install -}} -apiVersion: integreatly.org/v1alpha1 -kind: GrafanaDashboard -metadata: - name: {{ default "spiderpool" .Values.global.nameOverride }}-rdma-node - namespace: {{ default .Release.Namespace .Values.grafanaDashboard.namespace }} - labels: - {{- if .Values.global.commonLabels }} - {{- include "tplvalues.render" ( dict "value" .Values.global.commonLabels "context" $ ) | nindent 4 }} - {{- end }} - {{- if .Values.grafanaDashboard.labels }} - {{- include "tplvalues.render" ( dict "value" .Values.grafanaDashboard.labels "context" $ ) | nindent 4 }} - {{- end }} - {{- if or .Values.global.commonAnnotations .Values.grafanaDashboard.annotations }} - annotations: - {{- if .Values.global.commonAnnotations }} - {{- include "tplvalues.render" ( dict "value" .Values.global.commonAnnotations "context" $ ) | nindent 4 }} - {{- end }} - {{- if .Values.grafanaDashboard.annotations }} - {{- include "tplvalues.render" ( dict "value" .Values.grafanaDashboard.annotations "context" $ ) | nindent 4 }} - {{- end }} - {{- end }} -spec: - json: {{ .Files.Get "files/grafana-rdma-node.json" | toJson }} -{{- end }} diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/grafanaDashboardRdmaPod.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/grafanaDashboardRdmaPod.yaml deleted file mode 100644 index 7ef3afccb..000000000 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/grafanaDashboardRdmaPod.yaml +++ /dev/null @@ -1,25 +0,0 @@ -{{- if .Values.grafanaDashboard.install -}} -apiVersion: integreatly.org/v1alpha1 -kind: GrafanaDashboard -metadata: - name: {{ default "spiderpool" .Values.global.nameOverride }}-rdma-pod - namespace: {{ default .Release.Namespace .Values.grafanaDashboard.namespace }} - labels: - {{- if .Values.global.commonLabels }} - {{- include "tplvalues.render" ( dict "value" .Values.global.commonLabels "context" $ ) | nindent 4 }} - {{- end }} - {{- if .Values.grafanaDashboard.labels }} - {{- include "tplvalues.render" ( dict "value" .Values.grafanaDashboard.labels "context" $ ) | nindent 4 }} - {{- end }} - {{- if or .Values.global.commonAnnotations .Values.grafanaDashboard.annotations }} - annotations: - {{- if .Values.global.commonAnnotations }} - {{- include "tplvalues.render" ( dict "value" .Values.global.commonAnnotations "context" $ ) | nindent 4 }} - {{- end }} - {{- if .Values.grafanaDashboard.annotations }} - {{- include "tplvalues.render" ( dict "value" .Values.grafanaDashboard.annotations "context" $ ) | nindent 4 }} - {{- end }} - {{- end }} -spec: - json: {{ .Files.Get "files/grafana-rdma-pod.json" | toJson }} -{{- end }} diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/grafanaDashboardRdmaWorkload.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/grafanaDashboardRdmaWorkload.yaml deleted file mode 100644 index ca226760a..000000000 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/grafanaDashboardRdmaWorkload.yaml +++ /dev/null @@ -1,25 +0,0 @@ -{{- if .Values.grafanaDashboard.install -}} -apiVersion: integreatly.org/v1alpha1 -kind: GrafanaDashboard -metadata: - name: {{ default "spiderpool" .Values.global.nameOverride }}-rdma-workload - namespace: {{ default .Release.Namespace .Values.grafanaDashboard.namespace }} - labels: - {{- if .Values.global.commonLabels }} - {{- include "tplvalues.render" ( dict "value" .Values.global.commonLabels "context" $ ) | nindent 4 }} - {{- end }} - {{- if .Values.grafanaDashboard.labels }} - {{- include "tplvalues.render" ( dict "value" .Values.grafanaDashboard.labels "context" $ ) | nindent 4 }} - {{- end }} - {{- if or .Values.global.commonAnnotations .Values.grafanaDashboard.annotations }} - annotations: - {{- if .Values.global.commonAnnotations }} - {{- include "tplvalues.render" ( dict "value" .Values.global.commonAnnotations "context" $ ) | nindent 4 }} - {{- end }} - {{- if .Values.grafanaDashboard.annotations }} - {{- include "tplvalues.render" ( dict "value" .Values.grafanaDashboard.annotations "context" $ ) | nindent 4 }} - {{- end }} - {{- end }} -spec: - json: {{ .Files.Get "files/grafana-rdma-workload.json" | toJson }} -{{- end }} diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/pod.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/pod.yaml index 5e178ea69..d46b8ea09 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/pod.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/templates/pod.yaml @@ -59,7 +59,7 @@ spec: value: {{ toJson .Values.clusterDefaultPool.ipv4IPRanges | quote }} - name: SPIDERPOOL_INIT_DEFAULT_IPV4_IPPOOL_GATEWAY value: {{ .Values.clusterDefaultPool.ipv4Gateway | quote }} - {{- if .Values.ipam.spiderSubnet.enable }} + {{- if .Values.ipam.enableSpiderSubnet }} - name: SPIDERPOOL_INIT_DEFAULT_IPV4_SUBNET_NAME value: {{ .Values.clusterDefaultPool.ipv4SubnetName | quote }} {{- end }} @@ -73,26 +73,20 @@ spec: value: {{ toJson .Values.clusterDefaultPool.ipv6IPRanges | quote }} - name: SPIDERPOOL_INIT_DEFAULT_IPV6_IPPOOL_GATEWAY value: {{ .Values.clusterDefaultPool.ipv6Gateway | quote }} - {{- if .Values.ipam.spiderSubnet.enable }} + {{- if .Values.ipam.enableSpiderSubnet }} - name: SPIDERPOOL_INIT_DEFAULT_IPV6_SUBNET_NAME value: {{ .Values.clusterDefaultPool.ipv6SubnetName | quote }} {{- end }} {{- end }} - name: SPIDERPOOL_INIT_ENABLE_MULTUS_CONFIG value: {{ .Values.multus.enableMultusConfig | quote }} - - name: SPIDERPOOL_INIT_INSTALL_MULTUS - value: {{ .Values.multus.multusCNI.install | quote }} - name: SPIDERPOOL_INIT_DEFAULT_CNI_NAME value: {{ .Values.multus.multusCNI.defaultCniCRName | quote }} - name: SPIDERPOOL_INIT_DEFAULT_CNI_NAMESPACE value: {{ .Release.Namespace | quote }} - - name: SPIDERPOOL_INIT_MULTUS_CONFIGMAP - value: {{ .Values.multus.multusCNI.name | trunc 63 | trimSuffix "-" | quote }} {{- if eq .Values.multus.multusCNI.defaultCniCRName "" }} - name: SPIDERPOOL_INIT_DEFAULT_CNI_DIR value: {{ .Values.global.cniConfHostPath | quote }} - - name: SPIDERPOOL_INIT_READINESS_FILE - value: "/etc/spiderpool/ready" volumeMounts: - name: cni mountPath: {{ .Values.global.cniConfHostPath }} diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/rdma-shared-dp/rdma-shared-dp.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/rdma-shared-dp/rdma-shared-dp.yaml index 01ababb10..52958e7df 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/rdma-shared-dp/rdma-shared-dp.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/templates/rdma-shared-dp/rdma-shared-dp.yaml @@ -16,14 +16,15 @@ data: config.json: | { "periodicUpdateInterval": {{ .Values.rdma.rdmaSharedDevicePlugin.deviceConfig.periodicUpdateInterval }}, - {{- if .Values.rdma.rdmaSharedDevicePlugin.deviceConfig.configList }} - {{- with .Values.rdma.rdmaSharedDevicePlugin.deviceConfig.configList }} - configList: - {{- toPrettyJson . | trim | nindent 10 }} - {{- end }} - {{- else }} - configList: [] - {{- end }} + "configList": [{ + "resourcePrefix": {{ .Values.rdma.rdmaSharedDevicePlugin.deviceConfig.resourcePrefix | quote }}, + "resourceName": {{ .Values.rdma.rdmaSharedDevicePlugin.deviceConfig.resourceName | quote }}, + "rdmaHcaMax": {{ .Values.rdma.rdmaSharedDevicePlugin.deviceConfig.rdmaHcaMax }}, + "selectors": { + "vendors": [{{ .Values.rdma.rdmaSharedDevicePlugin.deviceConfig.vendors | quote }}], + "deviceIDs": [{{ .Values.rdma.rdmaSharedDevicePlugin.deviceConfig.deviceIDs | quote }}] + } + }] } --- apiVersion: apps/v1 diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/role.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/role.yaml index 031b9240a..3aea975e0 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/role.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/templates/role.yaml @@ -10,6 +10,7 @@ rules: - configmaps - endpoints - namespaces + - nodes - pods - pods/status verbs: @@ -33,36 +34,13 @@ rules: - update - watch - apiGroups: - - "" + - '*' resources: - - nodes + - '*' verbs: - get - list - watch -- apiGroups: - - admissionregistration.k8s.io - resources: - - mutatingwebhookconfigurations - - validatingwebhookconfigurations - verbs: - - delete - - get - - list - - update - - watch -- apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - apiGroups: - apps resources: @@ -75,34 +53,16 @@ rules: - list - update - watch -- apiGroups: - - apps.kruise.io - resources: - - clonesets - - statefulsets - verbs: - - get - - list - - watch - apiGroups: - batch resources: - cronjobs - jobs verbs: - - delete - get - list - update - watch -- apiGroups: - - cilium.io - resources: - - ciliumpodippools - verbs: - - get - - list - - watch - apiGroups: - coordination.k8s.io resources: @@ -111,14 +71,6 @@ rules: - create - get - update -- apiGroups: - - crd.projectcalico.org - resources: - - ippools - verbs: - - get - - list - - watch - apiGroups: - k8s.cni.cncf.io resources: @@ -135,28 +87,23 @@ rules: - kubevirt.io resources: - virtualmachineinstances - - virtualmachines verbs: - get - list - apiGroups: - - networking.k8s.io + - kubevirt.io resources: - - servicecidrs + - virtualmachines verbs: - get - list - - watch - apiGroups: - - resource.k8s.io + - spiderpool.spidernet.io resources: - - podschedulingcontexts - - podschedulingcontexts/status - - resourceclaims - - resourceclaims/status - - resourceclaimtemplates - - resourceclasses + - spidercoordinators verbs: + - create + - delete - get - list - patch @@ -165,11 +112,15 @@ rules: - apiGroups: - spiderpool.spidernet.io resources: - - spiderclaimparameters + - spidercoordinators/status + verbs: + - get + - patch + - update +- apiGroups: + - spiderpool.spidernet.io + resources: - spiderendpoints - - spidermultusconfigs - - spiderreservedips - - spidersubnets verbs: - create - delete @@ -181,10 +132,11 @@ rules: - apiGroups: - spiderpool.spidernet.io resources: - - spidercoordinators + - spiderippools verbs: - create - delete + - deletecollection - get - list - patch @@ -193,9 +145,7 @@ rules: - apiGroups: - spiderpool.spidernet.io resources: - - spidercoordinators/status - spiderippools/status - - spidersubnets/status verbs: - get - patch @@ -203,13 +153,44 @@ rules: - apiGroups: - spiderpool.spidernet.io resources: - - spiderippools + - spidermultusconfigs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - spiderpool.spidernet.io + resources: + - spiderreservedips verbs: - create - delete - - deletecollection - get - list - patch - update - watch +- apiGroups: + - spiderpool.spidernet.io + resources: + - spidersubnets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - spiderpool.spidernet.io + resources: + - spidersubnets/status + verbs: + - get + - patch + - update diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/role_binding.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/role_binding.yaml index 7ca687f78..f18317670 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/role_binding.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/templates/role_binding.yaml @@ -19,4 +19,4 @@ subjects: name: {{ .Values.spiderpoolInit.name | trunc 63 | trimSuffix "-" }} namespace: {{ .Release.Namespace }} {{- end }} -{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/role_rdma-exporter.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/role_rdma-exporter.yaml deleted file mode 100644 index 7fc4a90cc..000000000 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/role_rdma-exporter.yaml +++ /dev/null @@ -1,37 +0,0 @@ -# for rdma metrics exporter, read rdma pod owner's info -# for example, the rdma pod owner is a job, the job's owner is a cronjob -{{- if .Values.spiderpoolAgent.prometheus.enabledRdmaMetric }} -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: spiderpool-rdma-metrics-exporter -rules: - - apiGroups: ["kubeflow.org"] - resources: ["mpijobs", "mxjobs", "notebooks", "paddlejobs", "pytorchjobs", "tfjobs", "xgboostjobs"] - verbs: ["get"] - - apiGroups: ["serving.baize.io"] - resources: ["inferences"] - verbs: ["get"] - - apiGroups: ["apps"] - resources: ["daemonsets", "deployments", "replicasets", "statefulsets"] - verbs: ["get"] - - apiGroups: ["batch"] - resources: ["cronjobs", "jobs"] - verbs: ["get"] - - apiGroups: [""] - resources: ["pods", "pods/status"] - verbs: ["get", "list", "watch"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: spiderpool-rdma-metrics-exporter -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: spiderpool-rdma-metrics-exporter -subjects: - - kind: ServiceAccount - name: {{ .Values.spiderpoolAgent.name | trunc 63 | trimSuffix "-" }} - namespace: {{ .Release.Namespace }} -{{- end }} diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/servicemonitor.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/servicemonitor.yaml index 1efa34623..b56ce2ec3 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/servicemonitor.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/templates/servicemonitor.yaml @@ -15,6 +15,9 @@ metadata: {{- end }} {{- end }} spec: + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} selector: matchLabels: {{- if .Values.global.commonLabels }} diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/clusterrole.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/clusterrole.yaml index 0d13a3113..b523b0e3d 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/clusterrole.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/clusterrole.yaml @@ -19,9 +19,6 @@ rules: - apiGroups: [""] resources: ["pods"] verbs: ["*"] - - apiGroups: [""] - resources: ["pods/eviction"] - verbs: ["create"] - apiGroups: ["apps"] resources: ["daemonsets"] verbs: ["get"] @@ -32,7 +29,7 @@ rules: resources: ["network-attachment-definitions"] verbs: ["*"] - apiGroups: ["rbac.authorization.k8s.io"] - resources: [clusterroles, clusterrolebindings] + resources: ["clusterroles", "clusterrolebindings"] verbs: ["*"] - apiGroups: ["admissionregistration.k8s.io"] resources: ["mutatingwebhookconfigurations", "validatingwebhookconfigurations"] @@ -70,6 +67,9 @@ rules: - apiGroups: ["apps"] resources: ["daemonsets"] verbs: ["get"] + - apiGroups: [""] + resources: ["pods/eviction"] + verbs: ["create"] - apiGroups: [ "config.openshift.io" ] resources: [ "infrastructures" ] verbs: [ "get", "list", "watch" ] diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/configmap.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/configmap.yaml index 19421a6b2..424aadac4 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/configmap.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/configmap.yaml @@ -18,7 +18,6 @@ data: Intel_i40e_25G_SFP28: "8086 158b 154c" Intel_i40e_10G_X710_SFP: "8086 1572 154c" Intel_ixgbe_10G_X550: "8086 1563 1565" - Intel_ixgbe_82576: "8086 10c9 10ca" Intel_i40e_X710_X557_AT_10G: "8086 1589 154c" Intel_i40e_10G_X710_BACKPLANE: "8086 1581 154c" Intel_i40e_10G_X710_BASE_T: "8086 15ff 154c" @@ -28,7 +27,6 @@ data: Intel_ice_Columbiaville_E810-XXVDA4: "8086 1593 1889" Intel_ice_Columbiaville_E810-XXVDA2: "8086 159b 1889" Intel_ice_Columbiaville_E810: "8086 1591 1889" - Intel_ice_Columbiapark_E823C: "8086 188a 1889" Nvidia_mlx5_ConnectX-4: "15b3 1013 1014" Nvidia_mlx5_ConnectX-4LX: "15b3 1015 1016" Nvidia_mlx5_ConnectX-5: "15b3 1017 1018" @@ -43,13 +41,9 @@ data: Broadcom_bnxt_BCM75508_2x100G: "14e4 1750 1806" Qlogic_qede_QL45000_50G: "1077 1654 1664" Red_Hat_Virtio_network_device: "1af4 1000 1000" - Red_Hat_Virtio_1_0_network_device: "1af4 1041 1041" Marvell_OCTEON_TX2_CN96XX: "177d b200 b203" Marvell_OCTEON_TX2_CN98XX: "177d b100 b103" Marvell_OCTEON_Fusion_CNF95XX: "177d b600 b603" Marvell_OCTEON10_CN10XXX: "177d b900 b903" Marvell_OCTEON_Fusion_CNF105XX: "177d ba00 ba03" - {{- range .Values.supportedExtraNICs }} - {{ . }} - {{- end }} {{- end }} \ No newline at end of file diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/operator.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/operator.yaml index b99409600..0093be1b4 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/operator.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/operator.yaml @@ -1,5 +1,4 @@ {{- if .Values.sriov.install -}} -{{- $_ := include "generate-ca-certs" . }} apiVersion: apps/v1 kind: Deployment metadata: @@ -65,23 +64,23 @@ spec: fieldRef: fieldPath: metadata.namespace - name: SRIOV_CNI_IMAGE - value: + value: {{ include "sriov.sriovCni.image" . | quote }} - name: SRIOV_INFINIBAND_CNI_IMAGE - value: - - name: OVS_CNI_IMAGE - value: + value: {{ include "sriov.ibSriovCni.image" . | quote }} - name: SRIOV_DEVICE_PLUGIN_IMAGE value: {{ include "sriov.sriovDevicePlugin.image" . | quote }} - name: NETWORK_RESOURCES_INJECTOR_IMAGE value: {{ include "sriov.resourcesInjector.image" . | quote }} - - name: OPERATOR_NAME - value: {{ .Values.sriov.name | trunc 63 | trimSuffix "-" }} - name: SRIOV_NETWORK_CONFIG_DAEMON_IMAGE value: {{ include "sriov.sriovConfigDaemon.image" . | quote }} - name: SRIOV_NETWORK_WEBHOOK_IMAGE value: {{ include "sriov.webhook.image" . | quote }} - name: RESOURCE_PREFIX value: {{ .Values.sriov.resourcePrefix }} + - name: OPERATOR_NAME + value: {{ .Values.sriov.name | trunc 63 | trimSuffix "-" }} + - name: ENABLE_ADMISSION_CONTROLLER + value: {{ .Values.sriov.enableAdmissionController | quote }} - name: IMAGE_PULL_SECRETS value: {{ .Values.sriov.image.pullPolicy | quote }} - name: NAMESPACE @@ -96,158 +95,8 @@ spec: valueFrom: fieldRef: fieldPath: spec.nodeName - - name: RELEASE_VERSION - value: {{ .Release.AppVersion }} - name: SRIOV_CNI_BIN_PATH value: {{ .Values.global.cniBinHostPath }} - name: CLUSTER_TYPE value: kubernetes - {{- if .Values.sriov.operatorConfig.enableOperatorWebhook }} - - name: ADMISSION_CONTROLLERS_CERTIFICATES_OPERATOR_SECRET_NAME - value: {{ .Values.sriov.webhooktls.secretName | trunc 63 | trimSuffix "-" }} - - name: ADMISSION_CONTROLLERS_CERTIFICATES_OPERATOR_CA_CRT - value: {{ .ca.Cert | b64enc }} - {{- end }} - {{- if .Values.sriov.operatorConfig.enableInjector }} - - name: ADMISSION_CONTROLLERS_CERTIFICATES_INJECTOR_SECRET_NAME - value: {{ .Values.sriov.injectortls.secretName | trunc 63 | trimSuffix "-" }} - - name: ADMISSION_CONTROLLERS_CERTIFICATES_INJECTOR_CA_CRT - value: {{ .ca.Cert | b64enc }} - {{- end }} - {{- if and ( eq .Values.sriov.webhooktls.method "certmanager") ( or .Values.sriov.operatorConfig.enableOperatorWebhook .Values.sriov.operatorConfig.enableInjector ) }} - - name: ADMISSION_CONTROLLERS_CERTIFICATES_CERT_MANAGER_ENABLED - value: "true" - {{- end }} -{{- if .Values.sriov.operatorConfig.enableInjector -}} -{{- if eq .Values.sriov.injectortls.method "certmanager" -}} ---- -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - name: {{ .Values.sriov.name | trunc 63 | trimSuffix "-" }}-injector-server-certs - namespace: {{ .Release.Namespace }} -spec: - issuerRef: - name: {{ .Values.sriov.injectortls.certmanager.issuerName | trunc 63 | trimSuffix "-" }} - secretName: {{ .Values.sriov.injectortls.secretName | trunc 63 | trimSuffix "-" }} - commonName: {{ .Values.sriov.name | trunc 63 | trimSuffix "-" }}.{{ .Release.Namespace }}.svc - dnsNames: - - {{ .Values.sriov.injectortls.serviceName | trunc 63 | trimSuffix "-" }} - - {{ .Values.sriov.injectortls.serviceName | trunc 63 | trimSuffix "-" }}.{{ .Release.Namespace }} - - {{ .Values.sriov.injectortls.serviceName | trunc 63 | trimSuffix "-" }}.{{ .Release.Namespace }}.svc - - {{ .Values.sriov.injectortls.serviceName | trunc 63 | trimSuffix "-" }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDnsDomain }} - {{- range $dns := .Values.sriov.injectortls.certmanager.extraDnsNames }} - - {{ $dns | quote }} - {{- end }} - {{- if .Values.sriov.injectortls.certmanager.extraIPAddresses }} - ipAddresses: - {{- range $ip := .Values.sriov.injectortls.certmanager.extraIPAddresses }} - - {{ $ip | quote }} - {{- end }} - {{- end }} - duration: {{ printf "%dh" (mul .Values.sriov.injectortls.certmanager.certValidityDuration 24) }} - {{- end }} - {{- if (eq .Values.sriov.injectortls.method "provided") }} ---- -apiVersion: v1 -kind: Secret -metadata: - name: {{ .Values.sriov.injectortls.secretName | trunc 63 | trimSuffix "-" }} - namespace: {{ .Release.Namespace }} -type: kubernetes.io/tls -data: - ca.crt: {{ .Values.sriov.injectortls.provided.tlsCa | required "missing sriov.injectortls.provided.tlsCa" }} - tls.crt: {{ .Values.sriov.injectortls.provided.tlsCert | required "missing sriov.injectortls.provided.tlsCert" }} - tls.key: {{ .Values.sriov.injectortls.provided.tlsKey | required "missing sriov.injectortls.provided.tlsKey" }} - {{- end }} - {{- if eq .Values.sriov.injectortls.method "auto" }} ---- -{{- $cn := printf .Values.sriov.name }} -{{- $ip := .Values.sriov.injectortls.auto.extraIpAddresses }} -{{- $dns1 := printf "%s.%s" .Values.sriov.injectortls.serviceName .Release.Namespace }} -{{- $dns2 := printf "%s.%s.svc" .Values.sriov.injectortls.serviceName .Release.Namespace }} -{{- $dns3 := printf "%s.%s.svc.%s" .Values.sriov.injectortls.serviceName .Release.Namespace .Values.global.clusterDnsDomain }} -{{- $dns := prepend .Values.sriov.injectortls.auto.extraDnsNames $dns1 }} -{{- $dns = prepend $dns $dns2 }} -{{- $dns = prepend $dns $dns3 }} -{{- $dns = prepend $dns $cn }} -{{- $cert := genSignedCert $cn $ip $dns (.Values.sriov.injectortls.auto.certExpiration | int) .ca }} -apiVersion: v1 -kind: Secret -metadata: - name: {{ .Values.sriov.injectortls.secretName | trunc 63 | trimSuffix "-" }} - namespace: {{ .Release.Namespace }} -type: kubernetes.io/tls -data: - ca.crt: {{ .ca.Cert | b64enc }} - tls.crt: {{ $cert.Cert | b64enc }} - tls.key: {{ $cert.Key | b64enc }} -{{- end }} -{{- end }} -{{- if .Values.sriov.operatorConfig.enableOperatorWebhook -}} -{{- if eq .Values.sriov.webhooktls.method "certmanager" -}} ---- -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - name: {{ .Values.sriov.name | trunc 63 | trimSuffix "-" }}-webhook-server-certs - namespace: {{ .Release.Namespace }} -spec: - issuerRef: - name: {{ .Values.sriov.webhooktls.certmanager.issuerName | trunc 63 | trimSuffix "-" }} - secretName: {{ .Values.sriov.webhooktls.secretName | trunc 63 | trimSuffix "-" }} - commonName: {{ .Values.sriov.name | trunc 63 | trimSuffix "-" }}.{{ .Release.Namespace }}.svc - dnsNames: - - {{ .Values.sriov.webhooktls.serviceName | trunc 63 | trimSuffix "-" }} - - {{ .Values.sriov.webhooktls.serviceName | trunc 63 | trimSuffix "-" }}.{{ .Release.Namespace }} - - {{ .Values.sriov.webhooktls.serviceName | trunc 63 | trimSuffix "-" }}.{{ .Release.Namespace }}.svc - - {{ .Values.sriov.webhooktls.serviceName | trunc 63 | trimSuffix "-" }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDnsDomain }} - {{- range $dns := .Values.sriov.webhooktls.certmanager.extraDnsNames }} - - {{ $dns | quote }} - {{- end }} - {{- if .Values.sriov.webhooktls.certmanager.extraIPAddresses }} - ipAddresses: - {{- range $ip := .Values.sriov.webhooktls.certmanager.extraIPAddresses }} - - {{ $ip | quote }} - {{- end }} - {{- end }} - duration: {{ printf "%dh" (mul .Values.sriov.webhooktls.certmanager.certValidityDuration 24) }} - {{- end }} - {{- if (eq .Values.sriov.webhooktls.method "provided") }} ---- -apiVersion: v1 -kind: Secret -metadata: - name: {{ .Values.sriov.webhooktls.secretName | trunc 63 | trimSuffix "-" }} - namespace: {{ .Release.Namespace }} -type: kubernetes.io/tls -data: - ca.crt: {{ .Values.sriov.webhooktls.provided.tlsCa | required "missing sriov.webhooktls.provided.tlsCa" }} - tls.crt: {{ .Values.sriov.webhooktls.provided.tlsCert | required "missing sriov.webhooktls.provided.tlsCert" }} - tls.key: {{ .Values.sriov.webhooktls.provided.tlsKey | required "missing sriov.webhooktls.provided.tlsKey" }} -{{- end }} -{{- if eq .Values.sriov.webhooktls.method "auto" }} ---- -{{- $cn := printf .Values.sriov.name }} -{{- $ip := .Values.sriov.webhooktls.auto.extraIpAddresses }} -{{- $dns1 := printf "%s.%s" .Values.sriov.webhooktls.serviceName .Release.Namespace }} -{{- $dns2 := printf "%s.%s.svc" .Values.sriov.webhooktls.serviceName .Release.Namespace }} -{{- $dns3 := printf "%s.%s.svc.%s" .Values.sriov.webhooktls.serviceName .Release.Namespace .Values.global.clusterDnsDomain }} -{{- $dns := prepend .Values.sriov.webhooktls.auto.extraDnsNames $dns1 }} -{{- $dns = prepend $dns $dns2 }} -{{- $dns = prepend $dns $dns3 }} -{{- $dns = prepend $dns $cn }} -{{- $cert := genSignedCert $cn $ip $dns (.Values.sriov.webhooktls.auto.certExpiration | int) .ca }} -apiVersion: v1 -kind: Secret -metadata: - name: {{ .Values.sriov.webhooktls.secretName | trunc 63 | trimSuffix "-" }} - namespace: {{ .Release.Namespace }} -type: kubernetes.io/tls -data: - ca.crt: {{ .ca.Cert | b64enc }} - tls.crt: {{ $cert.Cert | b64enc }} - tls.key: {{ $cert.Key | b64enc }} -{{- end }} -{{- end }} {{- end }} \ No newline at end of file diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/role.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/role.yaml index 9cfeb5b59..ede720604 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/role.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/role.yaml @@ -67,12 +67,6 @@ rules: - get - list - watch - - apiGroups: - - 'coordination.k8s.io' - resources: - - 'leases' - verbs: - - '*' --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role @@ -129,13 +123,6 @@ rules: - 'leases' verbs: - '*' - - apiGroups: - - "" - resources: - - events - verbs: - - create - - patch --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/sriovoperatorconfig.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/sriovoperatorconfig.yaml deleted file mode 100644 index 58aab9ae2..000000000 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/sriov-network-operator/sriovoperatorconfig.yaml +++ /dev/null @@ -1,30 +0,0 @@ -{{- if .Values.sriov.install -}} -apiVersion: sriovnetwork.openshift.io/v1 -kind: SriovOperatorConfig -metadata: - name: default - namespace: {{ .Release.Namespace }} - labels: - {{- include "sriov.operator.labels" . | nindent 4 }} - {{- if .Values.global.commonLabels }} - {{- include "tplvalues.render" ( dict "value" .Values.global.commonLabels "context" $ ) | nindent 4 }} - {{- end }} - {{- if .Values.global.commonAnnotations }} - annotations: - {{- include "tplvalues.render" ( dict "value" .Values.global.commonAnnotations "context" $ ) | nindent 4 }} - {{- end }} -spec: - enableInjector: {{ .Values.sriov.operatorConfig.enableInjector }} - enableOperatorWebhook: {{ .Values.sriov.operatorConfig.enableOperatorWebhook }} - {{- with .Values.sriov.operatorConfig.configDaemonNodeSelector }} - configDaemonNodeSelector: - {{- range $k, $v := .}}{{printf "%s: \"%s\"" $k $v | nindent 4 }}{{ end }} - {{- end }} - logLevel: {{ .Values.sriov.operatorConfig.logLevel }} - disableDrain: {{ .Values.sriov.operatorConfig.disableDrain }} - configurationMode: {{ .Values.sriov.operatorConfig.configurationMode }} - featureGates: - metricsExporter: false - resourceInjectorMatchCondition: true - parallelNicConfig: true -{{- end }} \ No newline at end of file diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/templates/tls.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/templates/tls.yaml index 940d4274b..3dce19003 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/templates/tls.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/templates/tls.yaml @@ -289,6 +289,7 @@ webhooks: - spidermultusconfigs sideEffects: None {{- end }} + {{- if eq .Values.spiderpoolController.tls.method "certmanager" -}} --- apiVersion: cert-manager.io/v1 diff --git a/charts/spiderpool/spiderpool/charts/spiderpool/values.yaml b/charts/spiderpool/spiderpool/charts/spiderpool/values.yaml index ab33cc0f8..3490e7afe 100644 --- a/charts/spiderpool/spiderpool/charts/spiderpool/values.yaml +++ b/charts/spiderpool/spiderpool/charts/spiderpool/values.yaml @@ -53,16 +53,11 @@ ipam: ## @param ipam.enableKubevirtStaticIP the feature to keep kubevirt vm pod static IP enableKubevirtStaticIP: true - spiderSubnet: - ## @param ipam.spiderSubnet.enable SpiderSubnet feature. - enable: true + ## @param ipam.enableSpiderSubnet SpiderSubnet feature gate. + enableSpiderSubnet: true - autoPool: - ## @param ipam.spiderSubnet.autoPool.enable SpiderSubnet Auto IPPool feature. - enable: true - - ## @param ipam.spiderSubnet.autoPool.defaultRedundantIPNumber the default redundant IP number of SpiderSubnet feature auto-created IPPools - defaultRedundantIPNumber: 1 + ## @param ipam.subnetDefaultFlexibleIPNumber the default flexible IP number of SpiderSubnet feature auto-created IPPools + subnetDefaultFlexibleIPNumber: 1 gc: ## @param ipam.gc.enabled enable retrieve IP in spiderippool CR @@ -151,7 +146,7 @@ rdma: digest: "" ## @param rdma.rdmaSharedDevicePlugin.image.tag the image tag of rdma shared device plugin - tag: v1.5.1 + tag: latest ## @param rdma.rdmaSharedDevicePlugin.image.imagePullSecrets the image imagePullSecrets of rdma shared device plugin imagePullSecrets: [] @@ -190,18 +185,20 @@ rdma: ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.periodicUpdateInterval periodic Update Interval periodicUpdateInterval: 300 - ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.configList configure the network card for the rdma resource - configList: [] - # [{ - # resourcePrefix: "spidernet.io", - # resourceName: "hca_shared_devices", - # rdmaHcaMax: 500, - # selectors: { - # "vendors": "15b3", - # "deviceIDs": "1017", - # "ifNames": ["enp11s0f0np0"] - # } - # }] + ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.resourcePrefix resource prefix + resourcePrefix: "spidernet.io" + + ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.resourceName resource Name + resourceName: "hca_shared_devices" + + ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.rdmaHcaMax rdma Hca Max + rdmaHcaMax: 500 + + ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.vendors rdma device vendors, default to mellanox device + vendors: "15b3" + + ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.deviceIDs rdma device IDs, default to mellanox device + deviceIDs: "1017" ## @section multus parameters ## @@ -233,8 +230,7 @@ multus: digest: "" ## @param multus.multusCNI.image.tag the multus-CNI image tag - tag: v3.9.3 - # tag: v4.0.2-thick + tag: v4.1.4 ## @param multus.multusCNI.image.imagePullSecrets the multus-CNI image imagePullSecrets imagePullSecrets: [] @@ -279,9 +275,6 @@ plugins: ## @param plugins.installOvsCNI install ovs cni to each node installOvsCNI: true - ## @param plugins.installSriovCNI install sriov cni to each node - installSriovCNI: true - ## @param plugins.installibSriovCNI install ib-sriov cni to each node installibSriovCNI: true @@ -302,7 +295,7 @@ plugins: digest: "" ## @param plugins.image.tag the image tag of plugins - tag: 82659d90cae0d6a5169eac2869e47c989932d775 + tag: v0.9.2 ## @param plugins.image.imagePullSecrets the image imagePullSecrets of plugins imagePullSecrets: [] @@ -369,7 +362,7 @@ spiderpoolAgent: digest: "" ## @param spiderpoolAgent.image.tag the image tag of spiderpoolAgent, overrides the image tag whose default is the chart appVersion. - tag: v1.0.0-rc3 + tag: v0.9.8 ## @param spiderpoolAgent.image.imagePullSecrets the image imagePullSecrets of spiderpoolAgent imagePullSecrets: [] @@ -471,9 +464,6 @@ spiderpoolAgent: ## @param spiderpoolAgent.prometheus.enabled enable spiderpool agent to collect metrics enabled: false - ## @param spiderpoolAgent.prometheus.enabledRdmaMetric enable spiderpool agent to collect RDMA metrics - enabledRdmaMetric: false - ## @param spiderpoolAgent.prometheus.enabledDebugMetric enable spiderpool agent to collect debug level metrics enabledDebugMetric: false @@ -559,7 +549,7 @@ spiderpoolController: digest: "" ## @param spiderpoolController.image.tag the image tag of spiderpoolController, overrides the image tag whose default is the chart appVersion. - tag: v1.0.0-rc3 + tag: v0.9.8 ## @param spiderpoolController.image.imagePullSecrets the image imagePullSecrets of spiderpoolController imagePullSecrets: [] @@ -665,20 +655,6 @@ spiderpoolController: ## @param spiderpoolController.webhookPort the http port for spiderpoolController webhook webhookPort: 5722 - podResourceInject: - ## @param spiderpoolController.podResourceInject.enabled enable pod resource inject - enabled: false - - ## @param spiderpoolController.podResourceInject.namespacesExclude exclude the namespaces of the pod resource inject - namespacesExclude: - - kube-system - - spiderpool - - metallb-system - - istio-system - - ## @param spiderpoolController.podResourceInject.namespacesInclude include the namespaces of the pod resource inject, empty means all namespaces but exclude the namespaces in namespacesExclude, not empty means only include the namespaces in namespacesInclude - namespacesInclude: [] - prometheus: ## @param spiderpoolController.prometheus.enabled enable spiderpool Controller to collect metrics enabled: false @@ -742,7 +718,7 @@ spiderpoolController: ## for certmanager method certmanager: ## @param spiderpoolController.tls.certmanager.certValidityDuration generated certificates validity duration in days for 'certmanager' method - certValidityDuration: 36500 + certValidityDuration: 365 ## @param spiderpoolController.tls.certmanager.issuerName issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created. issuerName: "" @@ -778,10 +754,6 @@ spiderpoolController: ## @param spiderpoolController.tls.auto.extraDnsNames extra DNS names of server cert for auto method extraDnsNames: [] - cleanup: - ## @param spiderpoolController.cleanup.enable clean up resources when helm uninstall - enable: true - ## @section spiderpoolInit parameters ## spiderpoolInit: @@ -805,7 +777,7 @@ spiderpoolInit: digest: "" ## @param spiderpoolInit.image.tag the image tag of spiderpoolInit, overrides the image tag whose default is the chart appVersion. - tag: v1.0.0-rc3 + tag: v0.9.8 ## @param spiderpoolInit.image.imagePullSecrets the image imagePullSecrets of spiderpoolInit imagePullSecrets: [] @@ -857,6 +829,9 @@ sriov: ## @param sriov.priorityClassName the priority Class Name priorityClassName: "system-node-critical" + ## @param sriov.enableAdmissionController enable Admission Controller + enableAdmissionController: false + resources: limits: ## @param sriov.resources.limits.cpu the cpu limit @@ -869,27 +844,6 @@ sriov: ## @param sriov.resources.requests.memory the memory requests memory: 128Mi - operatorConfig: - ## @param sriov.operatorConfig.enableInjector Flag to control whether the network resource injector webhook shall be deployed - enableInjector: false - - ## @param sriov.operatorConfig.enableOperatorWebhook Flag to control whether the operator admission controller webhook shall be deployed - enableOperatorWebhook: true - - configDaemonNodeSelector: - ## @skip sriov.operatorConfig.configDaemonNodeSelector.configDaemonNodeSelector.kubernetes.io/os - ## @skip sriov.operatorConfig.configDaemonNodeSelector.kubernetes.io/os - kubernetes.io/os: "linux" - - ## @param sriov.operatorConfig.logLevel Flag to control the log verbose level of the operator - logLevel: 2 - - ## @param sriov.operatorConfig.disableDrain Flag to disable nodes drain during debugging - disableDrain: true - - ## @param sriov.operatorConfig.configurationMode Flag to enable the sriov-network-config-daemon to use a systemd service to configure SR-IOV devices on boot - configurationMode: daemon - image: ## @param sriov.image.registry registry for all images registry: ghcr.io @@ -903,141 +857,49 @@ sriov: operator: ## @param sriov.image.operator.repository the image repository - repository: spidernet-io/sriov-network-operator + repository: k8snetworkplumbingwg/sriov-network-operator ## @param sriov.image.operator.tag the image tag - tag: v1.3.0 + tag: v1.2.0 sriovConfigDaemon: ## @param sriov.image.sriovConfigDaemon.repository the image repository - repository: spidernet-io/sriov-network-operator-config-daemon + repository: k8snetworkplumbingwg/sriov-network-operator-config-daemon ## @param sriov.image.sriovConfigDaemon.tag the image tag - tag: v1.3.0 + tag: v1.2.0 + + sriovCni: + ## @param sriov.image.sriovCni.repository the image repository + repository: k8snetworkplumbingwg/sriov-cni + + ## @param sriov.image.sriovCni.tag the image tag + tag: v2.7.0 + + ibSriovCni: + ## @param sriov.image.ibSriovCni.repository the image repository + repository: k8snetworkplumbingwg/ib-sriov-cni + + ## @param sriov.image.ibSriovCni.tag the image tag + tag: v1.0.2 sriovDevicePlugin: ## @param sriov.image.sriovDevicePlugin.repository the image repository repository: k8snetworkplumbingwg/sriov-network-device-plugin ## @param sriov.image.sriovDevicePlugin.tag the image tag - tag: v3.7.0 + tag: v3.5.1 resourcesInjector: ## @param sriov.image.resourcesInjector.repository the image repository repository: k8snetworkplumbingwg/network-resources-injector ## @param sriov.image.resourcesInjector.tag the image tag - tag: v1.6.0 + tag: v1.5 webhook: ## @param sriov.image.webhook.repository the image repository repository: k8snetworkplumbingwg/sriov-network-operator-webhook ## @param sriov.image.webhook.tag the image tag - tag: v1.3.0 - - ## TLS configuration for operator webhook - webhooktls: - ## @param sriov.webhooktls.method the method for generating TLS certificates. [ provided , certmanager , auto] - ## - provided: provide all certificates by helm options - ## - certmanager: This method use cert-manager to generate & rotate certificates. - ## - auto: Auto generate cert. - method: auto - - ## @param sriov.webhooktls.secretName the secret name for storing TLS certificates - secretName: "sriov-operator-webhook" - - ## @param sriov.webhooktls.serviceName the service name of webhook. Do not modify this !!! - serviceName: "operator-webhook-service" - - ## for certmanager method - certmanager: - ## @param sriov.webhooktls.certmanager.certValidityDuration generated certificates validity duration in days for 'certmanager' method - certValidityDuration: 365 - - ## @param sriov.webhooktls.certmanager.issuerName issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created. - issuerName: "" - - ## @param sriov.webhooktls.certmanager.extraDnsNames extra DNS names added to certificate when it's auto generated - extraDnsNames: [] - - ## @param sriov.webhooktls.certmanager.extraIPAddresses extra IP addresses added to certificate when it's auto generated - extraIPAddresses: [] - - ## for provided method - provided: - ## @param sriov.webhooktls.provided.tlsCert encoded tls certificate for provided method - ## @param sriov.webhooktls.provided.tlsKey encoded tls key for provided method - ## @param sriov.webhooktls.provided.tlsCa encoded tls CA for provided method - tlsCert: "" - tlsKey: "" - tlsCa: "" - - ## for auto method - auto: - ## @param sriov.webhooktls.auto.caExpiration ca expiration for auto method - # in day , default 200 years - caExpiration: '73000' - - ## @param sriov.webhooktls.auto.certExpiration server cert expiration for auto method - # in day, default 200 years - certExpiration: '73000' - - ## @param sriov.webhooktls.auto.extraIpAddresses extra IP addresses of server certificate for auto method - extraIpAddresses: [] - - ## @param sriov.webhooktls.auto.extraDnsNames extra DNS names of server cert for auto method - extraDnsNames: [] - - ## TLS configuration for injector webhook - injectortls: - ## @param sriov.injectortls.method the method for generating TLS certificates. [ provided , certmanager , auto] - ## - provided: provide all certificates by helm options - ## - certmanager: This method use cert-manager to generate & rotate certificates. - ## - auto: Auto generate cert. - method: auto - - ## @param sriov.injectortls.secretName the secret name for storing TLS certificates - secretName: "sriov-injector" - - ## @param sriov.injectortls.serviceName the service name of webhook. Do not modify this !!! - serviceName: "network-resources-injector-service" - - ## for certmanager method - certmanager: - ## @param sriov.injectortls.certmanager.certValidityDuration generated certificates validity duration in days for 'certmanager' method - certValidityDuration: 36500 - - ## @param sriov.injectortls.certmanager.issuerName issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created. - issuerName: "" - - ## @param sriov.injectortls.certmanager.extraDnsNames extra DNS names added to certificate when it's auto generated - extraDnsNames: [] - - ## @param sriov.injectortls.certmanager.extraIPAddresses extra IP addresses added to certificate when it's auto generated - extraIPAddresses: [] - - ## for provided method - provided: - ## @param sriov.injectortls.provided.tlsCert encoded tls certificate for provided method - ## @param sriov.injectortls.provided.tlsKey encoded tls key for provided method - ## @param sriov.injectortls.provided.tlsCa encoded tls CA for provided method - tlsCert: "" - tlsKey: "" - tlsCa: "" - - ## for auto method - auto: - ## @param sriov.injectortls.auto.caExpiration ca expiration for auto method - # in day , default 200 years - caExpiration: '73000' - - ## @param sriov.injectortls.auto.certExpiration server cert expiration for auto method - # in day, default 200 years - certExpiration: '73000' - - ## @param sriov.injectortls.auto.extraIpAddresses extra IP addresses of server certificate for auto method - extraIpAddresses: [] - - ## @param sriov.injectortls.auto.extraDnsNames extra DNS names of server cert for auto method - extraDnsNames: [] + tag: v1.2.0 diff --git a/charts/spiderpool/spiderpool/values.yaml b/charts/spiderpool/spiderpool/values.yaml index 330011bb3..09d433290 100644 --- a/charts/spiderpool/spiderpool/values.yaml +++ b/charts/spiderpool/spiderpool/values.yaml @@ -42,14 +42,10 @@ spiderpool: enableStatefulSet: true ## @param ipam.enableKubevirtStaticIP the feature to keep kubevirt vm pod static IP enableKubevirtStaticIP: true - spiderSubnet: - ## @param ipam.spiderSubnet.enable SpiderSubnet feature. - enable: true - autoPool: - ## @param ipam.spiderSubnet.autoPool.enable SpiderSubnet Auto IPPool feature. - enable: true - ## @param ipam.spiderSubnet.autoPool.defaultRedundantIPNumber the default redundant IP number of SpiderSubnet feature auto-created IPPools - defaultRedundantIPNumber: 1 + ## @param ipam.enableSpiderSubnet SpiderSubnet feature gate. + enableSpiderSubnet: true + ## @param ipam.subnetDefaultFlexibleIPNumber the default flexible IP number of SpiderSubnet feature auto-created IPPools + subnetDefaultFlexibleIPNumber: 1 gc: ## @param ipam.gc.enabled enable retrieve IP in spiderippool CR enabled: true @@ -114,7 +110,7 @@ spiderpool: ## @param rdma.rdmaSharedDevicePlugin.image.digest the image digest of rdma shared device plugin digest: "" ## @param rdma.rdmaSharedDevicePlugin.image.tag the image tag of rdma shared device plugin - tag: v1.5.1 + tag: latest ## @param rdma.rdmaSharedDevicePlugin.image.imagePullSecrets the image imagePullSecrets of rdma shared device plugin imagePullSecrets: [] # - name: "image-pull-secret" @@ -145,18 +141,16 @@ spiderpool: deviceConfig: ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.periodicUpdateInterval periodic Update Interval periodicUpdateInterval: 300 - ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.configList configure the network card for the rdma resource - configList: [] - # [{ - # resourcePrefix: "spidernet.io", - # resourceName: "hca_shared_devices", - # rdmaHcaMax: 500, - # selectors: { - # "vendors": "15b3", - # "deviceIDs": "1017", - # "ifNames": ["enp11s0f0np0"] - # } - # }] + ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.resourcePrefix resource prefix + resourcePrefix: "spidernet.io" + ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.resourceName resource Name + resourceName: "hca_shared_devices" + ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.rdmaHcaMax rdma Hca Max + rdmaHcaMax: 500 + ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.vendors rdma device vendors, default to mellanox device + vendors: "15b3" + ## @param rdma.rdmaSharedDevicePlugin.deviceConfig.deviceIDs rdma device IDs, default to mellanox device + deviceIDs: "1017" ## @section multus parameters ## multus: @@ -179,9 +173,7 @@ spiderpool: ## @param multus.multusCNI.image.digest the multus-CNI image digest digest: "" ## @param multus.multusCNI.image.tag the multus-CNI image tag - tag: v3.9.3 - # tag: v4.0.2-thick - + tag: v4.1.4 ## @param multus.multusCNI.image.imagePullSecrets the multus-CNI image imagePullSecrets imagePullSecrets: [] # - name: "image-pull-secret" @@ -216,8 +208,6 @@ spiderpool: installRdmaCNI: true ## @param plugins.installOvsCNI install ovs cni to each node installOvsCNI: true - ## @param plugins.installSriovCNI install sriov cni to each node - installSriovCNI: true ## @param plugins.installibSriovCNI install ib-sriov cni to each node installibSriovCNI: true ## @param plugins.installIpoibCNI install ipoib cni to each node @@ -232,7 +222,7 @@ spiderpool: ## @param plugins.image.digest the image digest of plugins digest: "" ## @param plugins.image.tag the image tag of plugins - tag: 82659d90cae0d6a5169eac2869e47c989932d775 + tag: v0.9.2 ## @param plugins.image.imagePullSecrets the image imagePullSecrets of plugins imagePullSecrets: [] ## @section clusterDefaultPool parameters @@ -281,7 +271,7 @@ spiderpool: ## @param spiderpoolAgent.image.digest the image digest of spiderpoolAgent, which takes preference over tag digest: "" ## @param spiderpoolAgent.image.tag the image tag of spiderpoolAgent, overrides the image tag whose default is the chart appVersion. - tag: v1.0.0-rc3 + tag: v0.9.8 ## @param spiderpoolAgent.image.imagePullSecrets the image imagePullSecrets of spiderpoolAgent imagePullSecrets: [] # - name: "image-pull-secret" @@ -361,8 +351,6 @@ spiderpool: prometheus: ## @param spiderpoolAgent.prometheus.enabled enable spiderpool agent to collect metrics enabled: false - ## @param spiderpoolAgent.prometheus.enabledRdmaMetric enable spiderpool agent to collect RDMA metrics - enabledRdmaMetric: false ## @param spiderpoolAgent.prometheus.enabledDebugMetric enable spiderpool agent to collect debug level metrics enabledDebugMetric: false ## @param spiderpoolAgent.prometheus.port the metrics port of spiderpool agent @@ -424,7 +412,7 @@ spiderpool: ## @param spiderpoolController.image.digest the image digest of spiderpoolController, which takes preference over tag digest: "" ## @param spiderpoolController.image.tag the image tag of spiderpoolController, overrides the image tag whose default is the chart appVersion. - tag: v1.0.0-rc3 + tag: v0.9.8 ## @param spiderpoolController.image.imagePullSecrets the image imagePullSecrets of spiderpoolController imagePullSecrets: [] # - name: "image-pull-secret" @@ -509,42 +497,6 @@ spiderpool: periodSeconds: 10 ## @param spiderpoolController.webhookPort the http port for spiderpoolController webhook webhookPort: 5722 - podResourceInject: - ## @param spiderpoolController.podResourceInject.enabled enable pod resource inject - enabled: true - ## @param spiderpoolController.podResourceInject.namespacesExclude exclude the namespaces of the pod resource inject - namespacesExclude: - - insight-system - - mcamel-system - - amamba-system - - argocd - - baize-system - - ghippo-system - - gpu-operator - - dowl-system - - hwameistor - - insight-system - - kairship-system - - kangaroo-system - - kant-system - - kcollie-system - - kcoral-system - - kolm-system - - kpanda-system - - kubean-system - - local-path-storage - - mspider-system - - nvidia-gpu-operator - - skoala-system - - spidernet-system - - virtnest-system - - ipavo-system - - kube-system - - spiderpool - - metallb-system - - istio-system - ## @param spiderpoolController.podResourceInject.namespacesInclude include the namespaces of the pod resource inject, empty means all namespaces but exclude the namespaces in namespacesExclude, not empty means only include the namespaces in namespacesInclude - namespacesInclude: [] prometheus: ## @param spiderpoolController.prometheus.enabled enable spiderpool Controller to collect metrics enabled: false @@ -591,7 +543,7 @@ spiderpool: ## for certmanager method certmanager: ## @param spiderpoolController.tls.certmanager.certValidityDuration generated certificates validity duration in days for 'certmanager' method - certValidityDuration: 36500 + certValidityDuration: 365 ## @param spiderpoolController.tls.certmanager.issuerName issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created. issuerName: "" ## @param spiderpoolController.tls.certmanager.extraDnsNames extra DNS names added to certificate when it's auto generated @@ -618,9 +570,6 @@ spiderpool: extraIpAddresses: [] ## @param spiderpoolController.tls.auto.extraDnsNames extra DNS names of server cert for auto method extraDnsNames: [] - cleanup: - ## @param spiderpoolController.cleanup.enable clean up resources when helm uninstall - enable: true ## @section spiderpoolInit parameters ## spiderpoolInit: @@ -638,7 +587,7 @@ spiderpool: ## @param spiderpoolInit.image.digest the image digest of spiderpoolInit, which takes preference over tag digest: "" ## @param spiderpoolInit.image.tag the image tag of spiderpoolInit, overrides the image tag whose default is the chart appVersion. - tag: v1.0.0-rc3 + tag: v0.9.8 ## @param spiderpoolInit.image.imagePullSecrets the image imagePullSecrets of spiderpoolInit imagePullSecrets: [] # - name: "image-pull-secret" @@ -676,6 +625,8 @@ spiderpool: resourcePrefix: "spidernet.io" ## @param sriov.priorityClassName the priority Class Name priorityClassName: "system-node-critical" + ## @param sriov.enableAdmissionController enable Admission Controller + enableAdmissionController: false resources: limits: ## @param sriov.resources.limits.cpu the cpu limit @@ -687,21 +638,6 @@ spiderpool: cpu: 100m ## @param sriov.resources.requests.memory the memory requests memory: 128Mi - operatorConfig: - ## @param sriov.operatorConfig.enableInjector Flag to control whether the network resource injector webhook shall be deployed - enableInjector: false - ## @param sriov.operatorConfig.enableOperatorWebhook Flag to control whether the operator admission controller webhook shall be deployed - enableOperatorWebhook: true - configDaemonNodeSelector: - ## @skip sriov.operatorConfig.configDaemonNodeSelector.configDaemonNodeSelector.kubernetes.io/os - ## @skip sriov.operatorConfig.configDaemonNodeSelector.kubernetes.io/os - kubernetes.io/os: "linux" - ## @param sriov.operatorConfig.logLevel Flag to control the log verbose level of the operator - logLevel: 2 - ## @param sriov.operatorConfig.disableDrain Flag to disable nodes drain during debugging - disableDrain: true - ## @param sriov.operatorConfig.configurationMode Flag to enable the sriov-network-config-daemon to use a systemd service to configure SR-IOV devices on boot - configurationMode: daemon image: ## @param sriov.image.registry registry for all images registry: ghcr.io @@ -713,19 +649,29 @@ spiderpool: operator: ## @param sriov.image.operator.repository the image repository - repository: spidernet-io/sriov-network-operator + repository: k8snetworkplumbingwg/sriov-network-operator ## @param sriov.image.operator.tag the image tag - tag: v1.3.0 + tag: v1.2.0 sriovConfigDaemon: ## @param sriov.image.sriovConfigDaemon.repository the image repository - repository: spidernet-io/sriov-network-operator-config-daemon + repository: k8snetworkplumbingwg/sriov-network-operator-config-daemon ## @param sriov.image.sriovConfigDaemon.tag the image tag - tag: v1.3.0 + tag: v1.2.0 + sriovCni: + ## @param sriov.image.sriovCni.repository the image repository + repository: k8snetworkplumbingwg/sriov-cni + ## @param sriov.image.sriovCni.tag the image tag + tag: v2.7.0 + ibSriovCni: + ## @param sriov.image.ibSriovCni.repository the image repository + repository: k8snetworkplumbingwg/ib-sriov-cni + ## @param sriov.image.ibSriovCni.tag the image tag + tag: v1.0.2 sriovDevicePlugin: ## @param sriov.image.sriovDevicePlugin.repository the image repository repository: k8snetworkplumbingwg/sriov-network-device-plugin ## @param sriov.image.sriovDevicePlugin.tag the image tag - tag: v3.7.0 + tag: v3.5.1 resourcesInjector: ## @param sriov.image.resourcesInjector.repository the image repository repository: k8snetworkplumbingwg/network-resources-injector @@ -735,86 +681,4 @@ spiderpool: ## @param sriov.image.webhook.repository the image repository repository: k8snetworkplumbingwg/sriov-network-operator-webhook ## @param sriov.image.webhook.tag the image tag - tag: v1.3.0 - ## TLS configuration for operator webhook - webhooktls: - ## @param sriov.webhooktls.method the method for generating TLS certificates. [ provided , certmanager , auto] - ## - provided: provide all certificates by helm options - ## - certmanager: This method use cert-manager to generate & rotate certificates. - ## - auto: Auto generate cert. - method: auto - ## @param sriov.webhooktls.secretName the secret name for storing TLS certificates - secretName: "sriov-operator-webhook" - ## @param sriov.webhooktls.serviceName the service name of webhook. Do not modify this !!! - serviceName: "operator-webhook-service" - ## for certmanager method - certmanager: - ## @param sriov.webhooktls.certmanager.certValidityDuration generated certificates validity duration in days for 'certmanager' method - certValidityDuration: 365 - ## @param sriov.webhooktls.certmanager.issuerName issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created. - issuerName: "" - ## @param sriov.webhooktls.certmanager.extraDnsNames extra DNS names added to certificate when it's auto generated - extraDnsNames: [] - ## @param sriov.webhooktls.certmanager.extraIPAddresses extra IP addresses added to certificate when it's auto generated - extraIPAddresses: [] - ## for provided method - provided: - ## @param sriov.webhooktls.provided.tlsCert encoded tls certificate for provided method - ## @param sriov.webhooktls.provided.tlsKey encoded tls key for provided method - ## @param sriov.webhooktls.provided.tlsCa encoded tls CA for provided method - tlsCert: "" - tlsKey: "" - tlsCa: "" - ## for auto method - auto: - ## @param sriov.webhooktls.auto.caExpiration ca expiration for auto method - # in day , default 200 years - caExpiration: '73000' - ## @param sriov.webhooktls.auto.certExpiration server cert expiration for auto method - # in day, default 200 years - certExpiration: '73000' - ## @param sriov.webhooktls.auto.extraIpAddresses extra IP addresses of server certificate for auto method - extraIpAddresses: [] - ## @param sriov.webhooktls.auto.extraDnsNames extra DNS names of server cert for auto method - extraDnsNames: [] - ## TLS configuration for injector webhook - injectortls: - ## @param sriov.injectortls.method the method for generating TLS certificates. [ provided , certmanager , auto] - ## - provided: provide all certificates by helm options - ## - certmanager: This method use cert-manager to generate & rotate certificates. - ## - auto: Auto generate cert. - method: auto - ## @param sriov.injectortls.secretName the secret name for storing TLS certificates - secretName: "sriov-injector" - ## @param sriov.injectortls.serviceName the service name of webhook. Do not modify this !!! - serviceName: "network-resources-injector-service" - ## for certmanager method - certmanager: - ## @param sriov.injectortls.certmanager.certValidityDuration generated certificates validity duration in days for 'certmanager' method - certValidityDuration: 36500 - ## @param sriov.injectortls.certmanager.issuerName issuer name of cert manager 'certmanager'. If not specified, a CA issuer will be created. - issuerName: "" - ## @param sriov.injectortls.certmanager.extraDnsNames extra DNS names added to certificate when it's auto generated - extraDnsNames: [] - ## @param sriov.injectortls.certmanager.extraIPAddresses extra IP addresses added to certificate when it's auto generated - extraIPAddresses: [] - ## for provided method - provided: - ## @param sriov.injectortls.provided.tlsCert encoded tls certificate for provided method - ## @param sriov.injectortls.provided.tlsKey encoded tls key for provided method - ## @param sriov.injectortls.provided.tlsCa encoded tls CA for provided method - tlsCert: "" - tlsKey: "" - tlsCa: "" - ## for auto method - auto: - ## @param sriov.injectortls.auto.caExpiration ca expiration for auto method - # in day , default 200 years - caExpiration: '73000' - ## @param sriov.injectortls.auto.certExpiration server cert expiration for auto method - # in day, default 200 years - certExpiration: '73000' - ## @param sriov.injectortls.auto.extraIpAddresses extra IP addresses of server certificate for auto method - extraIpAddresses: [] - ## @param sriov.injectortls.auto.extraDnsNames extra DNS names of server cert for auto method - extraDnsNames: [] + tag: v1.2.0