noheat: Upgrades, refactor, deploy Devstack
[integration.git] / deployment / noheat / cluster-rke / ansible / roles / setup_docker / tasks / packages.yml
diff --git a/deployment/noheat/cluster-rke/ansible/roles/setup_docker/tasks/packages.yml b/deployment/noheat/cluster-rke/ansible/roles/setup_docker/tasks/packages.yml
new file mode 100644 (file)
index 0000000..814dd28
--- /dev/null
@@ -0,0 +1,41 @@
+---
+- name: Install deps
+  apt:
+    name: "{{ item }}"
+    state: present
+  with_items:
+    - apt-transport-https
+    - ca-certificates
+    - curl
+    - software-properties-common
+
+- name: Add Docker repo key
+  apt_key:
+    url: "https://download.docker.com/linux/{{ ansible_distribution | lower }}/gpg"
+    state: present
+
+- name: Add Docker repo
+  apt_repository:
+    repo: "deb https://download.docker.com/linux/{{ ansible_distribution | lower }} {{ ansible_distribution_release | lower }} stable"
+    state: present
+    update_cache: yes
+
+- name: Find exact Docker version
+  shell: "set -o pipefail && apt-cache madison docker-ce | grep {{ docker_version }} | head -n 1 | cut -d ' ' -f 4"
+  args:
+    executable: "/bin/bash"
+  register: docker_pkg_version
+  changed_when: false
+
+- name: install Docker
+  apt:
+    name: "{{ item }}"
+    state: present
+    allow_downgrade: true
+  with_items:
+    - "docker-ce={{ docker_pkg_version.stdout }}"
+    - "docker-ce-cli={{ docker_pkg_version.stdout }}"
+
+- name: Lock docker version
+  command: apt-mark hold docker-ce docker-ce-cli
+  changed_when: false