diff --git a/elements/ironic-agent-multipath/README.rst b/elements/ironic-agent-multipath/README.rst new file mode 100644 index 000000000..8c658777e --- /dev/null +++ b/elements/ironic-agent-multipath/README.rst @@ -0,0 +1,10 @@ +====================== +ironic-agent-multipath +====================== +Updates the ironic agent, installing multipath package, +and rebuilding dracut to add the specified drivers. + +The drivers to add can be specified with the +`IRONIC_AGENT_MULTIPATH_DRIVERS`. It accepts a list of +drivers to add separated by spaces. The default values are +'be2iscsi iscsi_target_mod dm_multipath'. diff --git a/elements/ironic-agent-multipath/element-deps b/elements/ironic-agent-multipath/element-deps new file mode 100644 index 000000000..8c3ffe52a --- /dev/null +++ b/elements/ironic-agent-multipath/element-deps @@ -0,0 +1,2 @@ +package-installs +select-boot-kernel-initrd diff --git a/elements/ironic-agent-multipath/finalise.d/98-regenerate-initramfs b/elements/ironic-agent-multipath/finalise.d/98-regenerate-initramfs new file mode 100755 index 000000000..597d2dcd3 --- /dev/null +++ b/elements/ironic-agent-multipath/finalise.d/98-regenerate-initramfs @@ -0,0 +1,13 @@ +#!/bin/bash + +if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then + set -x +fi +set -eu +set -o pipefail + +RET=$(select-boot-kernel-initrd) +KERNEL_VERSION=`echo ${RET%:*} | sed 's/vmlinuz-//g'` +RAMDISK=/boot/${RET#*:} + +dracut -v --force --add-drivers "$IRONIC_AGENT_MULTIPATH_DRIVERS" $RAMDISK $KERNEL_VERSION diff --git a/elements/ironic-agent-multipath/package-installs.yaml b/elements/ironic-agent-multipath/package-installs.yaml new file mode 100644 index 000000000..9383be918 --- /dev/null +++ b/elements/ironic-agent-multipath/package-installs.yaml @@ -0,0 +1,2 @@ +iscsi-initiator-utils: +device-mapper-multipath: