diff --git a/Makefile b/Makefile index ea086ce5d89..36da33ee4c3 100644 --- a/Makefile +++ b/Makefile @@ -44,7 +44,7 @@ BUILD_DATE := $(shell date -u +"%Y-%m-%dT%H:%M:%SZ") endif LDFLAGS = -X ${PKG}/pkg/smb.driverVersion=${IMAGE_VERSION} -X ${PKG}/pkg/smb.gitCommit=${GIT_COMMIT} -X ${PKG}/pkg/smb.buildDate=${BUILD_DATE} EXT_LDFLAGS = -s -w -extldflags "-static" -E2E_HELM_OPTIONS ?= --set image.smb.repository=$(REGISTRY)/$(IMAGENAME) --set image.smb.tag=$(IMAGE_VERSION) +E2E_HELM_OPTIONS ?= --set image.smb.repository=$(REGISTRY)/$(IMAGENAME) --set image.smb.tag=$(IMAGE_VERSION) --set controller.runOnControlPlane=true E2E_HELM_OPTIONS += ${EXTRA_HELM_OPTIONS} # Generate all combination of all OS, ARCH, and OSVERSIONS for iteration ALL_OS = linux windows diff --git a/charts/README.md b/charts/README.md index af775ef6ecb..c2eeb04ad38 100644 --- a/charts/README.md +++ b/charts/README.md @@ -8,8 +8,7 @@ - run smb-controller on control plane node: `--set controller.runOnControlPlane=true` - Microk8s based kubernetes recommended settings: - - `--set linux.kubelet="/var/snap/microk8s/common/var/lib/kubelet"` - sets correct path to microk8s kubelet even - though a user has a folder link to it. + - `--set linux.kubelet="/var/snap/microk8s/common/var/lib/kubelet"` - sets correct path to microk8s kubelet even though a user has a folder link to it. ### install a specific version diff --git a/charts/latest/csi-driver-smb-v0.0.0.tgz b/charts/latest/csi-driver-smb-v0.0.0.tgz index ccb42500c61..028adf6ea18 100644 Binary files a/charts/latest/csi-driver-smb-v0.0.0.tgz and b/charts/latest/csi-driver-smb-v0.0.0.tgz differ diff --git a/charts/latest/csi-driver-smb/templates/csi-smb-controller.yaml b/charts/latest/csi-driver-smb/templates/csi-smb-controller.yaml index 4961f82f1d6..eb33cae9488 100755 --- a/charts/latest/csi-driver-smb/templates/csi-smb-controller.yaml +++ b/charts/latest/csi-driver-smb/templates/csi-smb-controller.yaml @@ -24,10 +24,20 @@ spec: {{ toYaml .Values.podAnnotations | indent 8 }} {{- end }} spec: -{{- with .Values.controller.affinity }} + {{- if contains (tpl "{{ .Values.controller.affinity }}" .) "nodeSelectorTerms" }} + {{- with .Values.controller.affinity }} affinity: -{{ toYaml . | indent 8 }} -{{- end }} + {{ toYaml . | indent 8 }} + {{- end }} + {{- else if .Values.controller.runOnControlPlane}} + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: node-role.kubernetes.io/control-plane + operator: Exists + {{- end }} hostNetwork: true dnsPolicy: {{ .Values.controller.dnsPolicy }} serviceAccountName: {{ .Values.serviceAccount.controller }} @@ -39,9 +49,6 @@ spec: {{- if .Values.controller.runOnMaster}} node-role.kubernetes.io/master: "" {{- end}} - {{- if .Values.controller.runOnControlPlane}} - node-role.kubernetes.io/control-plane: "" - {{- end}} priorityClassName: {{ .Values.priorityClassName | quote }} {{- if .Values.securityContext }} securityContext: {{- toYaml .Values.securityContext | nindent 8 }} diff --git a/charts/v1.16.0/csi-driver-smb-v1.16.0.tgz b/charts/v1.16.0/csi-driver-smb-v1.16.0.tgz index ad4f9d9f9db..e9914c4b8ef 100644 Binary files a/charts/v1.16.0/csi-driver-smb-v1.16.0.tgz and b/charts/v1.16.0/csi-driver-smb-v1.16.0.tgz differ diff --git a/charts/v1.16.0/csi-driver-smb/templates/csi-smb-controller.yaml b/charts/v1.16.0/csi-driver-smb/templates/csi-smb-controller.yaml index b800df63698..99bd18b6316 100644 --- a/charts/v1.16.0/csi-driver-smb/templates/csi-smb-controller.yaml +++ b/charts/v1.16.0/csi-driver-smb/templates/csi-smb-controller.yaml @@ -24,10 +24,20 @@ spec: {{ toYaml .Values.podAnnotations | indent 8 }} {{- end }} spec: -{{- with .Values.controller.affinity }} + {{- if contains (tpl "{{ .Values.controller.affinity }}" .) "nodeSelectorTerms" }} + {{- with .Values.controller.affinity }} affinity: -{{ toYaml . | indent 8 }} -{{- end }} + {{ toYaml . | indent 8 }} + {{- end }} + {{- else if .Values.controller.runOnControlPlane}} + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: node-role.kubernetes.io/control-plane + operator: Exists + {{- end }} hostNetwork: true dnsPolicy: {{ .Values.controller.dnsPolicy }} serviceAccountName: {{ .Values.serviceAccount.controller }} @@ -39,9 +49,6 @@ spec: {{- if .Values.controller.runOnMaster}} node-role.kubernetes.io/master: "" {{- end}} - {{- if .Values.controller.runOnControlPlane}} - node-role.kubernetes.io/control-plane: "" - {{- end}} priorityClassName: {{ .Values.priorityClassName | quote }} {{- if .Values.securityContext }} securityContext: {{- toYaml .Values.securityContext | nindent 8 }} diff --git a/deploy/example/e2e_usage.md b/deploy/example/e2e_usage.md index 26e684541fe..085445bb180 100644 --- a/deploy/example/e2e_usage.md +++ b/deploy/example/e2e_usage.md @@ -29,6 +29,7 @@ parameters: csi.storage.k8s.io/node-stage-secret-namespace: default reclaimPolicy: Delete # available values: Delete, Retain volumeBindingMode: Immediate +allowVolumeExpansion: true mountOptions: - dir_mode=0777 - file_mode=0777 @@ -59,6 +60,7 @@ parameters: csi.storage.k8s.io/node-stage-secret-name: smbcreds csi.storage.k8s.io/node-stage-secret-namespace: default volumeBindingMode: Immediate +allowVolumeExpansion: true mountOptions: - dir_mode=0777 - file_mode=0777 diff --git a/deploy/example/storageclass-smb-krb5.yaml b/deploy/example/storageclass-smb-krb5.yaml index 9bb9a12758b..59b5d61f4ff 100644 --- a/deploy/example/storageclass-smb-krb5.yaml +++ b/deploy/example/storageclass-smb-krb5.yaml @@ -14,6 +14,7 @@ parameters: csi.storage.k8s.io/node-stage-secret-name: smbcreds-krb5 csi.storage.k8s.io/node-stage-secret-namespace: default volumeBindingMode: Immediate +allowVolumeExpansion: true mountOptions: - sec=krb5 - cruid=1000 diff --git a/deploy/example/storageclass-smb.yaml b/deploy/example/storageclass-smb.yaml index f87e220a2c7..2c3a04d3b9f 100644 --- a/deploy/example/storageclass-smb.yaml +++ b/deploy/example/storageclass-smb.yaml @@ -14,6 +14,7 @@ parameters: csi.storage.k8s.io/node-stage-secret-name: smbcreds csi.storage.k8s.io/node-stage-secret-namespace: default volumeBindingMode: Immediate +allowVolumeExpansion: true mountOptions: - dir_mode=0777 - file_mode=0777 diff --git a/deploy/example/windows/README.md b/deploy/example/windows/README.md index 8584309eb47..96b2067faab 100644 --- a/deploy/example/windows/README.md +++ b/deploy/example/windows/README.md @@ -39,6 +39,7 @@ kind: StorageClass metadata: name: smb provisioner: smb.csi.k8s.io +allowVolumeExpansion: true parameters: source: //smb-server.default.svc.cluster.local/share ... @@ -81,6 +82,7 @@ kind: StorageClass metadata: name: smb provisioner: smb.csi.k8s.io +allowVolumeExpansion: true parameters: source: //10.111.254.254/share ...