Skip to content

Commit

Permalink
Adding resiliency support for powermax
Browse files Browse the repository at this point in the history
  • Loading branch information
boyamurthy authored and delldubey committed May 24, 2024
1 parent 1bc6837 commit 7488ec2
Show file tree
Hide file tree
Showing 26 changed files with 2,040 additions and 3 deletions.
44 changes: 44 additions & 0 deletions config/samples/storage_v1_csm_powermax.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -443,3 +443,47 @@ spec:
# configMap name which has all array/endpoint related info
- name: "X_CSI_CONFIG_MAP_NAME"
value: "powermax-reverseproxy-config"
- name: resiliency
# enabled: Enable/Disable Resiliency feature
# Allowed values:
# true: enable Resiliency feature(deploy podmon sidecar)
# false: disable Resiliency feature(do not deploy podmon sidecar)
# Default value: false
enabled: false
configVersion: v1.9.0
components:
- name: podmon-controller
image: dellemc/podmon:v1.9.0
imagePullPolicy: IfNotPresent
args:
- "--labelvalue=csi-powermax"
- "--arrayConnectivityPollRate=60"
- "--skipArrayConnectionValidation=false"
- "--driverPodLabelValue=dell-storage"
- "--ignoreVolumelessPods=false"
- "--arrayConnectivityConnectionLossThreshold=3"
# Below 4 args should not be modified.
- "--csisock=unix:/var/run/csi/csi.sock"
- "--mode=controller"
- "--driver-config-params=/powermax-config-params/driver-config-params.yaml"
- "--driverPath=csi-powermax.dellemc.com"
- name: podmon-node
image: dellemc/podmon:v1.9.0
imagePullPolicy: IfNotPresent
envs:
# podmonAPIPort: Defines the port to be used within the kubernetes cluster
# Allowed values: Any valid and free port (string)
# Default value: 8083
- name: "X_CSI_PODMON_API_PORT"
value: "8083"
args:
- "--labelvalue=csi-powermax"
- "--arrayConnectivityPollRate=60"
- "--leaderelection=false"
- "--driverPodLabelValue=dell-storage"
- "--ignoreVolumelessPods=false"
# Below 4 args should not be modified.
- "--csisock=unix:/var/lib/kubelet/plugins/powermax.emc.dell.com/csi_sock"
- "--mode=node"
- "--driver-config-params=/powermax-config-params/driver-config-params.yaml"
- "--driverPath=csi-powermax.dellemc.com"
2 changes: 1 addition & 1 deletion docker.mk
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Registry for all images
REGISTRY ?= docker.io/dellemc
REGISTRY ?= vmadurprd01.cec.lab.emc.com:5000

# IMAGE_TAG_BASE defines the docker.io namespace and part of the image name for remote images.
# This variable is used to construct full image tags for bundle and catalog images.
Expand Down
19 changes: 19 additions & 0 deletions operatorconfig/driverconfig/powermax/v2.10.0/node.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,9 @@ spec:
- name: pods-path
mountPath: <KUBELET_CONFIG_DIR>/pods
mountPropagation: "Bidirectional"
- name: csi-path
mountPath: <KUBELET_CONFIG_DIR>/plugins/kubernetes.io/csi
mountPropagation: "Bidirectional"
- name: dev
mountPath: /dev
- name: sys
Expand Down Expand Up @@ -228,6 +231,9 @@ spec:
hostPath:
path: <KUBELET_CONFIG_DIR>/plugins/kubernetes.io/csi/volumeDevices
type: DirectoryOrCreate
- name: csi-path
hostPath:
path: <KUBELET_CONFIG_DIR>/plugins/kubernetes.io/csi
- name: pods-path
hostPath:
path: <KUBELET_CONFIG_DIR>/pods
Expand Down Expand Up @@ -259,3 +265,16 @@ spec:
configMap:
name: node-topology-config
optional: true
- name: kubelet-pods
hostPath:
path: /var/lib/kubelet/pods
type: Directory
- name: usr-bin
hostPath:
path: /usr/bin
type: Directory
- name: var-run
hostPath:
path: /var/run
type: Directory

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.9.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.9.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.9.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: powermax-config-params
mountPath: /powermax-config-params
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
#
#
# 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
securityContext:
privileged: true
capabilities:
add: ["SYS_ADMIN"]
allowPrivilegeEscalation: true
image: dellemc/podmon:v1.9.0
imagePullPolicy: IfNotPresent
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/powermax.emc.dell.com
mountPropagation: "Bidirectional"
- name: csi-path
mountPath: <KUBELET_CONFIG_DIR>/plugins/kubernetes.io/csi
mountPropagation: "Bidirectional"
- name: dev
mountPath: /dev
- name: usr-bin
mountPath: /usr-bin
- name: var-run
mountPath: /var/run
- name: powermax-config-params
mountPath: /powermax-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.9.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
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
#
#
# 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.9.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/csi-isilon
mountPropagation: "Bidirectional"
- name: csi-path
mountPath: <KUBELET_CONFIG_DIR>/plugins/kubernetes.io/csi
mountPropagation: "Bidirectional"
- name: dev
mountPath: /dev
- name: usr-bin
mountPath: /usr-bin
- name: var-run
mountPath: /var/run
- name: csi-isilon-config-params
mountPath: /csi-isilon-config-params
Loading

0 comments on commit 7488ec2

Please sign in to comment.