Deprecate devicemapper due to removal in Docker

Docker Engine 25.0 drops support for the devicemapper storage driver
after a long deprecation period.

Since devicemapper is used in some CI jobs, pin docker-ce package to the
latest available 24.x release. The master branch will remove
devicemapper support in another patch [1].

Add a deprecation notice indicating to the operator that they must
install a compatible version of Docker Engine to keep using
devicemapper.

[1] https://review.opendev.org/c/openstack/kayobe/+/906386

Change-Id: I6f62081d71232091e26269d4d7877203236c459d
This commit is contained in:
Pierre Riteau 2024-01-31 14:57:02 +01:00 committed by Mark Goddard
parent 3c759868cd
commit bd16d2931d
3 changed files with 24 additions and 0 deletions

View File

@ -5,6 +5,18 @@
- docker
- docker-devicemapper
tasks:
- name: Warn about deprecation of devicemapper Docker storage driver
fail:
msg: >
Support for using the devicemapper Docker storage driver is
deprecated in Kayobe and will be removed in the Caracal 16.0.0
release. To keep using devicemapper in the current release, ensure
that the version of Docker Engine installed is below 25.0.0.
# NOTE(priteau): We want this to print a nice big red warning and not to
# fail the run.
ignore_errors: yes
when: docker_storage_driver == 'devicemapper'
- name: Check for existing Docker configuration using devicemapper
block:
- name: Query Docker daemon for storage driver

View File

@ -209,3 +209,7 @@ controller_swap:
# Generate a password for libvirt SASL authentication.
compute_libvirt_sasl_password: "{% raw %}{{ lookup('password', '/tmp/libvirt-sasl-password') }}{% endraw %}"
# Pin Docker package to latest 24.x release before devicemapper was removed
docker_apt_package: "docker-ce=5:24.0.8-1~ubuntu.22.04~jammy"
docker_yum_package: "docker-ce-24*"

View File

@ -0,0 +1,8 @@
---
deprecations:
- |
Support for the ``devicemapper`` Docker storage driver is deprecated
following its removal from Docker Engine 25.0. Support will be fully
removed in the Caracal 16.0.0 release. Operators using ``devicemapper``
should ensure that a compatible version of Docker Engine is installed (i.e.
release 24.x or below).