Home > Workload Solutions > Container Platforms > Red Hat OpenShift Container Platform > Guides > Implementation Guide—Red Hat OpenShift Container Platform 4.14 on Intel-powered Dell Infrastructure > CSM for Resiliency
The CSM for Resiliency is part of the open-source suite of Kubernetes storage enablers for Dell products. This CSM is designed to make Kubernetes applications, including applications that use persistent storage, more resilient to various types of failure. The CSM can be enabled for PowerStore and PowerMax Storage arrays.
The CSM for Resiliency acts solely on pods that have been assigned a designated label. This label must a key and a value that match what has been set in the resiliency module configuration. On startup, CSM for Resiliency generates a log message that displays the label key and value that are being used to monitor pods:
labelSelector: {map[podmon.dellemc.com/driver:csi-powerstore]
On the CSAH node:
oc create -f <yaml file>
oc get pods -n powerstore
NAME READY STATUS RESTARTS AGE
powerstore-controller-675c948954-j9b69 6/6 Running 0 83s
powerstore-controller-675c948954-wlkvv 6/6 Running 0 83s
powerstore-node-7f72v 3/3 Running 0 83s
powerstore-node-c9bkn 3/3 Running 0 83s
oc create -f <yaml file>
Get the pods that have a podmon.dellemc.com/driver label by running the following command:
oc get pods -l podmon.dellemc.com/driver
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
sts-busybox-resiliency-0 1/1 Running 0 4m19s
[root@csah resiliency]# oc rsh sts-busybox-resiliency-0
~ $ df -h
Filesystem Size Used Available Use% Mounted on
overlay 1.5T 31.2G 1.4T 2% /
tmpfs 64.0M 0 64.0M 0% /dev
shm 64.0M 0 64.0M 0% /dev/shm
tmpfs 151.1G 79.4M 151.0G 0% /tmp/resolv.conf
tmpfs 151.1G 79.4M 151.0G 0% /etc/hostname
tmpfs 151.1G 79.4M 151.0G 0% /tmp/.containerenv
tmpfs 151.1G 79.4M 151.0G 0% /etc/passwd
/var/lib/kubelet/plugins/kubernetes.io/csi/csi-powerstore.dellemc.com/2bddbeb6084aa3563a1fb7119396bfdbe03f9c8c28aa884f7553cc76e2416f32/globalmount/9138ba47-bb0f-45ec-8fb0-61194b5968f4
7.9G 32.2M 7.9G 0% /data
/dev/sdc4 1.5T 31.2G 1.4T 2% /etc/hosts
/dev/sdc4 1.5T 31.2G 1.4T 2% /dev/termination-log
tmpfs 151.1G 79.4M 151.0G 0% /tmp/secrets
tmpfs 754.3G 20.0K 754.3G 0% /tmp/secrets/kubernetes.io/serviceaccount
tmpfs 377.7G 0 377.7G 0% /proc/acpi
tmpfs 64.0M 0 64.0M 0% /proc/kcore
tmpfs 64.0M 0 64.0M 0% /proc/keys
tmpfs 64.0M 0 64.0M 0% /proc/timer_list
tmpfs 377.7G 0 377.7G 0% /proc/scsi
tmpfs 377.7G 0 377.7G 0% /sys/firmware
~ $ cd /data
/data $ ls
datafile
/data $ mkdir resiliency-test
/data $ ls
datafile resiliency-test
/data $ cd resiliency-test/
/data/resiliency-test $ vi res.txt
/data/resiliency-test $ cat res.txt
[root@csah resiliency]# oc get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
sts-busybox-resiliency-0 1/1 Running 0
[root@csah resiliency]# oc rsh sts-busybox-resiliency-0
~ $ cd /data/
/data $ ls
datafile resiliency-test
The pod is scheduled on another node, and the data is retained.