aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/zfs-tests-sanity.yml
diff options
context:
space:
mode:
authorRich Ercolani <[email protected]>2021-10-25 13:27:05 -0400
committerGitHub <[email protected]>2021-10-25 11:27:05 -0600
commit731fbb5d22a6f6cbf6b284d5aa8e65370a3b8045 (patch)
tree1f4be95cdd3239eeac072180771dc2f9838eeedc /.github/workflows/zfs-tests-sanity.yml
parent14b69c0929f3867f87418f6f4001994afb26e5dd (diff)
Workaround cloud-init hotplug issue
cloud-init added a hook which triggers on every device add/rm event, which results in holding open devices for a while after they're created/destroyed. So let's shove an exclusion rule for that into the GH workflows until it gets fixed. Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: George Melikov <[email protected]> Reviewed-by: John Kennedy <[email protected]> Signed-off-by: Rich Ercolani <[email protected]> Closes #12644 Closes #12669
Diffstat (limited to '.github/workflows/zfs-tests-sanity.yml')
-rw-r--r--.github/workflows/zfs-tests-sanity.yml11
1 files changed, 11 insertions, 0 deletions
diff --git a/.github/workflows/zfs-tests-sanity.yml b/.github/workflows/zfs-tests-sanity.yml
index 40a7f8ba5..4df49461e 100644
--- a/.github/workflows/zfs-tests-sanity.yml
+++ b/.github/workflows/zfs-tests-sanity.yml
@@ -41,6 +41,17 @@ jobs:
sudo sed -i.bak 's/updates/extra updates/' /etc/depmod.d/ubuntu.conf
sudo depmod
sudo modprobe zfs
+ # Workaround for cloud-init bug
+ # see https://github.com/openzfs/zfs/issues/12644
+ FILE=/lib/udev/rules.d/10-cloud-init-hook-hotplug.rules
+ if [ -r "${FILE}" ]; then
+ HASH=$(md5sum "${FILE}" | awk '{ print $1 }')
+ if [ "${HASH}" = "121ff0ef1936cd2ef65aec0458a35772" ]; then
+ # Just shove a zd* exclusion right above the hotplug hook...
+ sudo sed -i -e s/'LABEL="cloudinit_hook"'/'KERNEL=="zd*", GOTO="cloudinit_end"\n&'/ "${FILE}"
+ sudo udevadm control --reload-rules
+ fi
+ fi
# Workaround to provide additional free space for testing.
# https://github.com/actions/virtual-environments/issues/2840
sudo rm -rf /usr/share/dotnet