Unsupported storage and checking latest launcher create infinite loop

If you must turn off the control for use unsupported storage than checking of the latest launcher creates infinite loop.

So you’re saying that if you shoot yourself in the foot you can’t walk properly anymore?

Why are you using an unsupported storage?

2 Likes

Have you considered… using a supported Docker storage method? :thinking:

3 Likes

Our white list looks good to me, maybe even a bit too wide.

I am not sure if we should keep carrying overlay1 as a supported driver. Also btrfs can be somewhat dodgy.

@saj do you think we should drop overlay from our supported list? (keeping overlay2)

2 Likes

Yes, I think it would be reasonable to drop the overlay storage driver from the whitelist. :+1:

Foremost in my mind was not unduly inconveniencing users on enterprise distros. Docker Inc. appear to have dropped their support for all platforms but the following:

  • Debian 9 (and later)
  • EL7
  • Ubuntu 16.04 (and later)

The kernels in these distributions should support overlay2. I can’t think of a reason why someone would choose to use the older overlay driver when their system meets overlay2 requirements.

3 Likes

I guess we could add an ALLOW_ME_TO_USE_AN_UNSUPPORTED_STORAGE_DRIVER environment variable override?

2 Likes

Ayup. I searched the launcher script for prior art -

ag -o '[A-Z]{4,}' launcher | sort | uniq

There’s no existing pattern for this manner of knob. I propose the DANGER_ prefix. I think it communicates the need for the user to take on additional responsibility.

diff --git a/launcher b/launcher
index b629bfc..3aed081 100755
--- a/launcher
+++ b/launcher
@@ -154,14 +154,19 @@ check_prereqs() {
 
   # 2. running an approved storage driver?
   if ! $docker_path info 2> /dev/null | egrep -q '^Storage Driver: (aufs|btrfs|zfs|overlay|overlay2)$'; then
-    echo "Your Docker installation is not using a supported storage driver.  If we were to proceed you may have a broken install."
+    echo "Your Docker installation is not using a supported storage driver."
     echo "aufs is the recommended storage driver, although zfs/btrfs/overlay and overlay2 may work as well."
     echo "Other storage drivers are known to be problematic."
     echo "You can tell what filesystem you are using by running \"docker info\" and looking at the 'Storage Driver' line."
     echo
-    echo "If you wish to continue anyway using your existing unsupported storage driver,"
-    echo "read the source code of launcher and figure out how to bypass this check."
-    exit 1
+
+    if [[ -z "${DANGER_UNSUPPORTED_DOCKER_STORAGE_DRIVER:-}" ]]; then
+      echo "Aborting."
+      echo
+      echo "If you wish to continue anyway using your existing unsupported storage driver,"
+      echo "read the source code of launcher and figure out how to bypass this check."
+      exit 1
+    fi
   fi
 
   # 3. running recommended docker version
5 Likes

OK so let’s remove btrfs and overlay from the whitelist?

edit: that’s done now

3 Likes