Improve tests: don't install daemon when running inside a container (#56)

* If running inside a container, only install docker CLI, not docker daemon.

ci_complete

* Fix OpenSUSE.
This commit is contained in:
Felix Fontein 2020-12-23 13:36:40 +01:00 committed by GitHub
parent a1a7692e74
commit 5fa53e2eeb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 31 additions and 12 deletions

View File

@ -1,3 +1,4 @@
---
docker_cli_version: '0.0'
docker_api_version: '0.0'
docker_py_version: '0.0'
@ -5,6 +6,8 @@ docker_skip_cleanup: yes
docker_prereq_packages: []
docker_packages:
- docker-ce
docker_cli_packages:
- docker-ce-cli
docker_pip_extra_packages: []
docker_pip_package: docker

View File

@ -27,7 +27,7 @@
- name: Install Docker CE
apt:
name: '{{ docker_packages }}'
name: '{{ docker_packages if needs_docker_daemon else docker_cli_packages }}'
state: present
update_cache: true

View File

@ -20,7 +20,7 @@
- name: Install docker
dnf:
name: "{{ docker_packages }}"
name: "{{ docker_packages if needs_docker_daemon else docker_cli_packages }}"
state: present
enablerepo: docker-ce-test
notify: cleanup docker

View File

@ -34,7 +34,7 @@
- name: Install docker
yum:
name: "{{ docker_packages }}"
name: "{{ docker_packages if needs_docker_daemon else docker_cli_packages }}"
state: present
notify: cleanup docker
@ -43,3 +43,4 @@
name: docker
state: started
ignore_errors: "{{ ansible_virtualization_type in ['docker', 'container', 'containerd'] }}"
when: needs_docker_daemon

View File

@ -23,7 +23,7 @@
- name: Install docker
dnf:
name: "{{ docker_packages }}"
name: "{{ docker_packages if needs_docker_daemon else docker_cli_packages }}"
state: present
notify: cleanup docker
@ -32,3 +32,4 @@
name: docker
state: started
ignore_errors: "{{ ansible_virtualization_type in ['docker', 'container', 'containerd'] }}"
when: needs_docker_daemon

View File

@ -1,7 +1,7 @@
---
- name: Install docker 17
community.general.zypper:
name: "{{ docker_packages }}"
name: "{{ docker_packages if needs_docker_daemon else docker_cli_packages }}"
force: yes
disable_gpg_check: yes
update_cache: yes

View File

@ -7,6 +7,13 @@
- name: Setup Docker
when: ansible_facts.distribution ~ ansible_facts.distribution_major_version not in ['CentOS6', 'RedHat6']
block:
- name: Detect whether we are running inside a container
current_container_facts:
- name: Determine whether Docker Daemon needs to be installed
set_fact:
needs_docker_daemon: '{{ not ansible_module_running_in_container }}'
- name: Include distribution specific variables
include_vars: "{{ lookup('first_found', params) }}"
vars:
@ -136,9 +143,6 @@
when: docker_cli_version is version('0.0', '>')
- name: Detect whether we are running inside a container
current_container_facts:
- name: Inspect current container
docker_container_info:
name: "{{ ansible_module_container_id }}"

View File

@ -1,3 +1,4 @@
---
docker_prereq_packages:
- apt-transport-https
- ca-certificates

View File

@ -1,4 +1 @@
docker_prereq_packages: []
docker_packages:
- docker-ce
---

View File

@ -1,3 +1,4 @@
---
docker_prereq_packages:
- yum-utils
- device-mapper-persistent-data

View File

@ -1,3 +1,4 @@
---
docker_prereq_packages:
- yum-utils
- device-mapper-persistent-data
@ -7,3 +8,5 @@ docker_prereq_packages:
docker_packages:
- docker-ce-19.03.13
- docker-ce-cli-19.03.13
docker_cli_packages:
- docker-ce-cli-19.03.13

View File

@ -1,2 +1,8 @@
---
docker_packages:
- docker>=17
# OpenSUSE 15 does not seem to have docker-client (https://software.opensuse.org/package/docker-client)
# or any other Docker CLI-only package
docker_cli_packages:
- docker>=17

View File

@ -1,3 +1,4 @@
---
docker_pip_extra_packages:
# Installing requests >=2.12.0 on Ubuntu 14.04 breaks certificate validation. We restrict to an older version
# to ensure out get_url tests work out fine. This is only an issue if pyOpenSSL is also installed.