From ceae7b48e087e079373d33df989bbcab00727046 Mon Sep 17 00:00:00 2001 From: "James O. D. Hunt" Date: Tue, 5 Feb 2019 10:07:32 +0000 Subject: [PATCH 1/2] docs: Pin docker to version 18.06 Docker 18.09 removed devicemapper support but did not provide an alternative. This can cause problems for users so update the install docs to install Docker at version 18.06 (the last version that supports devicemapper). This is a temporary solution until either docker provide an alternative or we find a way to work around the Docker feature being removed. Note the extra logic required for Fedora since 18.06 is not available for that release. Fixes #373. Signed-off-by: James O. D. Hunt --- .ci/test-install-docs.sh | 11 +++++++++++ install/docker/centos-docker-install.md | 19 +++++++++++++++---- install/docker/debian-docker-install.md | 19 +++++++++++++++---- install/docker/fedora-docker-install.md | 22 ++++++++++++++++++---- install/docker/opensuse-docker-install.md | 19 +++++++++++++++---- install/docker/sles-docker-install.md | 19 +++++++++++++++---- install/docker/ubuntu-docker-install.md | 19 +++++++++++++++---- 7 files changed, 104 insertions(+), 24 deletions(-) diff --git a/.ci/test-install-docs.sh b/.ci/test-install-docs.sh index d903342c..a493f732 100755 --- a/.ci/test-install-docs.sh +++ b/.ci/test-install-docs.sh @@ -225,7 +225,18 @@ test_alternative_install_methods() run_tests() { + # If docker was installed by default, zap it. + $mgr -v -f remove-docker + test_distro_install_guide + + # Remove docker in preparation for the next test. + # + # This is required since docker may have been pinned (to ensure a + # particular version is installed). But when a package is pinned, you + # cannot change it (although you can remove it). + $mgr -v -f remove-docker + test_alternative_install_methods } diff --git a/install/docker/centos-docker-install.md b/install/docker/centos-docker-install.md index c2248a6e..5f7bf0ee 100644 --- a/install/docker/centos-docker-install.md +++ b/install/docker/centos-docker-install.md @@ -5,13 +5,24 @@ > - This guide assumes you have > [already installed the Kata Containers packages](../centos-installation-guide.md). -1. Install the latest version of Docker with the following commands: - - > **Note:** This step is only required if Docker is not installed on the system. +1. Install Docker with the following commands: + + > **Notes:** + > + > - This step is only required if Docker is not installed on the system. + > - Newer versions of Docker have + > [removed devicemapper support](https://github.com/kata-containers/documentation/issues/373) + > so the commands below install the latest version which includes + > devicemapper support. + > - To remove the lock on the docker package to allow it to be updated: + > ```sh + > $ sudo yum versionlock delete docker-ce + > ``` ```bash $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo - $ sudo yum -y install docker-ce + $ sudo yum -y install 'docker-ce-18.06.2.ce-3*' yum-plugin-versionlock + $ sudo yum versionlock docker-ce ``` For more information on installing Docker please refer to the diff --git a/install/docker/debian-docker-install.md b/install/docker/debian-docker-install.md index 26b926f9..0a8bf333 100644 --- a/install/docker/debian-docker-install.md +++ b/install/docker/debian-docker-install.md @@ -6,16 +6,27 @@ > [already installed the Kata Containers packages](../debian-installation-guide.md). > - this guide allows for installation with `systemd` or `sysVinit` init systems -1. Install the latest version of Docker with the following commands: - - > **Note:** This step is only required if Docker is not installed on the system. +1. Install Docker with the following commands: + + > **Notes:** + > + > - This step is only required if Docker is not installed on the system. + > - Newer versions of Docker have + > [removed devicemapper support](https://github.com/kata-containers/documentation/issues/373) + > so the commands below install the latest version which includes + > devicemapper support. + > - To remove the lock on the docker package to allow it to be updated: + > ```sh + > $ sudo apt-mark unhold docker-ce + > ``` ```bash $ sudo apt-get -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common $ curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | sudo apt-key add - $ sudo add-apt-repository "deb https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") $(lsb_release -cs) stable" $ sudo apt-get update - $ sudo apt-get -y install docker-ce + $ sudo -E apt-get -y install --allow-downgrades docker-ce='18.06.2~ce~3-0~debian' + $ sudo apt-mark hold docker-ce ``` For more information on installing Docker please refer to the diff --git a/install/docker/fedora-docker-install.md b/install/docker/fedora-docker-install.md index 3e4228cc..60c8af43 100644 --- a/install/docker/fedora-docker-install.md +++ b/install/docker/fedora-docker-install.md @@ -5,14 +5,28 @@ > - This guide assumes you have > [already installed the Kata Containers packages](../fedora-installation-guide.md). -1. Install the latest version of Docker with the following commands: - - > **Note:** This step is only required if Docker is not installed on the system. +1. Install Docker with the following commands: + + > **Notes:** + > + > - This step is only required if Docker is not installed on the system. + > - Newer versions of Docker have + > [removed devicemapper support](https://github.com/kata-containers/documentation/issues/373) + > so the commands below install the latest version which includes + > devicemapper support. + > - To remove the lock on the docker package to allow it to be updated: + > ```sh + > $ sudo dnf versionlock delete docker-ce + > ``` ```bash + $ source /etc/os-release $ sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo $ sudo dnf makecache - $ sudo dnf -y install docker-ce + $ docker_pkg='docker-ce-18.06.2.ce-3*' + $ [ "$VERSION_ID" -gt 28 ] && docker_pkg=docker-ce + $ sudo dnf -y install $docker_pkg python3-dnf-plugin-versionlock + $ sudo dnf versionlock docker-ce ``` For more information on installing Docker please refer to the diff --git a/install/docker/opensuse-docker-install.md b/install/docker/opensuse-docker-install.md index 385c0a65..b40a5f8c 100644 --- a/install/docker/opensuse-docker-install.md +++ b/install/docker/opensuse-docker-install.md @@ -5,13 +5,24 @@ > - This guide assumes you have > [already installed the Kata Containers packages](../opensuse-installation-guide.md). -1. Install the latest version of Docker with the following commands: - - > **Note:** This step is only required if Docker is not installed on the system. +1. Install Docker with the following commands: + + > **Notes:** + > + > - This step is only required if Docker is not installed on the system. + > - Newer versions of Docker have + > [removed devicemapper support](https://github.com/kata-containers/documentation/issues/373) + > so the commands below install the latest version which includes + > devicemapper support. + > - To remove the lock on the docker package to allow it to be updated: + > ```sh + > $ sudo zypper removelock docker + > ``` ```bash $ sudo zypper -n install libcgroup1 - $ sudo zypper -n install docker + $ sudo zypper -n install 'docker<18.09' + $ sudo zypper addlock docker ``` For more information on installing Docker please refer to the diff --git a/install/docker/sles-docker-install.md b/install/docker/sles-docker-install.md index 69f1870f..604e1ea4 100644 --- a/install/docker/sles-docker-install.md +++ b/install/docker/sles-docker-install.md @@ -5,12 +5,23 @@ > - This guide assumes you have > [already installed the Kata Containers packages](../sles-installation-guide.md). -1. Install the latest version of Docker with the following commands: - - > **Note:** This step is only required if Docker is not installed on the system. +1. Install Docker with the following commands: + + > **Notes:** + > + > - This step is only required if Docker is not installed on the system. + > - Newer versions of Docker have + > [removed devicemapper support](https://github.com/kata-containers/documentation/issues/373) + > so the commands below install the latest version which includes + > devicemapper support. + > - To remove the lock on the docker package to allow it to be updated: + > ```sh + > $ sudo zypper removelock docker + > ``` ```bash - $ sudo zypper -n install docker + $ sudo zypper -n install 'docker<18.09' + $ sudo zypper addlock docker ``` For more information on installing Docker please refer to the diff --git a/install/docker/ubuntu-docker-install.md b/install/docker/ubuntu-docker-install.md index 0b6e01a2..07ab4856 100644 --- a/install/docker/ubuntu-docker-install.md +++ b/install/docker/ubuntu-docker-install.md @@ -5,9 +5,19 @@ > - This guide assumes you have > [already installed the Kata Containers packages](../ubuntu-installation-guide.md). -1. Install the latest version of Docker with the following commands: - - > **Note:** This step is only required if Docker is not installed on the system. +1. Install Docker with the following commands: + + > **Notes:** + > + > - This step is only required if Docker is not installed on the system. + > - Newer versions of Docker have + > [removed devicemapper support](https://github.com/kata-containers/documentation/issues/373) + > so the commands below install the latest version which includes + > devicemapper support. + > - To remove the lock on the docker package to allow it to be updated: + > ```sh + > $ sudo apt-mark unhold docker-ce + > ``` ```bash $ sudo -E apt-get -y install apt-transport-https ca-certificates software-properties-common @@ -15,7 +25,8 @@ $ arch=$(dpkg --print-architecture) $ sudo -E add-apt-repository "deb [arch=${arch}] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" $ sudo -E apt-get update - $ sudo -E apt-get -y install docker-ce + $ sudo -E apt-get -y install --allow-downgrades docker-ce='18.06.2~ce~3-0~ubuntu' + $ sudo apt-mark hold docker-ce ``` For more information on installing Docker please refer to the From 5524fc39e5ab780a3196e777fc5f1c4d1b0a6bc1 Mon Sep 17 00:00:00 2001 From: "James O. D. Hunt" Date: Fri, 1 Mar 2019 11:24:58 +0000 Subject: [PATCH 2/2] docs: Clarified docker install note Improved wording in docker installation Note based on review feedback. Signed-off-by: James O. D. Hunt --- install/docker/centos-docker-install.md | 2 +- install/docker/debian-docker-install.md | 2 +- install/docker/fedora-docker-install.md | 2 +- install/docker/opensuse-docker-install.md | 2 +- install/docker/sles-docker-install.md | 2 +- install/docker/ubuntu-docker-install.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/install/docker/centos-docker-install.md b/install/docker/centos-docker-install.md index 5f7bf0ee..26205faa 100644 --- a/install/docker/centos-docker-install.md +++ b/install/docker/centos-docker-install.md @@ -12,7 +12,7 @@ > - This step is only required if Docker is not installed on the system. > - Newer versions of Docker have > [removed devicemapper support](https://github.com/kata-containers/documentation/issues/373) - > so the commands below install the latest version which includes + > so the following commands install the latest version, which includes > devicemapper support. > - To remove the lock on the docker package to allow it to be updated: > ```sh diff --git a/install/docker/debian-docker-install.md b/install/docker/debian-docker-install.md index 0a8bf333..a8a4ebfb 100644 --- a/install/docker/debian-docker-install.md +++ b/install/docker/debian-docker-install.md @@ -13,7 +13,7 @@ > - This step is only required if Docker is not installed on the system. > - Newer versions of Docker have > [removed devicemapper support](https://github.com/kata-containers/documentation/issues/373) - > so the commands below install the latest version which includes + > so the following commands install the latest version, which includes > devicemapper support. > - To remove the lock on the docker package to allow it to be updated: > ```sh diff --git a/install/docker/fedora-docker-install.md b/install/docker/fedora-docker-install.md index 60c8af43..3d45e8db 100644 --- a/install/docker/fedora-docker-install.md +++ b/install/docker/fedora-docker-install.md @@ -12,7 +12,7 @@ > - This step is only required if Docker is not installed on the system. > - Newer versions of Docker have > [removed devicemapper support](https://github.com/kata-containers/documentation/issues/373) - > so the commands below install the latest version which includes + > so the following commands install the latest version, which includes > devicemapper support. > - To remove the lock on the docker package to allow it to be updated: > ```sh diff --git a/install/docker/opensuse-docker-install.md b/install/docker/opensuse-docker-install.md index b40a5f8c..0d9c8894 100644 --- a/install/docker/opensuse-docker-install.md +++ b/install/docker/opensuse-docker-install.md @@ -12,7 +12,7 @@ > - This step is only required if Docker is not installed on the system. > - Newer versions of Docker have > [removed devicemapper support](https://github.com/kata-containers/documentation/issues/373) - > so the commands below install the latest version which includes + > so the following commands install the latest version, which includes > devicemapper support. > - To remove the lock on the docker package to allow it to be updated: > ```sh diff --git a/install/docker/sles-docker-install.md b/install/docker/sles-docker-install.md index 604e1ea4..e4798e94 100644 --- a/install/docker/sles-docker-install.md +++ b/install/docker/sles-docker-install.md @@ -12,7 +12,7 @@ > - This step is only required if Docker is not installed on the system. > - Newer versions of Docker have > [removed devicemapper support](https://github.com/kata-containers/documentation/issues/373) - > so the commands below install the latest version which includes + > so the following commands install the latest version, which includes > devicemapper support. > - To remove the lock on the docker package to allow it to be updated: > ```sh diff --git a/install/docker/ubuntu-docker-install.md b/install/docker/ubuntu-docker-install.md index 07ab4856..a0afa778 100644 --- a/install/docker/ubuntu-docker-install.md +++ b/install/docker/ubuntu-docker-install.md @@ -12,7 +12,7 @@ > - This step is only required if Docker is not installed on the system. > - Newer versions of Docker have > [removed devicemapper support](https://github.com/kata-containers/documentation/issues/373) - > so the commands below install the latest version which includes + > so the following commands install the latest version, which includes > devicemapper support. > - To remove the lock on the docker package to allow it to be updated: > ```sh