Problem: Upgrade to UCS 4.4-2 is blocked due to docker storage

Problem

The upgrade to UCS 4.4-2 is blocked because of an issue related to docker storage.
This article is only relevant for poeple who run into the following error during an upgrade to UCS 4.4-2.

ERROR: The current docker storage driver is “$storage_driver”.
An update to UCS 4.2-2 is only possible if docker uses
“overlay” as storage driver. To perform the update
the docker storage driver has to be changed to “overlay”.

Environment

In UCS 4.4-2 the Docker version has been upgraded to 18.09. With this new version some old storage drivers have been deprecated and can’t be used anymore.
Until UCS 4.4-2 overlay was used as docker’s default storage driver, which is still supported in Docker 18.09, and since the Univention Appcenter does not work correctly with other storage drivers an upgrade to UCS 4.4-2 is only possible if overlay is used.

Solution

To perform the upgrade to UCS 4.4-2 the storage driver has to be changed to overlay. Since overlay was the default, this should only affect you if you changed the storage driver manually to anything else than overlay.
Changing which storage driver docker uses is easy but be aware that doing so will make any already created containers and images inaccessible. If volumes were used to preserve the persistent data of containers then re-pulling the image (or using docker save and docker load) and running it should be all that is needed. If you want to keep the state of an running container you can look into docker commit.

To change the storage driver first stop the docker service and change the following ucr Variable to overlay

root@ucs:# service docker stop
root@ucs:# ucr set docker/daemon/default/opts/storage-driver='overlay'

After that the docker service has been started again and should now show.

root@ucs:# service docker start
root@ucs:# docker info
Storage Driver: overlay
...

The upgrade can now be performed.



For similar problems see also:

Mastodon