summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Benedikt <j.benedikt@partner.samsung.com>2020-03-17 11:39:38 +0100
committerJan Benedikt <j.benedikt@partner.samsung.com>2020-03-17 16:31:35 +0100
commit4fd6349133f5ffbd96795dedd4549ef0612c9ab5 (patch)
tree0032f80fcd8d1c3da7cae9abcee92bfdd92dfa50
parentd0dbbca45c18a09dddf714453ca2c88bcd7a49f0 (diff)
Adding Ubuntu support in Ansible - docker-dind role
Extending ansible playbooks of ubuntu support. Issue-ID: OOM-1671 Signed-off-by: Jan Benedikt <j.benedikt@partner.samsung.com> Change-Id: I6028736b54ce825d3eae257ca61cb6efab19a913
-rw-r--r--ansible/test/images/docker/ubuntu/Dockerfile7
-rw-r--r--ansible/test/roles/prepare-docker-dind/tasks/main.yml26
-rw-r--r--ansible/test/roles/prepare-docker-dind/tasks/rhel.yml24
-rw-r--r--ansible/test/roles/prepare-docker-dind/tasks/ubuntu.yml33
4 files changed, 66 insertions, 24 deletions
diff --git a/ansible/test/images/docker/ubuntu/Dockerfile b/ansible/test/images/docker/ubuntu/Dockerfile
index 54416374..1828c5b7 100644
--- a/ansible/test/images/docker/ubuntu/Dockerfile
+++ b/ansible/test/images/docker/ubuntu/Dockerfile
@@ -4,8 +4,11 @@ FROM ubuntu:${RELEASE}
# Systemd requires this env for ConditionVirtualization setting in unit files
ENV container docker
-# Python2.7 required by ansible
-RUN apt-get update && apt-get -y install dbus systemd python openssh-server
+# Install necessary packages
+RUN apt-get update && apt-get -y install dbus systemd openssh-server
+
+# Create symlink python3 -> python
+RUN ln -s /usr/bin/python3 /usr/bin/python
EXPOSE 22
diff --git a/ansible/test/roles/prepare-docker-dind/tasks/main.yml b/ansible/test/roles/prepare-docker-dind/tasks/main.yml
index c0bf1543..50efe143 100644
--- a/ansible/test/roles/prepare-docker-dind/tasks/main.yml
+++ b/ansible/test/roles/prepare-docker-dind/tasks/main.yml
@@ -1,24 +1,6 @@
---
-# Needed because host system has all mounts by default to shared, and
-# some things may depend on mounts being shared if we run docker inside
-# test env.
-- name: "Make all mounts shared"
- command: "mount --make-rshared /"
- args:
- warn: false
+- include: rhel.yml
+ when: ansible_distribution in ["CentOS","Red Hat Enterprise Linux"]
-- name: "Enable docker repository"
- yum_repository:
- name: "Docker"
- description: Docker-ce repository
- enabled: yes
- baseurl: "https://download.docker.com/linux/centos/7/$basearch/stable"
- gpgcheck: yes
- gpgkey: https://download.docker.com/linux/centos/gpg
-
-- name: "Install docker"
- package:
- name: "docker-ce-{{ docker_version }}"
- state: present
- allow_downgrade: true
- notify: Restart docker
+- include: ubuntu.yml
+ when: ansible_distribution in ["Ubuntu","Debian"] \ No newline at end of file
diff --git a/ansible/test/roles/prepare-docker-dind/tasks/rhel.yml b/ansible/test/roles/prepare-docker-dind/tasks/rhel.yml
new file mode 100644
index 00000000..4184ef05
--- /dev/null
+++ b/ansible/test/roles/prepare-docker-dind/tasks/rhel.yml
@@ -0,0 +1,24 @@
+---
+# Needed because host system has all mounts by default to shared, and
+# some things may depend on mounts being shared if we run docker inside
+# test env.
+- name: "Make all mounts shared"
+ command: "mount --make-rshared /"
+ args:
+ warn: false
+
+- name: "Enable docker repository - yum"
+ yum_repository:
+ name: "Docker"
+ description: Docker-ce repository
+ enabled: yes
+ baseurl: "https://download.docker.com/linux/centos/7/$basearch/stable"
+ gpgcheck: yes
+ gpgkey: https://download.docker.com/linux/centos/gpg
+
+- name: "Install docker"
+ package:
+ name: "docker-ce-{{ docker_version }}"
+ state: present
+ allow_downgrade: true
+ notify: Restart docker
diff --git a/ansible/test/roles/prepare-docker-dind/tasks/ubuntu.yml b/ansible/test/roles/prepare-docker-dind/tasks/ubuntu.yml
new file mode 100644
index 00000000..a41c4c20
--- /dev/null
+++ b/ansible/test/roles/prepare-docker-dind/tasks/ubuntu.yml
@@ -0,0 +1,33 @@
+---
+# Needed because host system has all mounts by default to shared, and
+# some things may depend on mounts being shared if we run docker inside
+# test env.
+- name: "Make all mounts shared"
+ command: "mount --make-rshared /"
+ args:
+ warn: false
+
+- name: "Install GNUPG for apt-key"
+ package:
+ name: "gnupg"
+ state: present
+
+- name: "Add an apt key"
+ apt_key:
+ url: https://download.docker.com/linux/ubuntu/gpg
+ id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88
+ state: present
+
+- name: "Enable docker repository - apt"
+ apt_repository:
+ repo: "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
+ state: present
+ validate_certs: true
+ filename: "Docker"
+
+- name: "Install docker - apt"
+ apt:
+ name: "docker-ce"
+ state: present
+ update_cache: true
+ notify: Restart docker