Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CSI-PowerStore: Adding support for feature volume limits #286

Merged
merged 8 commits into from
Jul 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions config/samples/storage_v1_csm_powerstore.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ spec:
# true: enable storage capacity tracking
# false: disable storage capacity tracking
storageCapacity: true
# Config version for CSI PowerStore v2.7.0 driver
configVersion: v2.7.0
# Config version for CSI PowerStore v2.8.0 driver
configVersion: v2.8.0
# authSecret: This is the secret used to validate the default PowerStore secret used for installation
# Allowed values: <metadataName specified in the Manifest>-config
# For example: If the metadataName is set to powerstore, authSecret value should be set to powerstore-config
Expand All @@ -43,8 +43,8 @@ spec:
forceUpdate: false
forceRemoveDriver: true
common:
# Image for CSI PowerStore driver v2.7.0
image: "dellemc/csi-powerstore:v2.7.0"
# Image for CSI PowerStore driver v2.8.0
image: "dellemc/csi-powerstore:v2.8.0"
imagePullPolicy: IfNotPresent
envs:
- name: X_CSI_POWERSTORE_NODE_NAME_PREFIX
Expand Down Expand Up @@ -132,6 +132,11 @@ spec:
# Default value: false
- name: X_CSI_HEALTH_MONITOR_ENABLED
value: "false"
# X_CSI_POWERSTORE_MAX_VOLUMES_PER_NODE: Defines the maximum PowerStore volumes that can be created per node
# Allowed values: Any value greater than or equal to 0
# Default value: "0"
- name: X_CSI_POWERSTORE_MAX_VOLUMES_PER_NODE
value: "0"

# nodeSelector: Define node selection constraints for node pods.
# For the pod to be eligible to run on a node, the node must have each
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
# limitations under the License.
#
#

apiVersion: v1
kind: ServiceAccount
metadata:
Expand Down Expand Up @@ -132,7 +131,7 @@ spec:
topologyKey: kubernetes.io/hostname
containers:
- name: attacher
image: registry.k8s.io/sig-storage/csi-attacher:v4.0.0
image: registry.k8s.io/sig-storage/csi-attacher:v4.3.0
imagePullPolicy: IfNotPresent
args:
- "--csi-address=$(ADDRESS)"
Expand All @@ -148,7 +147,7 @@ spec:
- name: socket-dir
mountPath: /var/run/csi
- name: resizer
image: registry.k8s.io/sig-storage/csi-resizer:v1.6.0
image: registry.k8s.io/sig-storage/csi-resizer:v1.8.0
imagePullPolicy: IfNotPresent
args:
- "--csi-address=$(ADDRESS)"
Expand All @@ -161,7 +160,7 @@ spec:
- name: socket-dir
mountPath: /var/run/csi
- name: provisioner
image: registry.k8s.io/sig-storage/csi-provisioner:v3.3.0
image: registry.k8s.io/sig-storage/csi-provisioner:v3.5.0
imagePullPolicy: IfNotPresent
args:
- "--csi-address=$(ADDRESS)"
Expand Down Expand Up @@ -190,7 +189,7 @@ spec:
- name: socket-dir
mountPath: /var/run/csi
- name: snapshotter
image: registry.k8s.io/sig-storage/csi-snapshotter:v6.1.0
image: registry.k8s.io/sig-storage/csi-snapshotter:v6.2.2
imagePullPolicy: IfNotPresent
args:
- "--csi-address=$(ADDRESS)"
Expand All @@ -204,7 +203,7 @@ spec:
- name: socket-dir
mountPath: /var/run/csi
- name: external-health-monitor
image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.7.0
image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.9.0
imagePullPolicy: IfNotPresent
args:
- "--v=5"
Expand All @@ -224,7 +223,7 @@ spec:
- name: socket-dir
mountPath: /var/run/csi
- name: driver
image: dellemc/csi-powerstore:v2.5.0
image: dellemc/csi-powerstore:v2.8.0
imagePullPolicy: IfNotPresent
command: [ "/csi-powerstore" ]
args:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,8 @@ metadata:
data:
driver-config-params.yaml: |
CSI_LOG_LEVEL: "debug"
CSI_LOG_FORMAT: "JSON"
CSI_LOG_FORMAT: "JSON"
PODMON_CONTROLLER_LOG_LEVEL: "debug"
PODMON_CONTROLLER_LOG_FORMAT: "JSON"
PODMON_NODE_LOG_LEVEL: "debug"
PODMON_NODE_LOG_FORMAT: "JSON"
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
# limitations under the License.
#
#

apiVersion: v1
kind: ServiceAccount
metadata:
Expand Down Expand Up @@ -77,6 +76,7 @@ spec:
metadata:
labels:
app: <DriverDefaultReleaseName>-node
driver.dellemc.com: dell-storage
spec:
#nodeSelector:
#tolerations:
Expand All @@ -91,7 +91,7 @@ spec:
capabilities:
add: ["SYS_ADMIN"]
allowPrivilegeEscalation: true
image: dellemc/csi-powerstore:v2.5.0
image: dellemc/csi-powerstore:v2.8.0
imagePullPolicy: IfNotPresent
command: [ "/csi-powerstore" ]
args:
Expand All @@ -101,7 +101,7 @@ spec:
- name: ENABLE_TRACING
value:
- name: CSI_ENDPOINT
value: unix:///var/lib/kubelet/plugins/csi-powerstore.dellemc.com/csi_sock
value: unix://<KUBELET_CONFIG_DIR>/plugins/csi-powerstore.dellemc.com/csi_sock
- name: X_CSI_MODE
value: node
- name: X_CSI_POWERSTORE_KUBE_NODE_NAME
Expand All @@ -113,10 +113,12 @@ spec:
value: <X_CSI_POWERSTORE_NODE_NAME_PREFIX>
- name: X_CSI_POWERSTORE_NODE_ID_PATH
value: /node-id
- name: X_CSI_POWERSTORE_MAX_VOLUMES_PER_NODE
value: <X_CSI_POWERSTORE_MAX_VOLUMES_PER_NODE>
- name: X_CSI_POWERSTORE_NODE_CHROOT_PATH
value: /noderoot
- name: X_CSI_POWERSTORE_TMP_DIR
value: /var/lib/kubelet/plugins/csi-powerstore.dellemc.com/tmp
value: <KUBELET_CONFIG_DIR>/plugins/csi-powerstore.dellemc.com/tmp
- name: X_CSI_DRIVER_NAME
value: "csi-powerstore.dellemc.com"
- name: X_CSI_FC_PORTS_FILTER_FILE_PATH
Expand All @@ -133,12 +135,12 @@ spec:
value: "<X_CSI_HEALTH_MONITOR_ENABLED>"
volumeMounts:
- name: driver-path
mountPath: /var/lib/kubelet/plugins/csi-powerstore.dellemc.com
mountPath: <KUBELET_CONFIG_DIR>/plugins/csi-powerstore.dellemc.com
- name: csi-path
mountPath: /var/lib/kubelet/plugins/kubernetes.io/csi
mountPath: <KUBELET_CONFIG_DIR>/plugins/kubernetes.io/csi
mountPropagation: "Bidirectional"
- name: pods-path
mountPath: /var/lib/kubelet/pods
mountPath: <KUBELET_CONFIG_DIR>/pods
mountPropagation: "Bidirectional"
- name: dev
mountPath: /dev
Expand All @@ -159,12 +161,12 @@ spec:
- name: powerstore-config-params
mountPath: /powerstore-config-params
- name: registrar
image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.6.0
image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.8.0
imagePullPolicy: IfNotPresent
args:
- "--v=5"
- "--csi-address=$(ADDRESS)"
- --kubelet-registration-path=/var/lib/kubelet/plugins/csi-powerstore.dellemc.com/csi_sock
- --kubelet-registration-path=<KUBELET_CONFIG_DIR>/plugins/csi-powerstore.dellemc.com/csi_sock
env:
- name: ADDRESS
value: /csi/csi_sock
Expand All @@ -181,18 +183,18 @@ spec:
volumes:
- name: registration-dir
hostPath:
path: /var/lib/kubelet/plugins_registry/
path: <KUBELET_CONFIG_DIR>/plugins_registry/
type: DirectoryOrCreate
- name: driver-path
hostPath:
path: /var/lib/kubelet/plugins/csi-powerstore.dellemc.com
path: <KUBELET_CONFIG_DIR>/plugins/csi-powerstore.dellemc.com
type: DirectoryOrCreate
- name: csi-path
hostPath:
path: /var/lib/kubelet/plugins/kubernetes.io/csi
path: <KUBELET_CONFIG_DIR>/plugins/kubernetes.io/csi
- name: pods-path
hostPath:
path: /var/lib/kubelet/pods
path: <KUBELET_CONFIG_DIR>/pods
type: Directory
- name: dev
hostPath:
Expand Down Expand Up @@ -228,3 +230,15 @@ spec:
- name: powerstore-config
secret:
secretName: <DriverDefaultReleaseName>-config
- name: usr-bin
hostPath:
path: /usr/bin
type: Directory
- name: kubelet-pods
hostPath:
path: /var/lib/kubelet/pods
type: Directory
- name: var-run
hostPath:
path: /var/run
type: Directory
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@
# limitations under the License.
#
#
minUpgradePath: v2.6.0
minUpgradePath: v2.7.0
2 changes: 2 additions & 0 deletions operatorconfig/moduleconfig/common/version-values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ powerstore:
# List of Driver versions and modules that supports the version
v2.7.0:
resiliency: "v1.6.0"
v2.8.0:
resiliency: "v1.7.0"
adarsh-dell marked this conversation as resolved.
Show resolved Hide resolved
powermax:
# List of Driver versions and modules that supports the version
v2.6.0:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#
#
# Copyright © 2023 Dell Inc. or its subsidiaries. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
name: podmon
image: dellemc/podmon:v1.7.0
imagePullPolicy: IfNotPresent
env:
- name: MY_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
volumeMounts:
- name: socket-dir
mountPath: /var/run/csi
- name: vxflexos-config-params
mountPath: /vxflexos-config-params
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#
#
# Copyright © 2023 Dell Inc. or its subsidiaries. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
name: podmon
image: dellemc/podmon:v1.7.0
imagePullPolicy: IfNotPresent
securityContext:
privileged: true
capabilities:
add: ["SYS_ADMIN"]
allowPrivilegeEscalation: true
env:
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
- name: X_CSI_PRIVATE_MOUNT_DIR
value: /var/lib/kubelet
- name: MY_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
volumeMounts:
- name: kubelet-pods
mountPath: <KUBELET_CONFIG_DIR>/pods
mountPropagation: "Bidirectional"
- name: driver-path
mountPath: <KUBELET_CONFIG_DIR>/plugins/vxflexos.emc.dell.com
mountPropagation: "Bidirectional"
- name: dev
mountPath: /dev
- name: usr-bin
mountPath: /usr-bin
- name: var-run
mountPath: /var/run
- name: vxflexos-config-params
mountPath: /vxflexos-config-params
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#
#
# Copyright © 2023 Dell Inc. or its subsidiaries. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
name: podmon
image: dellemc/podmon:v1.7.0
imagePullPolicy: IfNotPresent
env:
- name: MY_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
volumeMounts:
- name: socket-dir
mountPath: /var/run/csi
- name: csi-isilon-config-params
mountPath: /csi-isilon-config-params
Loading