csi-powerflex: Include CSI-PowerFlex Helm Chart

Including the CSI-PowerFlex helm chart to App Dell Storage repository.

supported_k8s_version: ">= 1.24.0 < 1.30.0"

Test Plan:
  PASS: All packages built
  PASS: Upload/apply/remove/delete/update dell-storage app in
        AIO-SX VM.
  PASS: Enable csm-replication and csm-resiliency charts and apply
        overrides.
  PASS: Check if the replication and resiliency pods are running.
  PASS: Check if enabled sidecar containers are running.

Story: 2010693
Task: 49866

Change-Id: Ib392456c2baf170dec6bb9a8845575dffab47d18
Signed-off-by: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
This commit is contained in:
Luiz Felipe Kina 2024-04-15 08:35:41 -03:00
parent d873c07b40
commit 256210bd76
33 changed files with 1341 additions and 2 deletions

View File

@ -1,3 +1,4 @@
helm-charts/upstream/csi-powerflex-helm
helm-charts/upstream/csi-powerstore-helm
helm-charts/upstream/csi-powerscale-helm
helm-charts/upstream/csi-unity-helm

View File

@ -0,0 +1,41 @@
#
# Copyright 2017 The Openstack-Helm Authors.
#
# Copyright (c) 2023-2024 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
# It's necessary to set this because some environments don't link sh -> bash.
SHELL := /bin/bash
TASK := build
EXCLUDES := doc tests tools logs tmp
CHARTS := $(filter-out $(EXCLUDES), $(patsubst %/.,%,$(wildcard */.)))
.PHONY: $(EXCLUDES) $(CHARTS)
all: $(CHARTS)
$(CHARTS):
@if [ -d $@ ]; then \
echo; \
echo "===== Processing [$@] chart ====="; \
make $(TASK)-$@; \
fi
init-%:
if [ -f $*/Makefile ]; then make -C $*; fi
lint-%: init-%
if [ -d $* ]; then helm lint $*; fi
build-%: lint-%
if [ -d $* ]; then helm package --version $(CHART_VERSION) $*; fi
clean:
@echo "Clean all build artifacts"
rm -f */templates/_partials.tpl */templates/_globals.tpl
rm -rf */charts */tmpcharts
%:
@:

View File

@ -0,0 +1,5 @@
csi-powerflex-helm (2.10-1) unstable; urgency=medium
* Initial release.
-- Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com> Mon, 08 Apr 2024 11:40:00 +0000

View File

@ -0,0 +1,15 @@
Source: csi-powerflex-helm
Section: libs
Priority: optional
Maintainer: StarlingX Developers <starlingx-discuss@lists.starlingx.io>
Build-Depends: debhelper-compat (= 13),
helm
Standards-Version: 4.5.1
Homepage: https://www.starlingx.io
Package: csi-powerflex-helm
Section: libs
Architecture: any
Depends: ${misc:Depends}
Description: StarlingX Dell PowerFlex CSI Helm Charts
This package contains helm charts for the Dell PowerFlex CSI.

View File

@ -0,0 +1,41 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: csi-powerflex-helm
Source: https://opendev.org/starlingx/app-dell-storage/
Files: *
Copyright: (c) 2024 Wind River Systems, Inc
License: Apache-2
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
.
https://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.
.
On Debian-based systems the full text of the Apache version 2.0 license
can be found in `/usr/share/common-licenses/Apache-2.0'.
# If you want to use GPL v2 or later for the /debian/* files use
# the following clauses, or change it to suit. Delete these two lines
Files: debian/*
Copyright: 2024 Wind River Systems, Inc
License: Apache-2
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
.
https://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.
.
On Debian-based systems the full text of the Apache version 2.0 license
can be found in `/usr/share/common-licenses/Apache-2.0'.

View File

@ -0,0 +1,171 @@
From cf97461a22af8c8c02050710f490bf74ee581c3b Mon Sep 17 00:00:00 2001
From: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
Date: Wed, 17 Apr 2024 08:50:01 -0300
Subject: [PATCH] csi-powerflex: add default values for templates
This patch consists of adding the default values in the values.yaml of
the helm chart.
It's necessary because the images in templates were in unexpected format
for the system and because templates need default values to be able
to build the package.
Signed-off-by: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
---
charts/csi-vxflexos/values.yaml | 83 ++++++++++++++++++++++++++-------
1 file changed, 66 insertions(+), 17 deletions(-)
diff --git a/charts/csi-vxflexos/values.yaml b/charts/csi-vxflexos/values.yaml
index 64fd16c..7b7be14 100644
--- a/charts/csi-vxflexos/values.yaml
+++ b/charts/csi-vxflexos/values.yaml
@@ -1,5 +1,6 @@
---
# k8s/driver attributes
+driverName: "csi-vxflexos.dellemc.com"
# "version" is used to verify the values file matches driver version
# Not recommend to change
@@ -8,23 +9,11 @@ version: v2.10.0
# "images" defines every container images used for the driver and its sidecars.
# To use your own images, or a private registry, change the values here.
-images:
- # "driver" defines the container image, used for the driver container.
- driver: dellemc/csi-vxflexos:v2.10.0
- # "powerflexSdc" defines the SDC image for init container.
- powerflexSdc: dellemc/sdc:4.5.1
- # CSI sidecars
- attacher: registry.k8s.io/sig-storage/csi-attacher:v4.5.0
- provisioner: registry.k8s.io/sig-storage/csi-provisioner:v4.0.0
- snapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v7.0.1
- resizer: registry.k8s.io/sig-storage/csi-resizer:v1.10.0
- registrar: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.10.0
- healthmonitor: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.11.0
- # CSM sidecars
- replication: dellemc/dell-csi-replicator:v1.8.0
- vgsnapshotter: dellemc/csi-volumegroup-snapshotter:v1.5.0
- podmon: dellemc/podmon:v1.9.0
- authorization: dellemc/csm-authorization-sidecar:v1.10.0
+driver:
+ # image: Image to use for driver sidecar. This shouldn't be changed
+ # Allowed values: string
+ # Default value: docker.io/dellemc/csi-vxflexos:v2.10.0
+ image: docker.io/dellemc/csi-vxflexos:v2.10.0
# Represents number of certificate secrets, which user is going to create for ssl authentication. (vxflexos-cert-0..vxflexos-cert-n)
# If user does not use certificate, set to 0
@@ -115,6 +104,18 @@ maxVxflexosVolumesPerNode: 0
# "controller" allows to configure controller specific parameters
controller:
+ attacher:
+ # image: Image to use for attacher sidecar. This shouldn't be changed
+ # Allowed values: string
+ # Default value: registry.k8s.io/sig-storage/csi-attacher:v4.5.0
+ image: registry.k8s.io/sig-storage/csi-attacher:v4.5.0
+
+ provisioner:
+ # image: Image to use for provisioner sidecar. This shouldn't be changed
+ # Allowed values: string
+ # Default value: registry.k8s.io/sig-storage/csi-provisioner:v4.0.0
+ image: registry.k8s.io/sig-storage/csi-provisioner:v4.0.0
+
# replication: allows to configure replication
# Replication CRDs must be installed before installing driver
replication:
@@ -125,6 +126,11 @@ controller:
# Default value: false
enabled: false
+ # image: Image to use for dell-csi-replicator sidecar. This shouldn't be changed
+ # Allowed values: string
+ # Default value: docker.io/dellemc/dell-csi-replicator:v1.8.0
+ image: docker.io/dellemc/dell-csi-replicator:v1.8.0
+
# replicationContextPrefix: prefix to use for naming of resources created by replication feature
# Allowed values: string
# Default value: powerflex
@@ -143,6 +149,11 @@ controller:
# Default value: None
enabled: false
+ # image: Image to use for csi-external-health-monitor-controller sidecar. This shouldn't be changed
+ # Allowed values: string
+ # Default value: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.11.0
+ image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.11.0
+
# interval: Interval of monitoring volume health condition
# Allowed values: Number followed by unit (s,m,h)
# Examples: 60s, 5m, 1h
@@ -167,6 +178,13 @@ controller:
# Default value: None
enabled: true
+ # image: Image to use for snapshotter sidecar. This shouldn't be changed
+ # Allowed values: string
+ # Default value: registry.k8s.io/sig-storage/csi-snapshotter:v7.0.1
+ image: registry.k8s.io/sig-storage/csi-snapshotter:v7.0.1
+
+ deletionPolicy: Delete
+
resizer:
# enabled: Enable/Disable volume expansion feature
# Allowed values:
@@ -174,6 +192,10 @@ controller:
# false: disable volume snapshot feature(do not install resizer sidecar)
# Default value: None
enabled: true
+ # image: Image to use for resizer sidecar. This shouldn't be changed
+ # Allowed values: string
+ # Default value: registry.k8s.io/sig-storage/csi-resizer:v1.10.0
+ image: registry.k8s.io/sig-storage/csi-resizer:v1.10.0
#"controller.nodeSelector" defines what nodes would be selected for pods of controller deployment
# Leave as blank to use all nodes
@@ -207,6 +229,18 @@ node:
# Default value: None
enabled: false
+ powerflexSdc:
+ # image: Image to use for powerflexSdc. This shouldn't be changed
+ # Allowed values: string
+ # Default value: docker.io/dellemc/sdc:4.5.1
+ image: docker.io/dellemc/sdc:4.5.1
+
+ registrar:
+ # image: Image to use for registrar sidecar. This shouldn't be changed
+ # Allowed values: string
+ # Default value: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.10.0
+ image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.10.0
+
# "node.nodeSelector" defines what nodes would be selected for pods of node daemonset
# Leave as blank to use all nodes
# Allowed values: map of key-value pairs
@@ -315,6 +349,11 @@ monitor:
vgsnapshotter:
enabled: false
+ # image: Image to use for vg-snapshotter sidecar. This shouldn't be changed
+ # Allowed values: string
+ # Default value: docker.io/dellemc/csi-volumegroup-snapshotter:v1.5.0
+ image: docker.io/dellemc/csi-volumegroup-snapshotter:v1.5.0
+
# Podmon is an optional feature under development and tech preview.
# Enable this feature only after contact support for additional information
podmon:
@@ -359,3 +398,13 @@ authorization:
# "false" - TLS certificate will be verified
# Default value: "true"
skipCertificateValidation: true
+
+
+ # image: Image to use for authorization sidecar. This shouldn't be changed
+ # Allowed values: string
+ # Default value: docker.io/dellemc/csm-authorization-sidecar:v1.10.0
+ image: docker.io/dellemc/csm-authorization-sidecar:v1.10.0
+
+storageClasses:
+
+secret:
--
2.25.1

View File

@ -0,0 +1,43 @@
From 1ead25630dff9230597a6c2c40ebd898b2da29fd Mon Sep 17 00:00:00 2001
From: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
Date: Wed, 10 Apr 2024 10:27:05 -0300
Subject: [PATCH] csi-powerflex: add secret in templates
This patch consists of adding a secret in the helm chart templates directory.
It's needed because this helm chart needs a config secret that should be
created manually.
Signed-off-by: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
---
charts/csi-vxflexos/templates/secret.yaml | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
create mode 100644 charts/csi-vxflexos/templates/secret.yaml
diff --git a/charts/csi-vxflexos/templates/secret.yaml b/charts/csi-vxflexos/templates/secret.yaml
new file mode 100644
index 0000000..ef41df9
--- /dev/null
+++ b/charts/csi-vxflexos/templates/secret.yaml
@@ -0,0 +1,20 @@
+{{- if .Values.secret }}
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ .Release.Name }}-config
+ namespace: {{ .Release.Namespace }}
+stringData:
+ MDM: "{{ .Values.secret.mdm }}"
+ config: |
+ {{- range .Values.secret.arrays }}
+ - systemID: "{{ .systemID }}"
+ username: "{{ .username }}"
+ password: "{{ .password }}"
+ endpoint: "{{ .endpoint }}"
+ skipCertificateValidation: {{ .skipCertificateValidation | default "true" }}
+ isDefault: {{ .isDefault | default "false" }}
+ AllSystemNames: "{{ .AllSystemNames }}"
+ nasName: "{{ .nasName }}"
+ {{- end }}
+{{- end }}
--
2.25.1

View File

@ -0,0 +1,113 @@
From e9f70e1e10c012db79d9e535def45e41f0fff24e Mon Sep 17 00:00:00 2001
From: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
Date: Wed, 10 Apr 2024 10:28:31 -0300
Subject: [PATCH] csi-powerflex: add storageclass in templates
This patch consists of adding a storage classes in the helm chart templates directory.
It's needed because this helm chart needs a storage classes that should be
created manually.
Signed-off-by: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
---
.../csi-vxflexos/templates/storageclass.yaml | 93 +++++++++++++++++++
1 file changed, 93 insertions(+)
create mode 100644 charts/csi-vxflexos/templates/storageclass.yaml
diff --git a/charts/csi-vxflexos/templates/storageclass.yaml b/charts/csi-vxflexos/templates/storageclass.yaml
new file mode 100644
index 0000000..f152526
--- /dev/null
+++ b/charts/csi-vxflexos/templates/storageclass.yaml
@@ -0,0 +1,90 @@
+{{- range $sc := .Values.storageClasses }}
+apiVersion: storage.k8s.io/v1
+kind: StorageClass
+metadata:
+{{- if or $sc.name $sc.fstype }}
+ name: {{ $sc.name | default ( print "csi-powerflex-" $sc.fstype | lower ) }}
+{{- else }}
+ name: "csi-powerflex-nfs"
+{{- end }}
+provisioner: {{ $sc.provisioner | default ( print "csi-vxflexos.dellemc.com" ) }}
+reclaimPolicy: {{ $sc.reclaimPolicy | default "Delete" }}
+allowVolumeExpansion: {{ $sc.allowVolumeExpansion | default "true" }}
+parameters:
+ {{- if $sc.systemID }}
+ systemID: {{ $sc.systemID }}
+ {{- end }}
+ {{- if $sc.storagepool }}
+ storagepool: {{ $sc.storagepool }}
+ {{- end }}
+ {{- if $sc.protectiondomain }}
+ protectiondomain: {{ $sc.protectiondomain }}
+ {{- end }}
+ {{- if $sc.fstype }}
+ csi.storage.k8s.io/fstype: {{ $sc.fstype }}
+ {{- end }}
+ {{- if $sc.nasName }}
+ nasName: {{ $sc.nasName }}
+ {{- end }}
+ {{- if $sc.path }}
+ path: {{ $sc.path }}
+ {{- end }}
+ {{- if $sc.softLimit }}
+ softLimit: {{ $sc.softLimit }}
+ {{- end }}
+ {{- if $sc.gracePeriod }}
+ gracePeriod: {{ $sc.gracePeriod }}
+ {{- end }}
+ {{- if $sc.bandwidthLimitInKbps }}
+ bandwidthLimitInKbps: {{ $sc.bandwidthLimitInKbps }}
+ {{- end }}
+ {{- if $sc.iopsLimit }}
+ iopsLimit: {{ $sc.iopsLimit }}
+ {{- end }}
+ {{- if $sc.mkfsFormatOption }}
+ mkfsFormatOption: {{ $sc.mkfsFormatOption }}
+ {{- end }}
+
+ {{- if and $sc.replication ( or $.Values.controller.replication.enabled $.Values.csm.replication ) }}
+ {{ $prefix := $.Values.controller.replication.replicationPrefix -}}
+ {{ printf "%s/isReplicationEnabled" $prefix }}: "true"
+ {{- if $sc.replication.remoteClusterID }}
+ {{ printf "%s/remoteClusterID" $prefix }}: "{{ $sc.replication.remoteClusterID }}"
+ {{- end }}
+ {{- if $sc.replication.remoteSystem }}
+ {{ printf "%s/remoteSystem" $prefix }}: "{{ $sc.replication.remoteSystem }}"
+ {{- end }}
+ {{- if $sc.replication.remoteStoragePool }}
+ {{ printf "%s/remoteStoragePool" $prefix }}: "{{ $sc.replication.remoteStoragePool }}"
+ {{- end }}
+ {{- if $sc.replication.consistencyGroupName }}
+ {{ printf "%s/consistencyGroupName" $prefix }}: "{{ $sc.replication.consistencyGroupName }}"
+ {{- end }}
+ {{- if $sc.replication.protectionDomain }}
+ {{ printf "%s/protectionDomain" $prefix }}: "{{ $sc.replication.protectionDomain }}"
+ {{- end }}
+ {{- if $sc.replication.remotePVRetentionPolicy }}
+ {{ printf "%s/remotePVRetentionPolicy" $prefix }}: "{{ $sc.replication.remotePVRetentionPolicy | default "Delete"}}"
+ {{- end }}
+ {{- if $sc.replication.remoteRGRetentionPolicy }}
+ {{ printf "%s/remoteRGRetentionPolicy" $prefix }}: "{{ $sc.replication.remoteRGRetentionPolicy | default "Delete"}}"
+ {{- end }}
+ {{- if $sc.replication.remoteStorageClassName }}
+ {{ printf "%s/remoteStorageClassName" $prefix }}: "{{ $sc.replication.remoteStorageClassName | default "csi-powerflex-replication"}}"
+ {{- end }}
+ {{- if $sc.replication.rpo }}
+ {{ printf "%s/rpo" $prefix }}: {{ $sc.replication.rpo | default 60 }}
+ {{- end }}
+ {{- if $sc.replication.volumeGroupPrefix }}
+ {{ printf "%s/volumeGroupPrefix" $prefix }}: "{{ $sc.replication.volumeGroupPrefix | default "csi-powerflex"}}"
+ {{- end }}
+
+ {{- end }}
+
+volumeBindingMode: {{ $sc.volumeBindingMode | default "Immediate" }}
+{{- if $sc.allowedTopologies }}
+allowedTopologies:
+ {{ $sc.allowedTopologies | toYaml | nindent 4 }}
+{{- end }}
+---
+{{- end }}
--
2.25.1

View File

@ -0,0 +1,166 @@
From 35a4ab726cf91c06822b8e4b934dc8a825d32ec3 Mon Sep 17 00:00:00 2001
From: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
Date: Wed, 10 Apr 2024 10:29:18 -0300
Subject: [PATCH] csi-powerflex: fix image path for templates
This patch consists of changing the format to use the image path directly
following the expected format used by kube_app.
Signed-off-by: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
---
charts/csi-vxflexos/templates/controller.yaml | 20 +++++++++----------
charts/csi-vxflexos/templates/node.yaml | 12 +++++------
2 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/charts/csi-vxflexos/templates/controller.yaml b/charts/csi-vxflexos/templates/controller.yaml
index a456049..99aebf3 100644
--- a/charts/csi-vxflexos/templates/controller.yaml
+++ b/charts/csi-vxflexos/templates/controller.yaml
@@ -194,7 +194,7 @@ spec:
{{- if hasKey .Values "podmon" }}
{{- if eq .Values.podmon.enabled true }}
- name: podmon
- image: {{ required "Must provide the podmon container image." .Values.images.podmon }}
+ image: {{ required "Must provide the podmon container image." .Values.podmon.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
args:
{{- toYaml .Values.podmon.controller.args | nindent 12 }}
@@ -219,7 +219,7 @@ spec:
{{- end }}
{{- end }}
- name: attacher
- image: {{ required "Must provide the CSI attacher container image." .Values.images.attacher }}
+ image: {{ required "Must provide the CSI attacher container image." .Values.controller.attacher.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
args:
- "--csi-address=$(ADDRESS)"
@@ -234,7 +234,7 @@ spec:
{{- if hasKey .Values.controller "replication" }}
{{- if eq .Values.controller.replication.enabled true}}
- name: dell-csi-replicator
- image: {{ required "Must provide the Dell CSI Replicator image." .Values.images.replication }}
+ image: {{ required "Must provide the Dell CSI Replicator image." .Values.controller.replication.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
args:
- "--csi-address=$(ADDRESS)"
@@ -260,7 +260,7 @@ spec:
{{- end }}
{{- end }}
- name: provisioner
- image: {{ required "Must provide the CSI provisioner container image." .Values.images.provisioner }}
+ image: {{ required "Must provide the CSI provisioner container image." .Values.controller.provisioner.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
args:
- "--csi-address=$(ADDRESS)"
@@ -292,7 +292,7 @@ spec:
{{- if hasKey .Values.controller "healthMonitor" }}
{{- if eq .Values.controller.healthMonitor.enabled true}}
- name: csi-external-health-monitor-controller
- image: {{ required "Must provide the CSI external health monitor image." .Values.images.healthmonitor }}
+ image: {{ required "Must provide the CSI external health monitor image." .Values.controller.healthMonitor.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
args:
- "--csi-address=$(ADDRESS)"
@@ -313,7 +313,7 @@ spec:
{{- if hasKey .Values "vgsnapshotter" }}
{{- if eq .Values.vgsnapshotter.enabled true }}
- name: vg-snapshotter
- image: {{ required "Must provide the vgsnapshotter container image." .Values.images.vgsnapshotter }}
+ image: {{ required "Must provide the vgsnapshotter container image." .Values.vgsnapshotter.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
env:
- name: ADDRESS
@@ -326,7 +326,7 @@ spec:
{{- if hasKey .Values.controller "snapshot" }}
{{- if eq .Values.controller.snapshot.enabled true }}
- name: snapshotter
- image: {{ required "Must provide the CSI snapshotter container image. " .Values.images.snapshotter }}
+ image: {{ required "Must provide the CSI snapshotter container image. " .Values.controller.snapshot.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
args:
- "--csi-address=$(ADDRESS)"
@@ -344,7 +344,7 @@ spec:
{{- if hasKey .Values.controller "resizer" }}
{{- if eq .Values.controller.resizer.enabled true }}
- name: resizer
- image: {{ required "Must provide the CSI resizer container image." .Values.images.resizer }}
+ image: {{ required "Must provide the CSI resizer container image." .Values.controller.resizer.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
args:
- "--csi-address=$(ADDRESS)"
@@ -361,7 +361,7 @@ spec:
{{- if hasKey .Values "authorization" }}
{{- if eq .Values.authorization.enabled true }}
- name: karavi-authorization-proxy
- image: {{ required "Must provide the authorization sidecar container image." .Values.images.authorization }}
+ image: {{ required "Must provide the authorization sidecar container image." .Values.authorization.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
env:
- name: PROXY_HOST
@@ -390,7 +390,7 @@ spec:
{{- end }}
{{- end }}
- name: driver
- image: "{{ required "Must provide the driver image repository." .Values.images.driver }}"
+ image: "{{ required "Must provide the driver image repository." .Values.driver.image }}"
imagePullPolicy: {{ .Values.imagePullPolicy }}
command: [ "/csi-vxflexos.sh" ]
args:
diff --git a/charts/csi-vxflexos/templates/node.yaml b/charts/csi-vxflexos/templates/node.yaml
index 8083e8f..34489dd 100644
--- a/charts/csi-vxflexos/templates/node.yaml
+++ b/charts/csi-vxflexos/templates/node.yaml
@@ -108,7 +108,7 @@ spec:
capabilities:
add: ["SYS_ADMIN"]
allowPrivilegeEscalation: true
- image: {{ required "Must provide the podmon container image." .Values.images.podmon }}
+ image: {{ required "Must provide the podmon container image." .Values.podmon.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
args:
{{- toYaml .Values.podmon.node.args | nindent 12 }}
@@ -150,7 +150,7 @@ spec:
{{- if hasKey .Values "authorization" }}
{{- if eq .Values.authorization.enabled true }}
- name: karavi-authorization-proxy
- image: {{ required "Must provide the authorization sidecar container image." .Values.images.authorization }}
+ image: {{ required "Must provide the authorization sidecar container image." .Values.authorization.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
env:
- name: PROXY_HOST
@@ -184,7 +184,7 @@ spec:
allowPrivilegeEscalation: true
capabilities:
add: ["SYS_ADMIN"]
- image: "{{ required "Must provide the driver image repository." .Values.images.driver }}"
+ image: "{{ required "Must provide the driver image repository." .Values.driver.image }}"
imagePullPolicy: {{ .Values.imagePullPolicy }}
command: [ "/csi-vxflexos.sh" ]
args:
@@ -247,7 +247,7 @@ spec:
readOnly: true
{{- end}}
- name: registrar
- image: {{ required "Must provide the CSI registrar container image." .Values.images.registrar }}
+ image: {{ required "Must provide the CSI registrar container image." .Values.node.registrar.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
args:
- "--v=5"
@@ -270,7 +270,7 @@ spec:
- name: sdc-monitor
securityContext:
privileged: true
- image: {{ required "Must provide the PowerFlex SDC container image." .Values.images.powerflexSdc }}
+ image: {{ required "Must provide the PowerFlex SDC container image." .Values.node.powerflexSdc.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
env:
{{ if eq .Values.monitor.hostPID true }}
@@ -309,7 +309,7 @@ spec:
- name: sdc
securityContext:
privileged: true
- image: {{ required "Must provide the PowerFlex SDC container image." .Values.images.powerflexSdc }}
+ image: {{ required "Must provide the PowerFlex SDC container image." .Values.node.powerflexSdc.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
env:
- name: NODENAME
--
2.25.1

View File

@ -0,0 +1,44 @@
From 55a34c781d3375397e29cab6abb7d7dd20ae7beb Mon Sep 17 00:00:00 2001
From: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
Date: Wed, 10 Apr 2024 10:29:38 -0300
Subject: [PATCH] csi-powerflex: fix pull image error
This patch consists of adding imagePullSecrets with name
default-registry-key only in ServiceAccounts.
It's necessary because without it the system can't use the
images from the registry local.
Signed-off-by: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
---
charts/csi-vxflexos/templates/controller.yaml | 2 ++
charts/csi-vxflexos/templates/node.yaml | 2 ++
2 files changed, 4 insertions(+)
diff --git a/charts/csi-vxflexos/templates/controller.yaml b/charts/csi-vxflexos/templates/controller.yaml
index 99aebf3..33acd5a 100644
--- a/charts/csi-vxflexos/templates/controller.yaml
+++ b/charts/csi-vxflexos/templates/controller.yaml
@@ -3,6 +3,8 @@ kind: ServiceAccount
metadata:
name: {{ .Release.Name }}-controller
namespace: {{ .Release.Namespace }}
+imagePullSecrets:
+ - name: default-registry-key
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
diff --git a/charts/csi-vxflexos/templates/node.yaml b/charts/csi-vxflexos/templates/node.yaml
index 34489dd..c0b335d 100644
--- a/charts/csi-vxflexos/templates/node.yaml
+++ b/charts/csi-vxflexos/templates/node.yaml
@@ -3,6 +3,8 @@ kind: ServiceAccount
metadata:
name: {{ .Release.Name }}-node
namespace: {{ .Release.Namespace }}
+imagePullSecrets:
+ - name: default-registry-key
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
--
2.25.1

View File

@ -0,0 +1,124 @@
From 73f8a1a1769f940dd7c7a1dff19f50432c54263a Mon Sep 17 00:00:00 2001
From: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
Date: Wed, 10 Apr 2024 10:30:34 -0300
Subject: [PATCH] csi-powerflex: enabling csm-resiliency
This patch consists of changing the format of the values in templates and
changing the values.yaml for the user be able to enable csm-resiliency.
Signed-off-by: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
---
charts/csi-vxflexos/templates/controller.yaml | 8 ++++----
charts/csi-vxflexos/templates/driver-config-params.yaml | 2 +-
charts/csi-vxflexos/templates/node.yaml | 8 ++++----
charts/csi-vxflexos/values.yaml | 4 ++++
4 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/charts/csi-vxflexos/templates/controller.yaml b/charts/csi-vxflexos/templates/controller.yaml
index 33acd5a..a08a99c 100644
--- a/charts/csi-vxflexos/templates/controller.yaml
+++ b/charts/csi-vxflexos/templates/controller.yaml
@@ -20,7 +20,7 @@ rules:
- apiGroups: [""]
resources: ["nodes"]
{{- if hasKey .Values "podmon" }}
-{{- if eq .Values.podmon.enabled true }}
+{{- if or .Values.podmon.enabled .Values.csm.resiliency }}
verbs: ["get", "list", "watch", "patch"]
{{- else }}
verbs: ["get", "list", "watch"]
@@ -41,7 +41,7 @@ rules:
- apiGroups: ["storage.k8s.io"]
resources: ["volumeattachments"]
{{- if hasKey .Values "podmon" }}
-{{- if eq .Values.podmon.enabled true }}
+{{- if or .Values.podmon.enabled .Values.csm.resiliency }}
verbs: ["get", "list", "watch", "update", "patch", "delete"]
{{- else }}
verbs: ["get", "list", "watch", "update", "patch"]
@@ -59,7 +59,7 @@ rules:
- apiGroups: [""]
resources: ["pods"]
{{- if hasKey .Values "podmon" }}
-{{- if eq .Values.podmon.enabled true }}
+{{- if or .Values.podmon.enabled .Values.csm.resiliency }}
verbs: ["get", "list", "watch", "update", "delete"]
{{- else }}
verbs: ["get", "list", "watch"]
@@ -194,7 +194,7 @@ spec:
{{- end }}
containers:
{{- if hasKey .Values "podmon" }}
-{{- if eq .Values.podmon.enabled true }}
+{{- if or .Values.podmon.enabled .Values.csm.resiliency }}
- name: podmon
image: {{ required "Must provide the podmon container image." .Values.podmon.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
diff --git a/charts/csi-vxflexos/templates/driver-config-params.yaml b/charts/csi-vxflexos/templates/driver-config-params.yaml
index 0129cac..98c2858 100644
--- a/charts/csi-vxflexos/templates/driver-config-params.yaml
+++ b/charts/csi-vxflexos/templates/driver-config-params.yaml
@@ -7,7 +7,7 @@ data:
driver-config-params.yaml: |
CSI_LOG_LEVEL: "{{ .Values.logLevel }}"
CSI_LOG_FORMAT: "{{ .Values.logFormat }}"
- {{ if .Values.podmon.enabled }}
+ {{- if or .Values.podmon.enabled .Values.csm.resiliency }}
PODMON_CONTROLLER_LOG_LEVEL: "{{ .Values.logLevel }}"
PODMON_CONTROLLER_LOG_FORMAT: "{{ .Values.logFormat }}"
PODMON_NODE_LOG_LEVEL: "{{ .Values.logLevel }}"
diff --git a/charts/csi-vxflexos/templates/node.yaml b/charts/csi-vxflexos/templates/node.yaml
index c0b335d..805854c 100644
--- a/charts/csi-vxflexos/templates/node.yaml
+++ b/charts/csi-vxflexos/templates/node.yaml
@@ -37,7 +37,7 @@ rules:
resources: ["securitycontextconstraints"]
verbs: ["use"]
{{- if hasKey .Values "podmon" }}
-{{- if eq .Values.podmon.enabled true }}
+{{- if or .Values.podmon.enabled .Values.csm.resiliency }}
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "list", "watch", "update", "delete"]
@@ -79,7 +79,7 @@ spec:
metadata:
labels:
app: {{ .Release.Name }}-node
-{{- if eq .Values.podmon.enabled true }}
+{{- if or .Values.podmon.enabled .Values.csm.resiliency }}
driver.dellemc.com: dell-storage
{{- end }}
annotations:
@@ -103,7 +103,7 @@ spec:
{{- end }}
containers:
{{- if hasKey .Values "podmon" }}
-{{- if eq .Values.podmon.enabled true }}
+{{- if or .Values.podmon.enabled .Values.csm.resiliency }}
- name: podmon
securityContext:
privileged: true
@@ -414,7 +414,7 @@ spec:
{{ end }}
{{ end }}
{{- if hasKey .Values "podmon" }}
-{{- if eq .Values.podmon.enabled true }}
+{{- if or .Values.podmon.enabled .Values.csm.resiliency }}
- name: usr-bin
hostPath:
path: /usr/bin
diff --git a/charts/csi-vxflexos/values.yaml b/charts/csi-vxflexos/values.yaml
index 573bcc6..8644074 100644
--- a/charts/csi-vxflexos/values.yaml
+++ b/charts/csi-vxflexos/values.yaml
@@ -1,4 +1,8 @@
---
+# CSM Control
+csm:
+ resiliency: false
+
# k8s/driver attributes
driverName: "csi-vxflexos.dellemc.com"
--
2.25.1

View File

@ -0,0 +1,59 @@
From 6fed32776ffe6f5bf0ce420e7246231472b43641 Mon Sep 17 00:00:00 2001
From: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
Date: Wed, 10 Apr 2024 10:33:43 -0300
Subject: [PATCH] csi-powerflex: enabling csm-replication
This patch consists of changing the format of the values in templates and
changing the values.yaml for the user be able to enable csm-replication.
Signed-off-by: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
---
charts/csi-vxflexos/templates/controller.yaml | 6 +++---
charts/csi-vxflexos/values.yaml | 1 +
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/charts/csi-vxflexos/templates/controller.yaml b/charts/csi-vxflexos/templates/controller.yaml
index a08a99c..5cd32fd 100644
--- a/charts/csi-vxflexos/templates/controller.yaml
+++ b/charts/csi-vxflexos/templates/controller.yaml
@@ -98,7 +98,7 @@ rules:
resources: ["customresourcedefinitions"]
verbs: ["create", "list", "watch", "delete", "update"]
{{- if hasKey .Values.controller "replication" }}
-{{- if eq .Values.controller.replication.enabled true}}
+{{- if or .Values.controller.replication.enabled .Values.csm.replication }}
- apiGroups: ["replication.storage.dell.com"]
resources: ["dellcsireplicationgroups"]
verbs: ["create", "delete", "get", "list", "patch", "update", "watch"]
@@ -234,7 +234,7 @@ spec:
- name: socket-dir
mountPath: /var/run/csi
{{- if hasKey .Values.controller "replication" }}
- {{- if eq .Values.controller.replication.enabled true}}
+ {{- if or .Values.controller.replication.enabled .Values.csm.replication }}
- name: dell-csi-replicator
image: {{ required "Must provide the Dell CSI Replicator image." .Values.controller.replication.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
@@ -410,7 +410,7 @@ spec:
- name: SSL_CERT_DIR
value: /certs
{{- if hasKey .Values.controller "replication" }}
- {{- if eq .Values.controller.replication.enabled true}}
+ {{- if or .Values.controller.replication.enabled .Values.csm.replication }}
- name: X_CSI_REPLICATION_CONTEXT_PREFIX
value: {{ .Values.controller.replication.replicationContextPrefix | default "powerflex"}}
- name: X_CSI_REPLICATION_PREFIX
diff --git a/charts/csi-vxflexos/values.yaml b/charts/csi-vxflexos/values.yaml
index 8644074..3d6790f 100644
--- a/charts/csi-vxflexos/values.yaml
+++ b/charts/csi-vxflexos/values.yaml
@@ -1,6 +1,7 @@
---
# CSM Control
csm:
+ replication: false
resiliency: false
# k8s/driver attributes
--
2.25.1

View File

@ -0,0 +1,76 @@
From 1372202eb1600be46ef1b1f1323a057abaa803e7 Mon Sep 17 00:00:00 2001
From: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
Date: Wed, 10 Apr 2024 10:34:27 -0300
Subject: [PATCH] csi-powerflex: enabling csm-authorization
This patch consists of:
- change the format of the values in templates and changing the
values.yaml for the user be able to enable csm-authorization.
- Change some authorization secrets to use the release name as prefix.
- Adds authorization-config template to create the secret used by
the csm-observability/csm-authorization
Signed-off-by: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
---
.../templates/authorization_config.yaml | 20 +++++++++++++++++++
.../templates/proxy-server-secret.yaml | 9 +++++++++
charts/csi-vxflexos/values.yaml | 1 +
3 files changed, 30 insertions(+)
create mode 100644 charts/csi-vxflexos/templates/authorization_config.yaml
create mode 100644 charts/csi-vxflexos/templates/proxy-server-secret.yaml
diff --git a/charts/csi-vxflexos/templates/authorization_config.yaml b/charts/csi-vxflexos/templates/authorization_config.yaml
new file mode 100644
index 0000000..baebb10
--- /dev/null
+++ b/charts/csi-vxflexos/templates/authorization_config.yaml
@@ -0,0 +1,20 @@
+{{- if or .Values.authorization.enabled .Values.csm.authorization }}
+{{- if .Values.secret }}
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ .Release.Name }}-authorization-config
+ namespace: {{ .Release.Namespace }}
+stringData:
+ config: |
+ {{- range .Values.secret.arrays }}
+ - username: {{ .username }}
+ password: {{ .password }}
+ intendedEndpoint: {{ .endpoint }}
+ endpoint: {{ .authorizationEndpoint | default "https://localhost:9400" }}
+ systemID: {{ .clusterName }}
+ skipCertificateValidation: {{ .skipCertificateValidation | default true }}
+ isDefault: {{ .isDefault | default false }}
+ {{- end }}
+{{- end }}
+{{- end }}
diff --git a/charts/csi-vxflexos/templates/proxy-server-secret.yaml b/charts/csi-vxflexos/templates/proxy-server-secret.yaml
new file mode 100644
index 0000000..d2d893b
--- /dev/null
+++ b/charts/csi-vxflexos/templates/proxy-server-secret.yaml
@@ -0,0 +1,9 @@
+{{- if or .Values.authorization.enabled .Values.csm.authorization }}
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ .Release.Name }}-proxy-server-root-certificate
+ namespace: {{ .Release.Namespace }}
+stringData:
+ rootCertificate.pem: {{ .Values.authorization.rootCertificate | default "" | quote }}
+{{- end }}
diff --git a/charts/csi-vxflexos/values.yaml b/charts/csi-vxflexos/values.yaml
index decda90..d4711c3 100644
--- a/charts/csi-vxflexos/values.yaml
+++ b/charts/csi-vxflexos/values.yaml
@@ -1,6 +1,7 @@
---
# CSM Control
csm:
+ authorization: false
replication: false
resiliency: false
--
2.25.1

View File

@ -0,0 +1,53 @@
From 8ee25bde6180c22ee00ae0f7fe131ebaf2d193bc Mon Sep 17 00:00:00 2001
From: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
Date: Wed, 10 Apr 2024 16:51:32 -0300
Subject: [PATCH] csi-powerflex: add label app.starlingx.io/component
This patch consists of changing the strategy from the Deployment resource and
add the app.starlingx.io/component label in all pods.
The strategy was needed changing because in the reapply the old replicasets
were not being deleted. The default value was rollingUpdate.
In this case, it doesn't effect functionality.
Signed-off-by: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
---
charts/csi-vxflexos/templates/controller.yaml | 4 ++--
charts/csi-vxflexos/templates/node.yaml | 1 +
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/charts/csi-vxflexos/templates/controller.yaml b/charts/csi-vxflexos/templates/controller.yaml
index 5cd32fd..ace6c45 100644
--- a/charts/csi-vxflexos/templates/controller.yaml
+++ b/charts/csi-vxflexos/templates/controller.yaml
@@ -153,8 +153,7 @@ metadata:
spec:
{{- if gt (int .Values.controller.controllerCount) 1 }}
strategy:
- rollingUpdate:
- maxUnavailable: 1
+ type: Recreate
{{- end }}
selector:
matchLabels:
@@ -169,6 +168,7 @@ spec:
vg-snapshotter-enabled: "false"
{{- end }}
name: {{ .Release.Name }}-controller
+ app.starlingx.io/component: {{ index .Values "app.starlingx.io/component" }}
annotations:
kubectl.kubernetes.io/default-container: "driver"
spec:
diff --git a/charts/csi-vxflexos/templates/node.yaml b/charts/csi-vxflexos/templates/node.yaml
index 805854c..6fe85b3 100644
--- a/charts/csi-vxflexos/templates/node.yaml
+++ b/charts/csi-vxflexos/templates/node.yaml
@@ -79,6 +79,7 @@ spec:
metadata:
labels:
app: {{ .Release.Name }}-node
+ app.starlingx.io/component: {{ index .Values "app.starlingx.io/component" }}
{{- if or .Values.podmon.enabled .Values.csm.resiliency }}
driver.dellemc.com: dell-storage
{{- end }}
--
2.25.1

View File

@ -0,0 +1,30 @@
From 57481ace96dec77dcfff22c2b1300e5ac78d5b0f Mon Sep 17 00:00:00 2001
From: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
Date: Mon, 15 Apr 2024 08:24:32 -0300
Subject: [PATCH] csi-powerflex: add snapshotclass in templates
This patch consists of adding a snapshot class in the helm chart
templates directory.
It's needed because this helm chart needs a snapshot classes that should
be created manually.
Signed-off-by: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
---
charts/csi-vxflexos/templates/snapshotclass.yaml | 6 ++++++
1 file changed, 6 insertions(+)
create mode 100644 charts/csi-vxflexos/templates/snapshotclass.yaml
diff --git a/charts/csi-vxflexos/templates/snapshotclass.yaml b/charts/csi-vxflexos/templates/snapshotclass.yaml
new file mode 100644
index 0000000..44de710
--- /dev/null
+++ b/charts/csi-vxflexos/templates/snapshotclass.yaml
@@ -0,0 +1,6 @@
+apiVersion: snapshot.storage.k8s.io/v1
+kind: VolumeSnapshotClass
+metadata:
+ name: {{ .Release.Name | lower }}-snapshotclass
+driver: {{ .Values.driverName | default ( print "csi-vxflexos.dellemc.com" ) }}
+deletionPolicy: {{ .Values.controller.snapshot.deletionPolicy }}
--
2.25.1

View File

@ -0,0 +1,58 @@
From edd7065654fbb183f9dbd1135c22263919baa38c Mon Sep 17 00:00:00 2001
From: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
Date: Tue, 23 Apr 2024 14:32:08 -0300
Subject: [PATCH] csi-powerflex: add proxy secret in templates
Add template for proxy-server-root-certificate secret needed by the
csm-authorization sidecar.
Signed-off-by: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
---
charts/csi-vxflexos/templates/controller.yaml | 2 +-
charts/csi-vxflexos/templates/node.yaml | 2 +-
charts/csi-vxflexos/values.yaml | 4 ++++
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/charts/csi-vxflexos/templates/controller.yaml b/charts/csi-vxflexos/templates/controller.yaml
index ace6c45..e0e8baa 100644
--- a/charts/csi-vxflexos/templates/controller.yaml
+++ b/charts/csi-vxflexos/templates/controller.yaml
@@ -459,7 +459,7 @@ spec:
secretName: karavi-authorization-config
- name: proxy-server-root-certificate
secret:
- secretName: proxy-server-root-certificate
+ secretName: {{ .Release.Name }}-proxy-server-root-certificate
{{ end }}
{{ end }}
{{- if ge (int .Values.certSecretCount) 1 }}
diff --git a/charts/csi-vxflexos/templates/node.yaml b/charts/csi-vxflexos/templates/node.yaml
index 6fe85b3..1cb74bb 100644
--- a/charts/csi-vxflexos/templates/node.yaml
+++ b/charts/csi-vxflexos/templates/node.yaml
@@ -411,7 +411,7 @@ spec:
secretName: karavi-authorization-config
- name: proxy-server-root-certificate
secret:
- secretName: proxy-server-root-certificate
+ secretName: {{ .Release.Name }}-proxy-server-root-certificate
{{ end }}
{{ end }}
{{- if hasKey .Values "podmon" }}
diff --git a/charts/csi-vxflexos/values.yaml b/charts/csi-vxflexos/values.yaml
index d4711c3..f0bb02d 100644
--- a/charts/csi-vxflexos/values.yaml
+++ b/charts/csi-vxflexos/values.yaml
@@ -398,6 +398,10 @@ authorization:
# Default value: None
proxyHost:
+ # rootCertificate: certificate used to communicate with the csm-authorization server
+ # Default value: None
+ rootCertificate:
+
# skipCertificateValidation: certificate validation of the csm-authorization server
# Allowed Values:
# "true" - TLS certificate verification will be skipped
--
2.25.1

View File

@ -0,0 +1,87 @@
From b00075bb5d78e8fe6ee09dbe513394c80281f9fc Mon Sep 17 00:00:00 2001
From: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
Date: Tue, 23 Apr 2024 14:36:42 -0300
Subject: [PATCH] csi-powerflex: add proxy-authz-token template
This patch consists of adding proxy-authz-token in the helm chart
templates directory. It's needed because this helm chart needs a config
secret that should be created manually.
Signed-off-by: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com>
---
charts/csi-vxflexos/templates/controller.yaml | 4 ++--
charts/csi-vxflexos/templates/node.yaml | 4 ++--
charts/csi-vxflexos/templates/proxy-authz-tokens.yaml | 10 ++++++++++
charts/csi-vxflexos/values.yaml | 2 ++
4 files changed, 16 insertions(+), 4 deletions(-)
create mode 100644 charts/csi-vxflexos/templates/proxy-authz-tokens.yaml
diff --git a/charts/csi-vxflexos/templates/controller.yaml b/charts/csi-vxflexos/templates/controller.yaml
index e0e8baa..e04e232 100644
--- a/charts/csi-vxflexos/templates/controller.yaml
+++ b/charts/csi-vxflexos/templates/controller.yaml
@@ -375,12 +375,12 @@ spec:
- name: ACCESS_TOKEN
valueFrom:
secretKeyRef:
- name: proxy-authz-tokens
+ name: {{ .Release.Name }}-proxy-authz-tokens
key: access
- name: REFRESH_TOKEN
valueFrom:
secretKeyRef:
- name: proxy-authz-tokens
+ name: {{ .Release.Name }}-proxy-authz-tokens
key: refresh
volumeMounts:
- name: karavi-authorization-config
diff --git a/charts/csi-vxflexos/templates/node.yaml b/charts/csi-vxflexos/templates/node.yaml
index 1cb74bb..3fd945c 100644
--- a/charts/csi-vxflexos/templates/node.yaml
+++ b/charts/csi-vxflexos/templates/node.yaml
@@ -165,12 +165,12 @@ spec:
- name: ACCESS_TOKEN
valueFrom:
secretKeyRef:
- name: proxy-authz-tokens
+ name: {{ .Release.Name }}-proxy-authz-tokens
key: access
- name: REFRESH_TOKEN
valueFrom:
secretKeyRef:
- name: proxy-authz-tokens
+ name: {{ .Release.Name }}-proxy-authz-tokens
key: refresh
volumeMounts:
- name: karavi-authorization-config
diff --git a/charts/csi-vxflexos/templates/proxy-authz-tokens.yaml b/charts/csi-vxflexos/templates/proxy-authz-tokens.yaml
new file mode 100644
index 0000000..38f35cf
--- /dev/null
+++ b/charts/csi-vxflexos/templates/proxy-authz-tokens.yaml
@@ -0,0 +1,10 @@
+{{- if or .Values.authorization.enabled .Values.csm.authorization }}
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ .Release.Name}}-proxy-authz-tokens
+type: Opaque
+data:
+ access: {{ .Values.proxyAuthzTokens.access | default " " | quote}}
+ refresh: {{ .Values.proxyAuthzTokens.refresh | default " " | quote }}
+{{- end }}
diff --git a/charts/csi-vxflexos/values.yaml b/charts/csi-vxflexos/values.yaml
index f0bb02d..c8803a7 100644
--- a/charts/csi-vxflexos/values.yaml
+++ b/charts/csi-vxflexos/values.yaml
@@ -415,6 +415,8 @@ authorization:
# Default value: docker.io/dellemc/csm-authorization-sidecar:v1.10.0
image: docker.io/dellemc/csm-authorization-sidecar:v1.10.0
+proxyAuthzTokens:
+
storageClasses:
secret:
--
2.25.1

View File

@ -0,0 +1,12 @@
0001-csi-powerflex-add-default-values-for-templates.patch
0002-csi-powerflex-add-secret-in-templates.patch
0003-csi-powerflex-add-storageclass-in-templates.patch
0004-csi-powerflex-fix-image-path-for-templates.patch
0005-csi-powerflex-fix-pull-image-error.patch
0006-csi-powerflex-enabling-csm-resiliency.patch
0007-csi-powerflex-enabling-csm-replication.patch
0008-csi-powerflex-enabling-csm-authorization.patch
0009-csi-powerflex-add-label-app.starlingx.io-component.patch
0010-csi-powerflex-add-snapshotclass-in-templates.patch
0011-csi-powerflex-add-proxy-secret-in-templates.patch
0012-csi-powerflex-add-proxy-authz-token-template.patch

View File

@ -0,0 +1,25 @@
#!/usr/bin/make -f
# export DH_VERBOSE = 1
export DEB_VERSION = $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ')
export PATCH_VERSION = $(shell echo $(DEB_VERSION) | cut -f 4 -d '.')
export CHART_BASE_VERSION = $(shell echo $(DEB_VERSION) | sed 's/-/./' | cut -d '.' -f 1-3)
export CHART_VERSION = $(CHART_BASE_VERSION)+STX.$(PATCH_VERSION)
export ROOT = debian/tmp
export APP_FOLDER = $(ROOT)/usr/lib/helm
%:
dh $@
override_dh_auto_build:
cp Makefile charts
cd charts && make CHART_VERSION=$(CHART_VERSION) csi-vxflexos
override_dh_auto_install:
# Install the app tar file.
install -d -m 755 $(APP_FOLDER)
install -p -D -m 755 charts/csi-vxflexos*.tgz $(APP_FOLDER)
override_dh_auto_test:

View File

@ -0,0 +1 @@
3.0 (quilt)

View File

@ -0,0 +1,15 @@
---
debname: csi-powerflex-helm
debver: 2.10-1
dl_path:
name: csi-vxflexos-2.10.1.tar.gz
url: https://github.com/dell/helm-charts/archive/csi-vxflexos-2.10.1.tar.gz
sha256sum: cd25b557a0f513ca794c152ea1dc411cfa6b4ec3c3a02e34493e635202d97761
src_files:
- csi-powerflex-helm/files/Makefile
revision:
dist: $STX_DIST
stx_patch: 11
GITREVCOUNT:
BASE_SRCREV: d873c07b40659a89e854257c20cb81711b369296
SRC_DIR: ${MY_REPO}/stx/app-dell-storage/helm-charts/upstream/csi-powerflex-helm

View File

@ -3,7 +3,7 @@ Upstream-Name: python3-k8sapp-dell-storage
Source: https://opendev.org/starlingx/app-dell-storage/
Files: *
Copyright: (c) 2023 Wind River Systems, Inc
Copyright: (c) 2023-2024 Wind River Systems, Inc
License: Apache-2
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -23,7 +23,7 @@ License: Apache-2
# If you want to use GPL v2 or later for the /debian/* files use
# the following clauses, or change it to suit. Delete these two lines
Files: debian/*
Copyright: 2023 Wind River Systems, Inc
Copyright: 2023-2024 Wind River Systems, Inc
License: Apache-2
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -9,6 +9,7 @@ HELM_NS_DELL_STORAGE = 'dell-storage'
HELM_APP_DELL_STORAGE = 'dell-storage'
# Helm: Supported charts:
HELM_CHART_CSI_POWERFLEX = 'csi-powerflex'
HELM_CHART_CSI_POWERSTORE = 'csi-powerstore'
HELM_CHART_CSI_POWERSCALE = 'csi-powerscale'
HELM_CHART_CSI_UNITY = 'csi-unity'
@ -17,6 +18,7 @@ HELM_CHART_CSM_OBSERVABILITY = 'csm-observability'
HELM_CHART_CSM_APPLICATION_MOBILITY = 'csm-application-mobility'
# FluxCD
FLUXCD_HELMRELEASE_CSI_POWERFLEX = 'csi-powerflex'
FLUXCD_HELMRELEASE_CSI_POWERSTORE = 'csi-powerstore'
FLUXCD_HELMRELEASE_CSI_POWERSCALE = 'csi-powerscale'
FLUXCD_HELMRELEASE_CSI_UNITY = 'csi-unity'

View File

@ -0,0 +1,38 @@
#
# Copyright (c) 2024 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
from sysinv.common import exception
from k8sapp_dell_storage.common import constants as app_constants
from k8sapp_dell_storage.helm import storage
class CSIPowerFlexHelm(storage.StorageBaseHelm):
""" Class to encapsulate helm operations for the CSI PowerFlex chart. """
CHART = app_constants.HELM_CHART_CSI_POWERFLEX
HELM_RELEASE = app_constants.FLUXCD_HELMRELEASE_CSI_POWERFLEX
SERVICE_NAME = app_constants.HELM_APP_DELL_STORAGE
def get_overrides(self, namespace=None):
controller = {
"controllerCount": self._num_replicas_for_platform_app()
}
overrides = {
app_constants.HELM_NS_DELL_STORAGE: {
"controller": controller,
}
}
if namespace in self.SUPPORTED_NAMESPACES:
return overrides[namespace]
elif namespace:
raise exception.InvalidHelmNamespace(chart=self.CHART,
namespace=namespace)
else:
return overrides

View File

@ -39,6 +39,7 @@ systemconfig.helm_plugins.dell_storage =
004_csm-observability = k8sapp_dell_storage.helm.csm_observability:CSMObservabilityHelm
005_csm-application-mobility = k8sapp_dell_storage.helm.csm_application_mobility:CSMApplicationMobilityHelm
006_csi-powerscale = k8sapp_dell_storage.helm.csi_powerscale:CSIPowerScaleHelm
007_csi-powerflex = k8sapp_dell_storage.helm.csi_powerflex:CSIPowerFlexHelm
systemconfig.fluxcd.kustomize_ops =
dell-storage = k8sapp_dell_storage.kustomize.kustomize_dell_storage:DellStorageFluxCDKustomizeOperator

View File

@ -6,6 +6,7 @@ Build-Depends: debhelper-compat (= 13),
helm,
python3-k8sapp-dell-storage,
python3-k8sapp-dell-storage-wheels,
csi-powerflex-helm,
csi-powerstore-helm,
csi-powerscale-helm,
csi-unity-helm,

View File

@ -5,6 +5,7 @@ maintain_user_overrides: true
maintain_attributes: true
disabled_charts:
- csi-powerflex
- csi-unity
- csi-powerscale
- csm-application-mobility

View File

@ -0,0 +1,60 @@
#
# Copyright (c) 2024 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
csm:
replication: false
resiliency: false
app.starlingx.io/component: platform
controller:
attacher:
image: registry.k8s.io/sig-storage/csi-attacher:v4.5.0
healthMonitor:
image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.11.0
provisioner:
image: registry.k8s.io/sig-storage/csi-provisioner:v4.0.0
replication:
image: docker.io/dellemc/dell-csi-replicator:v1.8.0
resizer:
image: registry.k8s.io/sig-storage/csi-resizer:v1.10.0
snapshot:
image: registry.k8s.io/sig-storage/csi-snapshotter:v7.0.1
snapNamePrefix: csi-powerflex-snap
volumeNamePrefix: csi-powerflex-vol
nodeSelector: { "node-role.kubernetes.io/control-plane": "" }
tolerations:
- key: "node-role.kubernetes.io/master"
operator: "Exists"
effect: "NoSchedule"
- key: "node-role.kubernetes.io/control-plane"
operator: "Exists"
effect: "NoSchedule"
node:
registrar:
image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.10.0
powerflexSdc:
image: docker.io/dellemc/sdc:4.5.1
nodeSelector: { "kubernetes.io/os": "linux" }
tolerations:
- operator: "Exists"
driver:
image: docker.io/dellemc/csi-vxflexos:v2.10.0
vgsnapshotter:
image: docker.io/dellemc/csi-volumegroup-snapshotter:v1.5.0
podmon:
image: docker.io/dellemc/podmon:v1.9.0
authorization:
image: docker.io/dellemc/csm-authorization-sidecar:v1.10.0
secret:
storageClasses:

View File

@ -0,0 +1,36 @@
#
# Copyright (c) 2024 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
kind: HelmRelease
metadata:
name: csi-powerflex
labels:
chart_group: dell-storage-charts
spec:
releaseName: csi-powerflex
chart:
spec:
chart: csi-vxflexos
version: REPLACE_HELM_CHART_VERSION
sourceRef:
kind: HelmRepository
name: stx-platform
interval: 1m
timeout: 30m
test:
enable: false
install:
disableHooks: false
upgrade:
disableHooks: false
valuesFrom:
- kind: Secret
name: csi-powerflex-static-overrides
valuesKey: csi-powerflex-static-overrides.yaml
- kind: Secret
name: csi-powerflex-system-overrides
valuesKey: csi-powerflex-system-overrides.yaml

View File

@ -0,0 +1,18 @@
#
# Copyright (c) 2024 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
namespace: dell-storage
resources:
- helmrelease.yaml
secretGenerator:
- name: csi-powerflex-static-overrides
files:
- csi-powerflex-static-overrides.yaml
- name: csi-powerflex-system-overrides
files:
- csi-powerflex-system-overrides.yaml
generatorOptions:
disableNameSuffixHash: true

View File

@ -9,6 +9,7 @@ kind: Kustomization
namespace: dell-storage
resources:
- base
- csi-powerflex
- csi-powerstore
- csi-powerscale
- csi-unity