Skip to content

Instantly share code, notes, and snippets.

@jmcshane
Created July 1, 2025 14:33
Show Gist options
  • Save jmcshane/e0c9bb411a8641ee8d4f5fb4f9ab07b0 to your computer and use it in GitHub Desktop.
Save jmcshane/e0c9bb411a8641ee8d4f5fb4f9ab07b0 to your computer and use it in GitHub Desktop.
apiVersion: node.harvesterhci.io/v1beta1
kind: CloudInit
metadata:
name: multipathd-start
spec:
matchSelector: {}
filename: 99_multipathd.yaml
contents: |
stages:
network:
- name: "Configure pure storage"
files:
- path: /etc/udev/rules.d/99-pure-storage.rules
permissions: 0644
content: |
#ACTION=="change", SUBSYSTEM=="scsi", ENV{SDEV_UA}=="INQUIRY_DATA_HAS_CHANGED", TEST=="rescan", ATTR{rescan}="x"
ACTION=="change", SUBSYSTEM=="scsi", ENV{SDEV_UA}=="CAPACITY_DATA_HAS_CHANGED", TEST=="rescan", ATTR{rescan}="x"
#ACTION=="change", SUBSYSTEM=="scsi", ENV{SDEV_UA}=="THIN_PROVISIONING_SOFT_THRESHOLD_REACHED", TEST=="rescan", ATTR{rescan}="x"
#ACTION=="change", SUBSYSTEM=="scsi", ENV{SDEV_UA}=="MODE_PARAMETERS_CHANGED", TEST=="rescan", ATTR{rescan}="x"
ACTION=="change", SUBSYSTEM=="scsi", ENV{SDEV_UA}=="REPORTED_LUNS_DATA_HAS_CHANGED", RUN+="scan-scsi-target $env{DEVPATH}"
- path: /etc/multipath/conf.d/90-pure.conf
content: |
defaults {
user_friendly_names no
enable_foreign "^$"
polling_interval 10
}
devices {
device {
vendor "NVME"
product "Pure Storage FlashArray"
path_selector "queue-length 0"
path_grouping_policy group_by_prio
prio ana
failback immediate
fast_io_fail_tmo 10
user_friendly_names no
no_path_retry 0
features 0
dev_loss_tmo 60
}
device {
vendor "PURE"
product "FlashArray"
path_selector "service-time 0"
hardware_handler "1 alua"
path_grouping_policy group_by_prio
prio alua
failback immediate
path_checker tur
fast_io_fail_tmo 10
user_friendly_names no
no_path_retry 0
features 0
dev_loss_tmo 600
}
}
blacklist_exceptions {
property "(SCSI_IDENT_|ID_WWN)"
}
blacklist {
devnode "^pxd[0-9]*"
devnode "^pxd*"
device {
vendor "VMware"
product "Virtual disk"
}
}
permissions: 0644
- name: "Start multipathd service"
systemctl:
enable:
- multipathd
start:
- multipathd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment