summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRich Ercolani <214141+rincebrain@users.noreply.github.com>2021-10-25 13:27:05 -0400
committerTony Hutter <hutter2@llnl.gov>2021-11-02 09:51:32 -0700
commit55ab3773d79657951c80ccd0407eb4e77b2e5fe4 (patch)
tree12bf1cb144dbaab3e7bbfc346b05a8aa7d0993fe
parent143476ce8d3aa4595ce7040cb0aabd2fd0e13dc8 (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 <behlendorf1@llnl.gov> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Signed-off-by: Rich Ercolani <rincebrain@gmail.com> Closes #12644 Closes #12669
-rw-r--r--.github/workflows/zfs-tests-functional.yml11
-rw-r--r--.github/workflows/zfs-tests-sanity.yml11
2 files changed, 22 insertions, 0 deletions
diff --git a/.github/workflows/zfs-tests-functional.yml b/.github/workflows/zfs-tests-functional.yml
index aa93013d9..584ad2785 100644
--- a/.github/workflows/zfs-tests-functional.yml
+++ b/.github/workflows/zfs-tests-functional.yml
@@ -44,6 +44,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
diff --git a/.github/workflows/zfs-tests-sanity.yml b/.github/workflows/zfs-tests-sanity.yml
index 36d4de130..c4d6af222 100644
--- a/.github/workflows/zfs-tests-sanity.yml
+++ b/.github/workflows/zfs-tests-sanity.yml
@@ -40,6 +40,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