AETHER-2698 Docker role updates
- Add an ability to configure daemon option
- Add an option to install docker-compose
- Separate task for updating apt repository, and make it conditional
Change-Id: Iafff1635f9af07a9712124f82c2f3b27fb6e557c
diff --git a/tasks/Debian-repo.yml b/tasks/Debian-repo.yml
new file mode 100644
index 0000000..adf5c74
--- /dev/null
+++ b/tasks/Debian-repo.yml
@@ -0,0 +1,29 @@
+---
+# docker tasks/Debian-repo.yml
+#
+# SPDX-FileCopyrightText: © 2021 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: Install apt related prereqs
+ apt:
+ name:
+ - "apt-transport-https"
+ - "ca-certificates"
+ - "gpg"
+ - "software-properties-common"
+ state: "present"
+ update_cache: true
+
+- name: Add Docker apt repo key
+ apt_key:
+ data: "{{ lookup('file','docker.gpg') }}"
+ state: "present"
+
+# https://docs.docker.com/engine/install/debian/#install-using-the-repository
+- name: Add Official Docker apt repo
+ apt_repository:
+ repo: >-
+ deb https://download.docker.com/linux/{{ ansible_lsb['id'] | lower }}
+ {{ ansible_lsb['codename'] }} stable
+ mode: 0644
+ update_cache: true
diff --git a/tasks/Debian.yml b/tasks/Debian.yml
index 8633b01..f64c0f4 100644
--- a/tasks/Debian.yml
+++ b/tasks/Debian.yml
@@ -4,30 +4,6 @@
# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
# SPDX-License-Identifier: Apache-2.0
-- name: Install apt related prereqs
- apt:
- name:
- - "apt-transport-https"
- - "ca-certificates"
- - "gpg"
- - "software-properties-common"
- state: "present"
- update_cache: true
-
-- name: Add Docker apt repo key
- apt_key:
- data: "{{ lookup('file','docker.gpg') }}"
- state: "present"
-
-# https://docs.docker.com/engine/install/debian/#install-using-the-repository
-- name: Add Official Docker apt repo
- apt_repository:
- repo: >-
- deb https://download.docker.com/linux/{{ ansible_lsb['id'] | lower }}
- {{ ansible_lsb['codename'] }} stable
- mode: 0644
- update_cache: true
-
- name: Install Docker daemon apt package
apt:
name: "{{ docker_package }}={{ docker_apt_epoch }}:{{ docker_version }}*"
diff --git a/tasks/main.yml b/tasks/main.yml
index 5364bd1..476af22 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -7,5 +7,32 @@
- name: include OS-specific vars
include_vars: "{{ ansible_os_family }}.yml"
+- name: include OS-specific package repo updates
+ include_tasks: "{{ ansible_os_family }}-repo.yml"
+ when: docker_add_package_repo | bool
+
- name: include OS-specific tasks
include_tasks: "{{ ansible_os_family }}.yml"
+
+- name: ensure /etc/docker/ directory exists
+ file:
+ path: /etc/docker
+ state: directory
+ mode: 0755
+ when: docker_daemon_options.keys() | length > 0
+
+- name: configure Docker daemon options
+ copy:
+ content: "{{ docker_daemon_options | to_nice_json }}"
+ dest: /etc/docker/daemon.json
+ mode: 0644
+ when: docker_daemon_options.keys() | length > 0
+ notify: restart docker
+
+- name: install docker compose (if configured).
+ get_url:
+ url: "{{ docker_compose_url }}"
+ checksum: "{{ docker_compose_checksum }}"
+ dest: "{{ docker_compose_path }}"
+ mode: 0755
+ when: docker_install_compose | bool