From bbdc6210f585f41f7f8b0a4388d233e2b189e055 Mon Sep 17 00:00:00 2001
From: Scott Charron <sc@canroot.com>
Date: Thu, 6 Jun 2019 04:16:13 -0400
Subject: [PATCH] use dpkg_selections module to hold docker-ce on Debian family
 hosts (#4820)

* use dpkg_selections module to hold docker-ce on Debian family hosts

* removed debian_docker.j2 template as it is no longer required
---
 roles/container-engine/docker/tasks/main.yml         | 12 +++++-------
 .../templates/apt_preferences.d/debian_docker.j2     |  3 ---
 2 files changed, 5 insertions(+), 10 deletions(-)
 delete mode 100644 roles/container-engine/docker/templates/apt_preferences.d/debian_docker.j2

diff --git a/roles/container-engine/docker/tasks/main.yml b/roles/container-engine/docker/tasks/main.yml
index 2530a29ef..74f99c7d7 100644
--- a/roles/container-engine/docker/tasks/main.yml
+++ b/roles/container-engine/docker/tasks/main.yml
@@ -192,13 +192,11 @@
     - ansible_distribution == 'Ubuntu'
 
 # This is required to ensure any apt upgrade will not break kubernetes
-- name: Set docker pin priority to apt_preferences on Debian family
-  template:
-    src: "apt_preferences.d/debian_docker.j2"
-    dest: "/etc/apt/preferences.d/docker"
-    owner: "root"
-    mode: 0644
-  when: not (ansible_os_family in ["CoreOS", "Container Linux by CoreOS", "ClearLinux", "RedHat", "Suse"] or is_atomic)
+- name: Tell Debian hosts not to change the docker version with apt upgrade
+  dpkg_selections:
+    name: docker-ce
+    selection: hold
+  when: ansible_os_family in ["Debian"]
 
 - name: ensure docker started, remove our config if docker start failed and try again
   block:
diff --git a/roles/container-engine/docker/templates/apt_preferences.d/debian_docker.j2 b/roles/container-engine/docker/templates/apt_preferences.d/debian_docker.j2
deleted file mode 100644
index f21008b6c..000000000
--- a/roles/container-engine/docker/templates/apt_preferences.d/debian_docker.j2
+++ /dev/null
@@ -1,3 +0,0 @@
-Package: docker-ce
-Pin: version {{ docker_version }}.*
-Pin-Priority: 1001
\ No newline at end of file
-- 
GitLab