Skip to content

Instantly share code, notes, and snippets.

@johnsimcall
Last active November 11, 2025 17:10
Show Gist options
  • Select an option

  • Save johnsimcall/e546204290949bdab375e767b104512a to your computer and use it in GitHub Desktop.

Select an option

Save johnsimcall/e546204290949bdab375e767b104512a to your computer and use it in GitHub Desktop.
Dell PowerStore - OpenShift Machine Configuration
### Change label as appropriate
---
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
name: 99-controllers-multipath-conf
# name: 99-workers-multipath-conf
labels:
machineconfiguration.openshift.io/role: master
# machineconfiguration.openshift.io/role: worker
spec:
config:
ignition:
version: 3.4.0
systemd:
units:
- name: "iscsid.service"
enabled: true
- name: multipathd.service
enabled: true
storage:
files:
- path: /etc/multipath.conf
filesystem: root
mode: 400
contents:
verification: {}
source: data:text/plain;charset=utf-8;base64,ZGVmYXVsdHMgewogIHBvbGxpbmdfaW50ZXJ2YWwgNQogIGNoZWNrZXJfdGltZW91dCAxNQogIGRpc2FibGVfY2hhbmdlZF93d2lkcyB5ZXMKICBmaW5kX211bHRpcGF0aHMgbm8KfQpkZXZpY2VzIHsKICBkZXZpY2UgewogICAgdmVuZG9yICAgICAgICAgICAgICAgICAgIERlbGxFTUMKICAgIHByb2R1Y3QgICAgICAgICAgICAgICAgICBQb3dlclN0b3JlCiAgICBkZXRlY3RfcHJpbyAgICAgICAgICAgICAgInllcyIKICAgIHBhdGhfc2VsZWN0b3IgICAgICAgICAgICAicXVldWUtbGVuZ3RoIDAiCiAgICBwYXRoX2dyb3VwaW5nX3BvbGljeSAgICAgImdyb3VwX2J5X3ByaW8iCiAgICBwYXRoX2NoZWNrZXIgICAgICAgICAgICAgdHVyCiAgICBmYWlsYmFjayAgICAgICAgICAgICAgICAgaW1tZWRpYXRlCiAgICBmYXN0X2lvX2ZhaWxfdG1vICAgICAgICAgNQogICAgbm9fcGF0aF9yZXRyeSAgICAgICAgICAgIDMKICAgIHJyX21pbl9pb19ycSAgICAgICAgICAgICAxCiAgICBtYXhfc2VjdG9yc19rYiAgICAgICAgICAgMTAyNAogICAgZGV2X2xvc3NfdG1vICAgICAgICAgICAgIDEwCiAgfQp9Cg==
# This patch causes changes to iscsi & multipathd to apply by restarting the relevant service, instead of rebooting the node
# This only went GA for OpenShift in 4.17
#
# https://docs.openshift.com/container-platform/4.17/machine_configuration/machine-config-node-disruption.html
---
apiVersion: operator.openshift.io/v1
kind: MachineConfiguration
metadata:
name: cluster
namespace: openshift-machine-config-operator
spec:
nodeDisruptionPolicy:
files:
- path: /etc/multipath.conf
actions:
- type: Restart
restart:
serviceName: multipathd.service
units:
- name: multipathd.service
actions:
- type: Restart
restart:
serviceName: multipathd.service
- name: iscsid.service
actions:
- type: Restart
restart:
serviceName: iscsid.service
@johnsimcall
Copy link
Author

johnsimcall commented Nov 7, 2025

Combine the multiple MachineConfig provided by Dell documentation into a single MachineConfig

https://dell.github.io/csm-docs/docs/getting-started/installation/openshift/powerstore/csmoperator/

TODODONE: Adopt Jason Kincl's method of applying changes to multipathd without rebooting the nodes

@johnsimcall
Copy link
Author

This is the /etc/multipath.conf file before base64 encoding...

defaults {
  polling_interval 5
  checker_timeout 15
  disable_changed_wwids yes
  find_multipaths no
}
devices {
  device {
    vendor                   DellEMC
    product                  PowerStore
    detect_prio              "yes"
    path_selector            "queue-length 0"
    path_grouping_policy     "group_by_prio"
    path_checker             tur
    failback                 immediate
    fast_io_fail_tmo         5
    no_path_retry            3
    rr_min_io_rq             1
    max_sectors_kb           1024
    dev_loss_tmo             10
  }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment