From d638ea4b8bec939aafbeae586c1eaefd7ca5539e Mon Sep 17 00:00:00 2001 From: hoppea2 <33433874+hoppea2@users.noreply.github.com> Date: Wed, 25 May 2022 11:53:52 -0400 Subject: [PATCH 01/19] Update otel-collector-config.yaml updated tls settings for otel --- charts/karavi-observability/otel-collector-config.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/charts/karavi-observability/otel-collector-config.yaml b/charts/karavi-observability/otel-collector-config.yaml index ef7fcef3..382b9993 100644 --- a/charts/karavi-observability/otel-collector-config.yaml +++ b/charts/karavi-observability/otel-collector-config.yaml @@ -2,7 +2,8 @@ receivers: otlp: protocols: grpc: - tls_settings: + endpoint: 0.0.0.0:55680 + tls: cert_file: /etc/ssl/certs/tls.crt key_file: /etc/ssl/certs/tls.key From e7cd11c28acabd547f9daac50c4b89e1d3c33891 Mon Sep 17 00:00:00 2001 From: hoppea2 <33433874+hoppea2@users.noreply.github.com> Date: Wed, 25 May 2022 11:54:47 -0400 Subject: [PATCH 02/19] Update Chart.yaml increment helm chart version --- charts/karavi-observability/Chart.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/karavi-observability/Chart.yaml b/charts/karavi-observability/Chart.yaml index 59eafa88..33f644c2 100644 --- a/charts/karavi-observability/Chart.yaml +++ b/charts/karavi-observability/Chart.yaml @@ -1,9 +1,9 @@ apiVersion: v2 -appVersion: "1.1.0" +appVersion: "1.1.1" name: karavi-observability description: CSM for Observability is part of the [Container Storage Modules](https://github.com/dell/csm) open source suite of Kubernetes storage enablers for Dell EMC storage products. CSM for Observability provides Kubernetes administrators with visibility into metrics and topology data related to containerized storage. type: application -version: 1.1.0 +version: 1.1.1 dependencies: - name: cert-manager version: 1.6.1 From 8376037ca7738932fa620d12f8253d762a9f8d7e Mon Sep 17 00:00:00 2001 From: hoppea2 <33433874+hoppea2@users.noreply.github.com> Date: Wed, 25 May 2022 14:18:14 -0400 Subject: [PATCH 03/19] Update otel-collector-config.yaml updating correct tls settings --- charts/karavi-observability/otel-collector-config.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/charts/karavi-observability/otel-collector-config.yaml b/charts/karavi-observability/otel-collector-config.yaml index 382b9993..ef7fcef3 100644 --- a/charts/karavi-observability/otel-collector-config.yaml +++ b/charts/karavi-observability/otel-collector-config.yaml @@ -2,8 +2,7 @@ receivers: otlp: protocols: grpc: - endpoint: 0.0.0.0:55680 - tls: + tls_settings: cert_file: /etc/ssl/certs/tls.crt key_file: /etc/ssl/certs/tls.key From 00b337b4749cbe2cac243d7bea43617ae544c5bd Mon Sep 17 00:00:00 2001 From: hoppea2 <33433874+hoppea2@users.noreply.github.com> Date: Wed, 25 May 2022 14:23:10 -0400 Subject: [PATCH 04/19] Update otel-collector-config.yaml update tls settings --- charts/karavi-observability/otel-collector-config.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/charts/karavi-observability/otel-collector-config.yaml b/charts/karavi-observability/otel-collector-config.yaml index 382b9993..ef7fcef3 100644 --- a/charts/karavi-observability/otel-collector-config.yaml +++ b/charts/karavi-observability/otel-collector-config.yaml @@ -2,8 +2,7 @@ receivers: otlp: protocols: grpc: - endpoint: 0.0.0.0:55680 - tls: + tls_settings: cert_file: /etc/ssl/certs/tls.crt key_file: /etc/ssl/certs/tls.key From 998ecdaf920c2357b7407261565331df59860425 Mon Sep 17 00:00:00 2001 From: shaynafinocchiaro <66699024+shaynafinocchiaro@users.noreply.github.com> Date: Mon, 20 Jun 2022 15:24:49 -0400 Subject: [PATCH 05/19] update observability metric service immage taags for CSM .3 release (#124) --- charts/karavi-observability/Chart.yaml | 4 ++-- charts/karavi-observability/values.yaml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/charts/karavi-observability/Chart.yaml b/charts/karavi-observability/Chart.yaml index 33f644c2..2cb986f5 100644 --- a/charts/karavi-observability/Chart.yaml +++ b/charts/karavi-observability/Chart.yaml @@ -1,9 +1,9 @@ apiVersion: v2 -appVersion: "1.1.1" +appVersion: "1.2.0" name: karavi-observability description: CSM for Observability is part of the [Container Storage Modules](https://github.com/dell/csm) open source suite of Kubernetes storage enablers for Dell EMC storage products. CSM for Observability provides Kubernetes administrators with visibility into metrics and topology data related to containerized storage. type: application -version: 1.1.1 +version: 1.2.0 dependencies: - name: cert-manager version: 1.6.1 diff --git a/charts/karavi-observability/values.yaml b/charts/karavi-observability/values.yaml index 60dcf716..c592faeb 100644 --- a/charts/karavi-observability/values.yaml +++ b/charts/karavi-observability/values.yaml @@ -1,5 +1,5 @@ karaviTopology: - image: dellemc/csm-topology:v1.1.0 + image: dellemc/csm-topology:v1.2.0 enabled: true # comma separated list of provisioner names (ex: csi-vxflexos.dellemc.com) provisionerNames: csi-vxflexos.dellemc.com,csi-powerstore.dellemc.com @@ -13,7 +13,7 @@ karaviTopology: probability: 0.0 karaviMetricsPowerflex: - image: dellemc/csm-metrics-powerflex:v1.1.1 + image: dellemc/csm-metrics-powerflex:v1.2.0 enabled: true collectorAddr: otel-collector:55680 # comma separated list of provisioner names (ex: csi-vxflexos.dellemc.com) @@ -53,7 +53,7 @@ karaviMetricsPowerflex: skipCertificateValidation: true karaviMetricsPowerstore: - image: dellemc/csm-metrics-powerstore:v1.1.1 + image: dellemc/csm-metrics-powerstore:v1.2.0 enabled: true collectorAddr: otel-collector:55680 # comma separated list of provisioner names (ex: csi-powerstore.dellemc.com) From d7e455a77784bedfb35bece6d8e1b7831557d51b Mon Sep 17 00:00:00 2001 From: shaynafinocchiaro <66699024+shaynafinocchiaro@users.noreply.github.com> Date: Tue, 21 Jun 2022 13:55:49 -0400 Subject: [PATCH 06/19] align authorization sidecar with CSM 1.3 release (#126) --- charts/karavi-observability/values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/karavi-observability/values.yaml b/charts/karavi-observability/values.yaml index c592faeb..4bf8c973 100644 --- a/charts/karavi-observability/values.yaml +++ b/charts/karavi-observability/values.yaml @@ -40,8 +40,8 @@ karaviMetricsPowerflex: authorization: enabled: false # sidecarProxyImage: the container image used for the csm-authorization-sidecar. - # Default value: dellemc/csm-authorization-sidecar:v1.2.0 - sidecarProxyImage: dellemc/csm-authorization-sidecar:v1.2.0 + # Default value: dellemc/csm-authorization-sidecar:v1.3.0 + sidecarProxyImage: dellemc/csm-authorization-sidecar:v1.3.0 # proxyHost: hostname of the csm-authorization server # Default value: None proxyHost: From 638be4214fb88eb3d55c8e41d632927fc4ea3ae4 Mon Sep 17 00:00:00 2001 From: YianZong <63342088+YianZong@users.noreply.github.com> Date: Wed, 29 Jun 2022 20:38:52 +0800 Subject: [PATCH 07/19] add support for PowerScale topology (#123) --- charts/karavi-observability/Chart.yaml | 4 ++-- charts/karavi-observability/values.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/karavi-observability/Chart.yaml b/charts/karavi-observability/Chart.yaml index 2cb986f5..32f77a56 100644 --- a/charts/karavi-observability/Chart.yaml +++ b/charts/karavi-observability/Chart.yaml @@ -1,9 +1,9 @@ apiVersion: v2 -appVersion: "1.2.0" +appVersion: "1.3.0" name: karavi-observability description: CSM for Observability is part of the [Container Storage Modules](https://github.com/dell/csm) open source suite of Kubernetes storage enablers for Dell EMC storage products. CSM for Observability provides Kubernetes administrators with visibility into metrics and topology data related to containerized storage. type: application -version: 1.2.0 +version: 1.3.0 dependencies: - name: cert-manager version: 1.6.1 diff --git a/charts/karavi-observability/values.yaml b/charts/karavi-observability/values.yaml index 4bf8c973..3ddf93d3 100644 --- a/charts/karavi-observability/values.yaml +++ b/charts/karavi-observability/values.yaml @@ -2,7 +2,7 @@ karaviTopology: image: dellemc/csm-topology:v1.2.0 enabled: true # comma separated list of provisioner names (ex: csi-vxflexos.dellemc.com) - provisionerNames: csi-vxflexos.dellemc.com,csi-powerstore.dellemc.com + provisionerNames: csi-vxflexos.dellemc.com,csi-powerstore.dellemc.com,csi-isilon.dellemc.com service: type: ClusterIP logLevel: INFO From e7738dc75b9e30a4546e19be7b5f3747210a8cbe Mon Sep 17 00:00:00 2001 From: taohe1012 <88763781+taohe1012@users.noreply.github.com> Date: Fri, 8 Jul 2022 14:57:05 +0800 Subject: [PATCH 08/19] Rollback otel-collecter image version to 0.42.0 (#131) --- charts/karavi-observability/otel-collector-config.yaml | 3 ++- charts/karavi-observability/values.yaml | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/charts/karavi-observability/otel-collector-config.yaml b/charts/karavi-observability/otel-collector-config.yaml index ef7fcef3..382b9993 100644 --- a/charts/karavi-observability/otel-collector-config.yaml +++ b/charts/karavi-observability/otel-collector-config.yaml @@ -2,7 +2,8 @@ receivers: otlp: protocols: grpc: - tls_settings: + endpoint: 0.0.0.0:55680 + tls: cert_file: /etc/ssl/certs/tls.crt key_file: /etc/ssl/certs/tls.key diff --git a/charts/karavi-observability/values.yaml b/charts/karavi-observability/values.yaml index 3ddf93d3..ed10958a 100644 --- a/charts/karavi-observability/values.yaml +++ b/charts/karavi-observability/values.yaml @@ -79,11 +79,11 @@ karaviMetricsPowerstore: probability: 0.0 otelCollector: - image: otel/opentelemetry-collector:0.9.0 + image: otel/opentelemetry-collector:0.42.0 service: type: ClusterIP nginxProxy: - image: nginxinc/nginx-unprivileged:1.18 + image: nginxinc/nginx-unprivileged:1.20 cert-manager: startupapicheck: From 03e61359e97874d5167632c7c1a34afbd9c6128c Mon Sep 17 00:00:00 2001 From: forrestxia <105040588+forrestxia@users.noreply.github.com> Date: Thu, 7 Jul 2022 23:51:38 +0800 Subject: [PATCH 09/19] Update code owners list (#132) * Add more code owners * chart/csm-authorization: Release v1.3.0 updates (#128) * [charts/csm-authorization] feature-261: Authorization helm chart (#109) * use 1.3.0 (#125) Co-authored-by: Aaron Tye Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com> Co-authored-by: sharmilarama <72404078+sharmilarama@users.noreply.github.com> Co-authored-by: Aaron Tye Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com> --- .github/CODEOWNERS | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 29ecac31..1421ef37 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -7,7 +7,6 @@ # be requested for review when someone opens a pull request. # order is alphabetical for easier maintenance. # -# Michael Edegware (medegw01) # Sean Gallacher (gallacher) # Trevor Dawe (tdawe) # Alexander Hoppe (hoppea2) @@ -15,8 +14,13 @@ # Aaron Tye (atye) # Florian Coulombel (coulof) # Shayna Finocchiaro (shaynafinocchiaro) -# Logan Jones (lj-software) # Sharmila Ramamoorthy (sharmilarama) +# Tao He (taohe1012) +# Peter Cao (P-Cao) +# Yiming Bao (baoy1) +# Yian Zong (YianZong) +# Forrest Xia (forrestxia) # for all files: -* @medegw01 @gallacher @tdawe @alikdell @atye @hoppea2 @coulof @shaynafinocchiaro @lj-software @sharmilarama +* @gallacher @tdawe @alikdell @atye @hoppea2 @coulof @shaynafinocchiaro @sharmilarama +* @taohe1012 @P-Cao @baoy1 @YianZong @forrestxia From 3e11ba6a1e36f3f97583028e25dc5798e09b8c2f Mon Sep 17 00:00:00 2001 From: forrestxia <105040588+forrestxia@users.noreply.github.com> Date: Fri, 8 Jul 2022 15:43:34 +0800 Subject: [PATCH 10/19] Correct codeowners format (#133) --- .github/CODEOWNERS | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 1421ef37..ea84f178 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -22,5 +22,4 @@ # Forrest Xia (forrestxia) # for all files: -* @gallacher @tdawe @alikdell @atye @hoppea2 @coulof @shaynafinocchiaro @sharmilarama -* @taohe1012 @P-Cao @baoy1 @YianZong @forrestxia +* @gallacher @tdawe @alikdell @atye @hoppea2 @coulof @shaynafinocchiaro @sharmilarama @taohe1012 @P-Cao @baoy1 @YianZong @forrestxia From 822dbaeb633b8f4b147d85ed3df78590b94b4059 Mon Sep 17 00:00:00 2001 From: taohe1012 <88763781+taohe1012@users.noreply.github.com> Date: Mon, 11 Jul 2022 16:27:56 +0800 Subject: [PATCH 11/19] add support for csm-metrics-powerscale (#129) Add powerscale configuration to support csm-metrics-powerscale: - Add karavi-metrics-powerscale.yaml, karavi-metrics-powerscale.yaml; - Add pscale configuration to karavi-observability-configmap.yaml, values.yaml, cert-manager.yaml and NOTES.txt. --- .../karavi-observability/templates/NOTES.txt | 12 +++ ...vi-metrics-powerscale-service-account.yaml | 42 ++++++++++ .../templates/karavi-metrics-powerscale.yaml | 81 +++++++++++++++++++ .../karavi-observability-configmap.yaml | 24 ++++++ charts/karavi-observability/values.yaml | 33 ++++++++ 5 files changed, 192 insertions(+) create mode 100644 charts/karavi-observability/templates/karavi-metrics-powerscale-service-account.yaml create mode 100644 charts/karavi-observability/templates/karavi-metrics-powerscale.yaml diff --git a/charts/karavi-observability/templates/NOTES.txt b/charts/karavi-observability/templates/NOTES.txt index f241b75c..4dd10391 100644 --- a/charts/karavi-observability/templates/NOTES.txt +++ b/charts/karavi-observability/templates/NOTES.txt @@ -37,3 +37,15 @@ CSM Metrics for PowerStore From inside the Kubernetes cluster: otel-collector:8443 {{- end}} + +{{ if .Values.karaviMetricsPowerscale.enabled -}} + +CSM Metrics for PowerScale + + The CSM Metrics for PowerScale deployment has been successfully installed. + + Provisioner Names: {{ .Values.karaviMetricsPowerscale.provisionerNames }} + Prometheus Scrape Target: + From inside the Kubernetes cluster: otel-collector:8443 + +{{- end}} diff --git a/charts/karavi-observability/templates/karavi-metrics-powerscale-service-account.yaml b/charts/karavi-observability/templates/karavi-metrics-powerscale-service-account.yaml new file mode 100644 index 00000000..7f8a5bad --- /dev/null +++ b/charts/karavi-observability/templates/karavi-metrics-powerscale-service-account.yaml @@ -0,0 +1,42 @@ +{{ if .Values.karaviMetricsPowerscale.enabled }} + +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Release.Name }}-metrics-powerscale-controller + namespace: {{ .Release.Namespace }} + +--- + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ .Release.Name }}-metrics-powerscale-controller +rules: + - apiGroups: ["storage.k8s.io"] + resources: ["csinodes", "storageclasses"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["persistentvolumes", "nodes"] + verbs: ["list"] + - apiGroups: [""] + resources: ["endpoints"] + verbs: ["*"] + +--- + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ .Release.Name }}-metrics-powerscale-controller +subjects: + - kind: ServiceAccount + name: {{ .Release.Name }}-metrics-powerscale-controller + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: {{ .Release.Name }}-metrics-powerscale-controller + apiGroup: rbac.authorization.k8s.io + +{{ end }} + diff --git a/charts/karavi-observability/templates/karavi-metrics-powerscale.yaml b/charts/karavi-observability/templates/karavi-metrics-powerscale.yaml new file mode 100644 index 00000000..7ab5f113 --- /dev/null +++ b/charts/karavi-observability/templates/karavi-metrics-powerscale.yaml @@ -0,0 +1,81 @@ +{{ if .Values.karaviMetricsPowerscale.enabled }} + +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/name: karavi-metrics-powerscale + app.kubernetes.io/instance: {{ .Release.Name }} + name: karavi-metrics-powerscale +spec: + type: {{ .Values.karaviMetricsPowerscale.service.type }} + ports: + - name: karavi-metrics-powerscale + port: 8080 + targetPort: 8080 + selector: + app.kubernetes.io/name: karavi-metrics-powerscale + app.kubernetes.io/instance: {{ .Release.Name }} + +--- + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: karavi-metrics-powerscale + labels: + app.kubernetes.io/name: karavi-metrics-powerscale + app.kubernetes.io/instance: {{ .Release.Name }} +spec: + selector: + matchLabels: + app.kubernetes.io/name: karavi-metrics-powerscale + app.kubernetes.io/instance: {{ .Release.Name }} + replicas: 1 + strategy: {} + template: + metadata: + labels: + app.kubernetes.io/name: karavi-metrics-powerscale + app.kubernetes.io/instance: {{ .Release.Name }} + spec: + serviceAccount: {{ .Release.Name }}-metrics-powerscale-controller + containers: + - name: karavi-metrics-powerscale + image: {{ .Values.karaviMetricsPowerscale.image }} + resources: {} + env: + - name: POWERSCALE_METRICS_ENDPOINT + value: "{{ .Values.karaviMetricsPowerscale.endpoint }}" + - name: POWERSCALE_METRICS_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: TLS_ENABLED + value: "true" + volumeMounts: + - name: isilon-creds + mountPath: /isilon-creds + - name: tls-secret + mountPath: /etc/ssl/certs + readOnly: true + - name: karavi-metrics-powerscale-configmap + mountPath: /etc/config + volumes: + - name: isilon-creds + secret: + secretName: isilon-creds + - name: tls-secret + secret: + secretName: otel-collector-tls + items: + - key: tls.crt + path: cert.crt + - name: karavi-metrics-powerscale-configmap + configMap: + name: karavi-metrics-powerscale-configmap + restartPolicy: Always +status: {} + +{{ end }} + diff --git a/charts/karavi-observability/templates/karavi-observability-configmap.yaml b/charts/karavi-observability/templates/karavi-observability-configmap.yaml index 699db7af..1e718c91 100644 --- a/charts/karavi-observability/templates/karavi-observability-configmap.yaml +++ b/charts/karavi-observability/templates/karavi-observability-configmap.yaml @@ -65,3 +65,27 @@ data: {{ end }} +--- + +{{ if .Values.karaviMetricsPowerscale.enabled }} + +apiVersion: v1 +kind: ConfigMap +metadata: + name: karavi-metrics-powerscale-configmap +data: + karavi-metrics-powerscale.yaml : | + COLLECTOR_ADDR: {{ .Values.karaviMetricsPowerscale.collectorAddr }} + PROVISIONER_NAMES: {{ .Values.karaviMetricsPowerscale.provisionerNames }} + POWERSCALE_VOLUME_IO_POLL_FREQUENCY: "{{ .Values.karaviMetricsPowerscale.volumePollFrequencySeconds }}" + POWERSCALE_VOLUME_METRICS_ENABLED: "{{ .Values.karaviMetricsPowerscale.volumeMetricsEnabled }}" + POWERSCALE_MAX_CONCURRENT_QUERIES: "{{ .Values.karaviMetricsPowerscale.concurrentPowerscaleQueries }}" + POWERSCALE_CLUSTER_POLL_FREQUENCY: "{{ .Values.karaviMetricsPowerscale.clusterPollFrequencySeconds }}" + POWERSCALE_CLUSTER_METRICS_ENABLED: "{{ .Values.karaviMetricsPowerscale.clusterMetricsEnabled }}" + POWERSCALE_ISICLIENT_INSECURE: "{{ .Values.karaviMetricsPowerscale.isiClientOptions.isiSkipCertificateValidation }}" + POWERSCALE_ISICLIENT_AUTH_TYPE: "{{ .Values.karaviMetricsPowerscale.isiClientOptions.isiAuthType }}" + POWERSCALE_ISICLIENT_VERBOSE: "{{ .Values.karaviMetricsPowerscale.isiClientOptions.isiLogVerbose }}" + LOG_LEVEL: "{{ .Values.karaviMetricsPowerscale.logLevel }}" + LOG_FORMAT: "{{ .Values.karaviMetricsPowerscale.logFormat }}" + +{{ end }} diff --git a/charts/karavi-observability/values.yaml b/charts/karavi-observability/values.yaml index ed10958a..c3193694 100644 --- a/charts/karavi-observability/values.yaml +++ b/charts/karavi-observability/values.yaml @@ -78,6 +78,39 @@ karaviMetricsPowerstore: serviceName: metrics-powerstore probability: 0.0 +karaviMetricsPowerscale: + image: dellemc/csm-metrics-powerscale:nightly + enabled: true + collectorAddr: otel-collector:55680 + # comma separated list of provisioner names (ex: csi-isilon.dellemc.com) + provisionerNames: csi-isilon.dellemc.com + # set polling frequency to the PowerScale cluster to get metrics data + volumePollFrequencySeconds: 20 + clusterPollFrequencySeconds: 30 + # set volumeMetricsEnabled to "false" to disable collection of Volume metrics + volumeMetricsEnabled: "true" + # set clusterMetricsEnabled to "false" to disable collection of Cluster metrics + clusterMetricsEnabled: "true" + # set the the default max concurrent queries to PowerScale + concurrentPowerscaleQueries: 10 + # set the default endpoint for PowerScale service + endpoint: karavi-metrics-powerscale + service: + type: ClusterIP + logLevel: INFO + logFormat: text + # isiClientOptions to access Powerscale OneFS API server + isiClientOptions: + # set isiSkipCertificateValidation to true/false to skip/verify OneFS API server's certificates + # default isiSkipCertificateValidation: true to skip OneFS API server's certificates + isiSkipCertificateValidation: true + # set isiAuthType to 0/1 to enables session-based/basic Authentication + # default isiAuthType: 0 to use session-based Authentication + isiAuthType: 1 + # set isiLogVerbose to 0/1/2 decide High/Medium/Low content of the OneFS REST API message should be logged in debug level logs + # default isiLogVerbose: 0 to log full content of the HTTP request and response + isiLogVerbose: 0 + otelCollector: image: otel/opentelemetry-collector:0.42.0 service: From 0cf6a65a78d276f3d765caa619cee61b343209ad Mon Sep 17 00:00:00 2001 From: baoy1 <105041111+baoy1@users.noreply.github.com> Date: Mon, 18 Jul 2022 21:59:30 -0400 Subject: [PATCH 12/19] Adjust PowerScale polling enable and frequency (#134) The new enable and frequency are: capacityMetricsEnabled: "true" performanceMetricsEnabled: "true" clusterCapacityPollFrequencySeconds: 30 clusterPerformancePollFrequencySeconds: 20 quotaCapacityPollFrequencySeconds: 30 Co-authored-by: Yiming Bao --- .../karavi-observability-configmap.yaml | 9 +++++---- charts/karavi-observability/values.yaml | 17 ++++++++++------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/charts/karavi-observability/templates/karavi-observability-configmap.yaml b/charts/karavi-observability/templates/karavi-observability-configmap.yaml index 1e718c91..2c61b29a 100644 --- a/charts/karavi-observability/templates/karavi-observability-configmap.yaml +++ b/charts/karavi-observability/templates/karavi-observability-configmap.yaml @@ -77,11 +77,12 @@ data: karavi-metrics-powerscale.yaml : | COLLECTOR_ADDR: {{ .Values.karaviMetricsPowerscale.collectorAddr }} PROVISIONER_NAMES: {{ .Values.karaviMetricsPowerscale.provisionerNames }} - POWERSCALE_VOLUME_IO_POLL_FREQUENCY: "{{ .Values.karaviMetricsPowerscale.volumePollFrequencySeconds }}" - POWERSCALE_VOLUME_METRICS_ENABLED: "{{ .Values.karaviMetricsPowerscale.volumeMetricsEnabled }}" POWERSCALE_MAX_CONCURRENT_QUERIES: "{{ .Values.karaviMetricsPowerscale.concurrentPowerscaleQueries }}" - POWERSCALE_CLUSTER_POLL_FREQUENCY: "{{ .Values.karaviMetricsPowerscale.clusterPollFrequencySeconds }}" - POWERSCALE_CLUSTER_METRICS_ENABLED: "{{ .Values.karaviMetricsPowerscale.clusterMetricsEnabled }}" + POWERSCALE_CAPACITY_METRICS_ENABLED: "{{ .Values.karaviMetricsPowerscale.capacityMetricsEnabled }}" + POWERSCALE_PERFORMANCE_METRICS_ENABLED: "{{ .Values.karaviMetricsPowerscale.performanceMetricsEnabled }}" + POWERSCALE_CLUSTER_CAPACITY_POLL_FREQUENCY: "{{ .Values.karaviMetricsPowerscale.clusterCapacityPollFrequencySeconds }}" + POWERSCALE_CLUSTER_PERFORMANCE_POLL_FREQUENCY: "{{ .Values.karaviMetricsPowerscale.clusterPerformancePollFrequencySeconds }}" + POWERSCALE_QUOTA_CAPACITY_POLL_FREQUENCY: "{{ .Values.karaviMetricsPowerscale.quotaCapacityPollFrequencySeconds }}" POWERSCALE_ISICLIENT_INSECURE: "{{ .Values.karaviMetricsPowerscale.isiClientOptions.isiSkipCertificateValidation }}" POWERSCALE_ISICLIENT_AUTH_TYPE: "{{ .Values.karaviMetricsPowerscale.isiClientOptions.isiAuthType }}" POWERSCALE_ISICLIENT_VERBOSE: "{{ .Values.karaviMetricsPowerscale.isiClientOptions.isiLogVerbose }}" diff --git a/charts/karavi-observability/values.yaml b/charts/karavi-observability/values.yaml index c3193694..dcebb4c9 100644 --- a/charts/karavi-observability/values.yaml +++ b/charts/karavi-observability/values.yaml @@ -84,13 +84,16 @@ karaviMetricsPowerscale: collectorAddr: otel-collector:55680 # comma separated list of provisioner names (ex: csi-isilon.dellemc.com) provisionerNames: csi-isilon.dellemc.com - # set polling frequency to the PowerScale cluster to get metrics data - volumePollFrequencySeconds: 20 - clusterPollFrequencySeconds: 30 - # set volumeMetricsEnabled to "false" to disable collection of Volume metrics - volumeMetricsEnabled: "true" - # set clusterMetricsEnabled to "false" to disable collection of Cluster metrics - clusterMetricsEnabled: "true" + # set capacityMetricsEnabled to "false" to disable collection of capacity metrics + capacityMetricsEnabled: "true" + # set performanceMetricsEnabled to "false" to disable collection of performance metrics + performanceMetricsEnabled: "true" + # set polling frequency to get cluster capacity metrics data + clusterCapacityPollFrequencySeconds: 30 + # set polling frequency to get cluster performance data + clusterPerformancePollFrequencySeconds: 20 + # set polling frequency to get quota capacity metrics data + quotaCapacityPollFrequencySeconds: 30 # set the the default max concurrent queries to PowerScale concurrentPowerscaleQueries: 10 # set the default endpoint for PowerScale service From 481a746e54e5dea78ec8861fbef8c2fed6cc75c5 Mon Sep 17 00:00:00 2001 From: taohe1012 <88763781+taohe1012@users.noreply.github.com> Date: Fri, 12 Aug 2022 10:43:55 +0800 Subject: [PATCH 13/19] enable authorization for csm observability powerscale (#135) --- .../templates/karavi-metrics-powerflex.yaml | 2 +- .../templates/karavi-metrics-powerscale.yaml | 50 +++++++++++++++++++ charts/karavi-observability/values.yaml | 14 ++++++ 3 files changed, 65 insertions(+), 1 deletion(-) diff --git a/charts/karavi-observability/templates/karavi-metrics-powerflex.yaml b/charts/karavi-observability/templates/karavi-metrics-powerflex.yaml index 891b1cf9..8e8a8ae4 100644 --- a/charts/karavi-observability/templates/karavi-metrics-powerflex.yaml +++ b/charts/karavi-observability/templates/karavi-metrics-powerflex.yaml @@ -75,7 +75,7 @@ spec: env: - name: PROXY_HOST value: "{{ .Values.karaviMetricsPowerflex.authorization.proxyHost }}" - - name: INSECURE + - name: SKIP_CERTIFICATE_VALIDATION value: "{{ .Values.karaviMetricsPowerflex.authorization.skipCertificateValidation }}" - name: PLUGIN_IDENTIFIER value: powerflex diff --git a/charts/karavi-observability/templates/karavi-metrics-powerscale.yaml b/charts/karavi-observability/templates/karavi-metrics-powerscale.yaml index 7ab5f113..1caf0682 100644 --- a/charts/karavi-observability/templates/karavi-metrics-powerscale.yaml +++ b/charts/karavi-observability/templates/karavi-metrics-powerscale.yaml @@ -26,6 +26,12 @@ metadata: labels: app.kubernetes.io/name: karavi-metrics-powerscale app.kubernetes.io/instance: {{ .Release.Name }} + {{- if hasKey .Values "karaviMetricsPowerscale.authorization" }} + {{- if eq .Values.karaviMetricsPowerscale.authorization.enabled true }} + annotations: + com.dell.karavi-authorization-proxy: "true" + {{ end }} + {{ end }} spec: selector: matchLabels: @@ -61,6 +67,37 @@ spec: readOnly: true - name: karavi-metrics-powerscale-configmap mountPath: /etc/config + {{- if hasKey .Values.karaviMetricsPowerscale "authorization" }} + {{- if eq .Values.karaviMetricsPowerscale.authorization.enabled true }} + - name: karavi-authorization-proxy + imagePullPolicy: IfNotPresent + image: {{ required "Must provide the authorization sidecar container image." .Values.karaviMetricsPowerscale.authorization.sidecarProxyImage }} + env: + - name: PROXY_HOST + value: "{{ .Values.karaviMetricsPowerscale.authorization.proxyHost }}" + - name: SKIP_CERTIFICATE_VALIDATION + value: "{{ .Values.karaviMetricsPowerscale.authorization.skipCertificateValidation }}" + - name: PLUGIN_IDENTIFIER + value: powerscale + - name: ACCESS_TOKEN + valueFrom: + secretKeyRef: + name: isilon-proxy-authz-tokens + key: access + - name: REFRESH_TOKEN + valueFrom: + secretKeyRef: + name: isilon-proxy-authz-tokens + key: refresh + volumeMounts: + - name: karavi-authorization-config + mountPath: /etc/karavi-authorization/config + - name: proxy-server-root-certificate + mountPath: /etc/karavi-authorization/root-certificates + - name: isilon-config-params + mountPath: /etc/karavi-authorization + {{ end }} + {{ end }} volumes: - name: isilon-creds secret: @@ -74,6 +111,19 @@ spec: - name: karavi-metrics-powerscale-configmap configMap: name: karavi-metrics-powerscale-configmap + {{- if hasKey .Values.karaviMetricsPowerscale "authorization" }} + {{- if eq .Values.karaviMetricsPowerscale.authorization.enabled true }} + - name: karavi-authorization-config + secret: + secretName: isilon-karavi-authorization-config + - name: proxy-server-root-certificate + secret: + secretName: isilon-proxy-server-root-certificate + - name: isilon-config-params + configMap: + name: isilon-config-params + {{ end }} + {{ end }} restartPolicy: Always status: {} diff --git a/charts/karavi-observability/values.yaml b/charts/karavi-observability/values.yaml index dcebb4c9..65dbf200 100644 --- a/charts/karavi-observability/values.yaml +++ b/charts/karavi-observability/values.yaml @@ -113,6 +113,20 @@ karaviMetricsPowerscale: # set isiLogVerbose to 0/1/2 decide High/Medium/Low content of the OneFS REST API message should be logged in debug level logs # default isiLogVerbose: 0 to log full content of the HTTP request and response isiLogVerbose: 0 + authorization: + enabled: false + # sidecarProxyImage: the container image used for the csm-authorization-sidecar. + # Default value: dellemc/csm-authorization-sidecar:v1.3.0 + sidecarProxyImage: dellemc/csm-authorization-sidecar:v1.3.0 + # proxyHost: hostname of the csm-authorization server + # Default value: None + proxyHost: + # skipCertificateValidation: certificate validation of the csm-authorization server + # Allowed Values: + # "true" - TLS certificate verification will be skipped + # "false" - TLS certificate will be verified + # Default value: "true" + skipCertificateValidation: true otelCollector: image: otel/opentelemetry-collector:0.42.0 From f386759bec840ebeab9ae7adec8ec47f2e09a69e Mon Sep 17 00:00:00 2001 From: bjiang27 <105997542+bjiang27@users.noreply.github.com> Date: Tue, 30 Aug 2022 15:31:57 -0400 Subject: [PATCH 14/19] Update Authorization sidecar image to 1.4.0 (#138) --- charts/karavi-observability/values.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/charts/karavi-observability/values.yaml b/charts/karavi-observability/values.yaml index 65dbf200..a483b223 100644 --- a/charts/karavi-observability/values.yaml +++ b/charts/karavi-observability/values.yaml @@ -40,8 +40,8 @@ karaviMetricsPowerflex: authorization: enabled: false # sidecarProxyImage: the container image used for the csm-authorization-sidecar. - # Default value: dellemc/csm-authorization-sidecar:v1.3.0 - sidecarProxyImage: dellemc/csm-authorization-sidecar:v1.3.0 + # Default value: dellemc/csm-authorization-sidecar:v1.4.0 + sidecarProxyImage: dellemc/csm-authorization-sidecar:v1.4.0 # proxyHost: hostname of the csm-authorization server # Default value: None proxyHost: @@ -116,8 +116,8 @@ karaviMetricsPowerscale: authorization: enabled: false # sidecarProxyImage: the container image used for the csm-authorization-sidecar. - # Default value: dellemc/csm-authorization-sidecar:v1.3.0 - sidecarProxyImage: dellemc/csm-authorization-sidecar:v1.3.0 + # Default value: dellemc/csm-authorization-sidecar:v1.4.0 + sidecarProxyImage: dellemc/csm-authorization-sidecar:v1.4.0 # proxyHost: hostname of the csm-authorization server # Default value: None proxyHost: From dd984397d736f79e29b65404239e8e6bf5506439 Mon Sep 17 00:00:00 2001 From: forrestxia <105040588+forrestxia@users.noreply.github.com> Date: Wed, 21 Sep 2022 22:10:33 +0800 Subject: [PATCH 15/19] Update observability image tags for CSM 1.4 release (#142) Co-authored-by: Yiming Bao --- charts/karavi-observability/values.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/charts/karavi-observability/values.yaml b/charts/karavi-observability/values.yaml index a483b223..d58d0cbb 100644 --- a/charts/karavi-observability/values.yaml +++ b/charts/karavi-observability/values.yaml @@ -1,5 +1,5 @@ karaviTopology: - image: dellemc/csm-topology:v1.2.0 + image: dellemc/csm-topology:v1.3.0 enabled: true # comma separated list of provisioner names (ex: csi-vxflexos.dellemc.com) provisionerNames: csi-vxflexos.dellemc.com,csi-powerstore.dellemc.com,csi-isilon.dellemc.com @@ -13,7 +13,7 @@ karaviTopology: probability: 0.0 karaviMetricsPowerflex: - image: dellemc/csm-metrics-powerflex:v1.2.0 + image: dellemc/csm-metrics-powerflex:v1.3.0 enabled: true collectorAddr: otel-collector:55680 # comma separated list of provisioner names (ex: csi-vxflexos.dellemc.com) @@ -53,7 +53,7 @@ karaviMetricsPowerflex: skipCertificateValidation: true karaviMetricsPowerstore: - image: dellemc/csm-metrics-powerstore:v1.2.0 + image: dellemc/csm-metrics-powerstore:v1.3.0 enabled: true collectorAddr: otel-collector:55680 # comma separated list of provisioner names (ex: csi-powerstore.dellemc.com) @@ -79,7 +79,7 @@ karaviMetricsPowerstore: probability: 0.0 karaviMetricsPowerscale: - image: dellemc/csm-metrics-powerscale:nightly + image: dellemc/csm-metrics-powerscale:v1.3.0 enabled: true collectorAddr: otel-collector:55680 # comma separated list of provisioner names (ex: csi-isilon.dellemc.com) From ab738db99957f6848a10f8b4c6deff2fb5f44b06 Mon Sep 17 00:00:00 2001 From: baoy1 <105041111+baoy1@users.noreply.github.com> Date: Thu, 22 Sep 2022 00:29:09 +0800 Subject: [PATCH 16/19] Update csm-metrics-powerscale to 1.0.0 (#147) Update csm-metrics-powerscale to 1.0.0 to accommodate csm-metrics-powerscale release --- charts/karavi-observability/Chart.yaml | 4 ++-- charts/karavi-observability/values.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/karavi-observability/Chart.yaml b/charts/karavi-observability/Chart.yaml index 32f77a56..c63f0087 100644 --- a/charts/karavi-observability/Chart.yaml +++ b/charts/karavi-observability/Chart.yaml @@ -1,9 +1,9 @@ apiVersion: v2 -appVersion: "1.3.0" +appVersion: "1.3.1" name: karavi-observability description: CSM for Observability is part of the [Container Storage Modules](https://github.com/dell/csm) open source suite of Kubernetes storage enablers for Dell EMC storage products. CSM for Observability provides Kubernetes administrators with visibility into metrics and topology data related to containerized storage. type: application -version: 1.3.0 +version: 1.3.1 dependencies: - name: cert-manager version: 1.6.1 diff --git a/charts/karavi-observability/values.yaml b/charts/karavi-observability/values.yaml index d58d0cbb..fb209087 100644 --- a/charts/karavi-observability/values.yaml +++ b/charts/karavi-observability/values.yaml @@ -79,7 +79,7 @@ karaviMetricsPowerstore: probability: 0.0 karaviMetricsPowerscale: - image: dellemc/csm-metrics-powerscale:v1.3.0 + image: dellemc/csm-metrics-powerscale:v1.0.0 enabled: true collectorAddr: otel-collector:55680 # comma separated list of provisioner names (ex: csi-isilon.dellemc.com) From a0109f8a791914257ed37b4fa32776b109fb6a06 Mon Sep 17 00:00:00 2001 From: baoy1 <105041111+baoy1@users.noreply.github.com> Date: Wed, 16 Nov 2022 16:35:56 +0800 Subject: [PATCH 17/19] Update cert-manager to 1.10.0 for Observability (#151) --- charts/karavi-observability/Chart.yaml | 6 +++--- charts/karavi-observability/README.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/charts/karavi-observability/Chart.yaml b/charts/karavi-observability/Chart.yaml index c63f0087..aed1e78d 100644 --- a/charts/karavi-observability/Chart.yaml +++ b/charts/karavi-observability/Chart.yaml @@ -1,10 +1,10 @@ apiVersion: v2 -appVersion: "1.3.1" +appVersion: "1.4.0" name: karavi-observability description: CSM for Observability is part of the [Container Storage Modules](https://github.com/dell/csm) open source suite of Kubernetes storage enablers for Dell EMC storage products. CSM for Observability provides Kubernetes administrators with visibility into metrics and topology data related to containerized storage. type: application -version: 1.3.1 +version: 1.4.0 dependencies: - name: cert-manager - version: 1.6.1 + version: 1.10.0 repository: https://charts.jetstack.io diff --git a/charts/karavi-observability/README.md b/charts/karavi-observability/README.md index 65874ab5..53bca230 100644 --- a/charts/karavi-observability/README.md +++ b/charts/karavi-observability/README.md @@ -1,5 +1,5 @@