mirror of
https://github.com/ansible-collections/community.docker.git
synced 2025-12-16 11:58:43 +00:00
[stable-2] Integration tests: split up Docker setup, move docker_compose tests into own group (#719)
* Rename setup role. * Create new CI group 6, and move docker_compose v1 tests into there. * Split up Docker setup in integration tests. * Change setup_docker_compose_v1 to install its own Docker SDK for Python. * Restrict Docker SDK for Python to < 7.0.0 in EE.
This commit is contained in:
parent
4e172e3111
commit
1e286852b2
@ -84,6 +84,7 @@ stages:
|
|||||||
groups:
|
groups:
|
||||||
- 4
|
- 4
|
||||||
- 5
|
- 5
|
||||||
|
- 6
|
||||||
|
|
||||||
### Community Docker
|
### Community Docker
|
||||||
- stage: Docker_community_2_14
|
- stage: Docker_community_2_14
|
||||||
@ -103,6 +104,7 @@ stages:
|
|||||||
groups:
|
groups:
|
||||||
- 4
|
- 4
|
||||||
- 5
|
- 5
|
||||||
|
- 6
|
||||||
|
|
||||||
### Remote
|
### Remote
|
||||||
- stage: Remote_2_14
|
- stage: Remote_2_14
|
||||||
@ -122,6 +124,7 @@ stages:
|
|||||||
- 3
|
- 3
|
||||||
- 4
|
- 4
|
||||||
- 5
|
- 5
|
||||||
|
- 6
|
||||||
|
|
||||||
## Finally
|
## Finally
|
||||||
|
|
||||||
|
|||||||
48
.github/workflows/ansible-test.yml
vendored
48
.github/workflows/ansible-test.yml
vendored
@ -114,6 +114,10 @@ jobs:
|
|||||||
docker: fedora31
|
docker: fedora31
|
||||||
python: ''
|
python: ''
|
||||||
target: shippable/posix/group5/
|
target: shippable/posix/group5/
|
||||||
|
- ansible: '2.9'
|
||||||
|
docker: fedora31
|
||||||
|
python: ''
|
||||||
|
target: shippable/posix/group6/
|
||||||
# 2.10
|
# 2.10
|
||||||
- ansible: '2.10'
|
- ansible: '2.10'
|
||||||
docker: fedora32
|
docker: fedora32
|
||||||
@ -123,6 +127,10 @@ jobs:
|
|||||||
docker: fedora32
|
docker: fedora32
|
||||||
python: ''
|
python: ''
|
||||||
target: shippable/posix/group5/
|
target: shippable/posix/group5/
|
||||||
|
- ansible: '2.10'
|
||||||
|
docker: fedora32
|
||||||
|
python: ''
|
||||||
|
target: shippable/posix/group6/
|
||||||
- ansible: '2.10'
|
- ansible: '2.10'
|
||||||
docker: ubuntu1604
|
docker: ubuntu1604
|
||||||
python: ''
|
python: ''
|
||||||
@ -131,6 +139,10 @@ jobs:
|
|||||||
docker: ubuntu1604
|
docker: ubuntu1604
|
||||||
python: ''
|
python: ''
|
||||||
target: shippable/posix/group5/
|
target: shippable/posix/group5/
|
||||||
|
- ansible: '2.10'
|
||||||
|
docker: ubuntu1604
|
||||||
|
python: ''
|
||||||
|
target: shippable/posix/group6/
|
||||||
# 2.11
|
# 2.11
|
||||||
- ansible: '2.11'
|
- ansible: '2.11'
|
||||||
docker: fedora33
|
docker: fedora33
|
||||||
@ -140,6 +152,10 @@ jobs:
|
|||||||
docker: fedora33
|
docker: fedora33
|
||||||
python: ''
|
python: ''
|
||||||
target: shippable/posix/group5/
|
target: shippable/posix/group5/
|
||||||
|
- ansible: '2.11'
|
||||||
|
docker: fedora33
|
||||||
|
python: ''
|
||||||
|
target: shippable/posix/group6/
|
||||||
- ansible: '2.11'
|
- ansible: '2.11'
|
||||||
docker: alpine3
|
docker: alpine3
|
||||||
python: ''
|
python: ''
|
||||||
@ -148,6 +164,10 @@ jobs:
|
|||||||
docker: alpine3
|
docker: alpine3
|
||||||
python: ''
|
python: ''
|
||||||
target: shippable/posix/group5/
|
target: shippable/posix/group5/
|
||||||
|
- ansible: '2.11'
|
||||||
|
docker: alpine3
|
||||||
|
python: ''
|
||||||
|
target: shippable/posix/group6/
|
||||||
# 2.12
|
# 2.12
|
||||||
- ansible: '2.12'
|
- ansible: '2.12'
|
||||||
docker: fedora33
|
docker: fedora33
|
||||||
@ -157,6 +177,10 @@ jobs:
|
|||||||
docker: fedora33
|
docker: fedora33
|
||||||
python: ''
|
python: ''
|
||||||
target: shippable/posix/group5/
|
target: shippable/posix/group5/
|
||||||
|
- ansible: '2.12'
|
||||||
|
docker: fedora33
|
||||||
|
python: ''
|
||||||
|
target: shippable/posix/group6/
|
||||||
- ansible: '2.12'
|
- ansible: '2.12'
|
||||||
docker: fedora34
|
docker: fedora34
|
||||||
python: ''
|
python: ''
|
||||||
@ -165,6 +189,10 @@ jobs:
|
|||||||
docker: fedora34
|
docker: fedora34
|
||||||
python: ''
|
python: ''
|
||||||
target: shippable/posix/group5/
|
target: shippable/posix/group5/
|
||||||
|
- ansible: '2.12'
|
||||||
|
docker: fedora34
|
||||||
|
python: ''
|
||||||
|
target: shippable/posix/group6/
|
||||||
- ansible: '2.12'
|
- ansible: '2.12'
|
||||||
docker: ubuntu1804
|
docker: ubuntu1804
|
||||||
python: ''
|
python: ''
|
||||||
@ -173,6 +201,10 @@ jobs:
|
|||||||
docker: ubuntu1804
|
docker: ubuntu1804
|
||||||
python: ''
|
python: ''
|
||||||
target: shippable/posix/group5/
|
target: shippable/posix/group5/
|
||||||
|
- ansible: '2.12'
|
||||||
|
docker: ubuntu1804
|
||||||
|
python: ''
|
||||||
|
target: shippable/posix/group6/
|
||||||
# 2.13
|
# 2.13
|
||||||
# NB: We originally wanted to use centos7, but that requires cgroups v1.
|
# NB: We originally wanted to use centos7, but that requires cgroups v1.
|
||||||
# So we used alpine3 instead.
|
# So we used alpine3 instead.
|
||||||
@ -184,6 +216,10 @@ jobs:
|
|||||||
docker: alpine3
|
docker: alpine3
|
||||||
python: ''
|
python: ''
|
||||||
target: shippable/posix/group5/
|
target: shippable/posix/group5/
|
||||||
|
- ansible: '2.13'
|
||||||
|
docker: alpine3
|
||||||
|
python: ''
|
||||||
|
target: shippable/posix/group6/
|
||||||
- ansible: '2.13'
|
- ansible: '2.13'
|
||||||
docker: fedora35
|
docker: fedora35
|
||||||
python: ''
|
python: ''
|
||||||
@ -192,6 +228,10 @@ jobs:
|
|||||||
docker: fedora35
|
docker: fedora35
|
||||||
python: ''
|
python: ''
|
||||||
target: shippable/posix/group5/
|
target: shippable/posix/group5/
|
||||||
|
- ansible: '2.13'
|
||||||
|
docker: fedora35
|
||||||
|
python: ''
|
||||||
|
target: shippable/posix/group6/
|
||||||
- ansible: '2.13'
|
- ansible: '2.13'
|
||||||
docker: opensuse15py2
|
docker: opensuse15py2
|
||||||
python: ''
|
python: ''
|
||||||
@ -200,6 +240,10 @@ jobs:
|
|||||||
docker: opensuse15py2
|
docker: opensuse15py2
|
||||||
python: ''
|
python: ''
|
||||||
target: shippable/posix/group5/
|
target: shippable/posix/group5/
|
||||||
|
- ansible: '2.13'
|
||||||
|
docker: opensuse15py2
|
||||||
|
python: ''
|
||||||
|
target: shippable/posix/group6/
|
||||||
- ansible: '2.13'
|
- ansible: '2.13'
|
||||||
docker: alpine3
|
docker: alpine3
|
||||||
python: ''
|
python: ''
|
||||||
@ -208,6 +252,10 @@ jobs:
|
|||||||
docker: alpine3
|
docker: alpine3
|
||||||
python: ''
|
python: ''
|
||||||
target: shippable/posix/group5/
|
target: shippable/posix/group5/
|
||||||
|
- ansible: '2.13'
|
||||||
|
docker: alpine3
|
||||||
|
python: ''
|
||||||
|
target: shippable/posix/group6/
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: >-
|
- name: >-
|
||||||
|
|||||||
2
changelogs/fragments/719-ee-reqs.yml
Normal file
2
changelogs/fragments/719-ee-reqs.yml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
bugfixes:
|
||||||
|
- "Execution Environment requirements - restrict Docker SDK for Python to < 7.0.0, as 7.0.0 is incompatible with docker-compose (https://github.com/ansible-collections/community.docker/pull/719)."
|
||||||
@ -1,2 +1,2 @@
|
|||||||
docker
|
docker<7.0.0
|
||||||
docker-compose
|
docker-compose
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -8,3 +8,7 @@
|
|||||||
- name: Setup docker
|
- name: Setup docker
|
||||||
import_role:
|
import_role:
|
||||||
name: setup_docker
|
name: setup_docker
|
||||||
|
|
||||||
|
- name: Setup docker
|
||||||
|
import_role:
|
||||||
|
name: setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -1,2 +1,2 @@
|
|||||||
shippable/posix/group4
|
shippable/posix/group6
|
||||||
destructive
|
destructive
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker_compose
|
- setup_docker_compose_v1
|
||||||
- setup_remote_tmp_dir
|
- setup_remote_tmp_dir
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
- setup_remote_tmp_dir
|
- setup_remote_tmp_dir
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
- setup_remote_tmp_dir
|
||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
- setup_remote_tmp_dir
|
- setup_remote_tmp_dir
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
- setup_remote_tmp_dir
|
- setup_remote_tmp_dir
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
- setup_openssl
|
- setup_openssl
|
||||||
- setup_remote_tmp_dir
|
- setup_remote_tmp_dir
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
- setup_docker_current_container_network_ip
|
||||||
|
- setup_openssl
|
||||||
|
- setup_remote_tmp_dir
|
||||||
@ -2,3 +2,4 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
- setup_paramiko
|
- setup_paramiko
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
---
|
---
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_docker
|
- setup_docker
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
|
|||||||
@ -9,6 +9,10 @@
|
|||||||
import_role:
|
import_role:
|
||||||
name: setup_docker
|
name: setup_docker
|
||||||
|
|
||||||
|
- name: Setup Docker SDK for Python
|
||||||
|
import_role:
|
||||||
|
name: setup_docker_sdk_for_python
|
||||||
|
|
||||||
- name: Create a Swarm cluster
|
- name: Create a Swarm cluster
|
||||||
community.docker.docker_swarm:
|
community.docker.docker_swarm:
|
||||||
state: present
|
state: present
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
---
|
---
|
||||||
docker_cli_version: '0.0'
|
docker_cli_version: '0.0'
|
||||||
docker_api_version: '0.0'
|
docker_api_version: '0.0'
|
||||||
docker_py_version: '0.0'
|
|
||||||
docker_skip_cleanup: yes
|
docker_skip_cleanup: yes
|
||||||
docker_prereq_packages: []
|
docker_prereq_packages: []
|
||||||
docker_packages:
|
docker_packages:
|
||||||
@ -9,10 +8,6 @@ docker_packages:
|
|||||||
docker_cli_packages:
|
docker_cli_packages:
|
||||||
- docker-ce-cli
|
- docker-ce-cli
|
||||||
|
|
||||||
docker_pip_extra_packages: []
|
|
||||||
docker_pip_package: docker
|
|
||||||
docker_pip_package_limit: ''
|
|
||||||
|
|
||||||
docker_cleanup_packages:
|
docker_cleanup_packages:
|
||||||
- docker
|
- docker
|
||||||
- docker-ce
|
- docker-ce
|
||||||
|
|||||||
@ -1,10 +1,3 @@
|
|||||||
- name: Remove pip packages
|
|
||||||
pip:
|
|
||||||
state: present
|
|
||||||
name: "{{ [docker_pip_package] | union(docker_pip_extra_packages) }}"
|
|
||||||
listen: cleanup docker
|
|
||||||
when: not docker_skip_cleanup | bool
|
|
||||||
|
|
||||||
- name: Remove docker pagkages
|
- name: Remove docker pagkages
|
||||||
action: "{{ ansible_facts.pkg_mgr }}"
|
action: "{{ ansible_facts.pkg_mgr }}"
|
||||||
args:
|
args:
|
||||||
|
|||||||
@ -64,41 +64,18 @@
|
|||||||
register: docker_api_version_stdout
|
register: docker_api_version_stdout
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
|
||||||
- name: Limit docker pypi package version to < 4.3.0
|
# Detect docker CLI version
|
||||||
set_fact:
|
|
||||||
docker_pip_package_limit: '<4.3.0'
|
|
||||||
when: (docker_api_version_stdout.stdout | default('0.0')) is version('1.39', '<')
|
|
||||||
|
|
||||||
- name: Install/upgrade Python requirements
|
|
||||||
pip:
|
|
||||||
name: "{{ [docker_pip_package ~ docker_pip_package_limit] + docker_pip_extra_packages }}"
|
|
||||||
extra_args: "-c {{ remote_constraints }}"
|
|
||||||
state: "{{ 'latest' if force_docker_sdk_for_python_pypi | default(false) else 'present' }}"
|
|
||||||
notify: cleanup docker
|
|
||||||
|
|
||||||
# Detect docker CLI, API and docker-py versions
|
|
||||||
- name: Check Docker CLI version
|
- name: Check Docker CLI version
|
||||||
command: "docker version -f {% raw %}'{{.Client.Version}}'{% endraw %}"
|
command: "docker version -f {% raw %}'{{.Client.Version}}'{% endraw %}"
|
||||||
register: docker_cli_version_stdout
|
register: docker_cli_version_stdout
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
|
||||||
- name: Check Docker API version
|
|
||||||
command: "{{ ansible_python.executable }} -c 'import docker; print(docker.from_env().version()[\"ApiVersion\"])'"
|
|
||||||
register: docker_api_version_stdout
|
|
||||||
ignore_errors: yes
|
|
||||||
|
|
||||||
- name: Check docker-py API version
|
|
||||||
command: "{{ ansible_python.executable }} -c 'import docker; print(docker.__version__)'"
|
|
||||||
register: docker_py_version_stdout
|
|
||||||
ignore_errors: yes
|
|
||||||
|
|
||||||
- set_fact:
|
- set_fact:
|
||||||
docker_cli_version: "{{ docker_cli_version_stdout.stdout | default('0.0') }}"
|
docker_cli_version: "{{ docker_cli_version_stdout.stdout | default('0.0') }}"
|
||||||
docker_api_version: "{{ docker_api_version_stdout.stdout | default('0.0') }}"
|
docker_api_version: "{{ docker_api_version_stdout.stdout | default('0.0') }}"
|
||||||
docker_py_version: "{{ docker_py_version_stdout.stdout | default('0.0') }}"
|
|
||||||
|
|
||||||
- debug:
|
- debug:
|
||||||
msg: "Docker CLI version: {{ docker_cli_version }}; Docker API version: {{ docker_api_version }}; docker-py library version: {{ docker_py_version }}"
|
msg: "Docker CLI version: {{ docker_cli_version }}; Docker API version: {{ docker_api_version }}"
|
||||||
|
|
||||||
- block:
|
- block:
|
||||||
# Cleanup docker daemon
|
# Cleanup docker daemon
|
||||||
@ -163,13 +140,3 @@
|
|||||||
images: "{{ docker_images.stdout_lines | default([]) }}"
|
images: "{{ docker_images.stdout_lines | default([]) }}"
|
||||||
|
|
||||||
when: docker_cli_version is version('0.0', '>')
|
when: docker_cli_version is version('0.0', '>')
|
||||||
|
|
||||||
- name: Inspect current container
|
|
||||||
docker_container_info:
|
|
||||||
name: "{{ ansible_module_container_id }}"
|
|
||||||
register: current_container_info
|
|
||||||
when: ansible_module_running_in_container
|
|
||||||
|
|
||||||
- name: Determine network name
|
|
||||||
set_fact:
|
|
||||||
current_container_network_ip: "{{ (current_container_info.container.NetworkSettings.Networks | dictsort)[0].0 | default('') if ansible_module_running_in_container else '' }}"
|
|
||||||
|
|||||||
@ -4,6 +4,3 @@ docker_prereq_packages:
|
|||||||
- device-mapper-persistent-data
|
- device-mapper-persistent-data
|
||||||
- lvm2
|
- lvm2
|
||||||
- libseccomp
|
- libseccomp
|
||||||
|
|
||||||
docker_pip_extra_packages:
|
|
||||||
- requests==2.6.0
|
|
||||||
|
|||||||
@ -1,6 +1 @@
|
|||||||
---
|
---
|
||||||
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.
|
|
||||||
# Not sure why RHEL7 needs this specific version
|
|
||||||
- requests==2.6.0
|
|
||||||
|
|||||||
@ -1,2 +0,0 @@
|
|||||||
---
|
|
||||||
skip_docker_compose: true
|
|
||||||
@ -1,5 +1,10 @@
|
|||||||
---
|
---
|
||||||
skip_docker_compose: false
|
skip_docker_compose: false
|
||||||
|
|
||||||
|
docker_pip_extra_packages: []
|
||||||
|
docker_pip_package: docker
|
||||||
|
docker_pip_package_limit: '<7.0.0'
|
||||||
|
|
||||||
docker_compose_packages:
|
docker_compose_packages:
|
||||||
- docker-compose
|
- docker-compose
|
||||||
docker_compose_pip_packages:
|
docker_compose_pip_packages:
|
||||||
@ -33,21 +33,41 @@
|
|||||||
paths:
|
paths:
|
||||||
- "{{ role_path }}/tasks"
|
- "{{ role_path }}/tasks"
|
||||||
|
|
||||||
|
- name: Limit docker pypi package version to < 4.3.0
|
||||||
|
set_fact:
|
||||||
|
docker_pip_package_limit: '<4.3.0'
|
||||||
|
when: docker_api_version is version('1.39', '<')
|
||||||
|
|
||||||
|
- name: Install/upgrade Docker SDK for Python
|
||||||
|
pip:
|
||||||
|
name: "{{ [docker_pip_package ~ docker_pip_package_limit] + docker_pip_extra_packages }}"
|
||||||
|
extra_args: "-c {{ remote_constraints }}"
|
||||||
|
state: present
|
||||||
|
|
||||||
- name: Install docker-compose
|
- name: Install docker-compose
|
||||||
pip:
|
pip:
|
||||||
state: present
|
state: present
|
||||||
name: "{{ docker_compose_pip_packages }}"
|
name: "{{ docker_compose_pip_packages }}"
|
||||||
extra_args: "-c {{ remote_constraints }}"
|
extra_args: "-c {{ remote_constraints }}"
|
||||||
|
|
||||||
|
- name: Check docker-py version
|
||||||
|
command: "{{ ansible_python.executable }} -c 'import docker; print(docker.__version__)'"
|
||||||
|
register: docker_py_version_stdout
|
||||||
|
ignore_errors: true
|
||||||
|
|
||||||
- name: Register docker-compose version
|
- name: Register docker-compose version
|
||||||
command: "{{ ansible_python.executable }} -c 'import compose; print(compose.__version__)'"
|
command: "{{ ansible_python.executable }} -c 'import compose; print(compose.__version__)'"
|
||||||
register: docker_compose_version
|
register: docker_compose_version
|
||||||
ignore_errors: true
|
ignore_errors: true
|
||||||
|
|
||||||
- name: Declare docker-compose version
|
- name: Declare docker-py and docker-compose version
|
||||||
set_fact:
|
set_fact:
|
||||||
|
docker_py_version: "{{ docker_py_version_stdout.stdout | default('0.0') }}"
|
||||||
docker_compose_version: "{{ docker_compose_version.stdout | default('0.0.0') }}"
|
docker_compose_version: "{{ docker_compose_version.stdout | default('0.0.0') }}"
|
||||||
|
|
||||||
|
- debug:
|
||||||
|
msg: "Docker SDK for Python version: {{ docker_py_version }}; Docker Compose version: {{ docker_compose_version }}"
|
||||||
|
|
||||||
- name: Declare docker-compose as existing
|
- name: Declare docker-compose as existing
|
||||||
set_fact:
|
set_fact:
|
||||||
has_docker_compose: true
|
has_docker_compose: true
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
docker_pip_extra_packages:
|
||||||
|
# https://github.com/docker/docker-py/issues/3113
|
||||||
|
- requests<2.29.0
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
docker_pip_extra_packages:
|
||||||
|
# https://github.com/docker/docker-py/issues/3113
|
||||||
|
- requests<2.29.0
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
skip_docker_compose: true
|
||||||
|
|
||||||
|
docker_pip_extra_packages:
|
||||||
|
# Not sure why RHEL7 needs this specific version
|
||||||
|
- requests==2.6.0
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
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.
|
||||||
|
- requests==2.6.0
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
- setup_docker_sdk_for_python
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
####################################################################
|
||||||
|
# WARNING: These are designed specifically for Ansible tests #
|
||||||
|
# and should not be used as examples of how to write Ansible roles #
|
||||||
|
####################################################################
|
||||||
|
|
||||||
|
- 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: Inspect current container
|
||||||
|
docker_container_info:
|
||||||
|
name: "{{ ansible_module_container_id }}"
|
||||||
|
register: current_container_info
|
||||||
|
when: ansible_module_running_in_container
|
||||||
|
|
||||||
|
- name: Determine network name
|
||||||
|
set_fact:
|
||||||
|
current_container_network_ip: "{{ (current_container_info.container.NetworkSettings.Networks | dictsort)[0].0 | default('') if ansible_module_running_in_container else '' }}"
|
||||||
@ -1,2 +1,3 @@
|
|||||||
needs/target/setup_docker
|
needs/target/setup_docker
|
||||||
|
needs/target/setup_docker_current_container_network_ip
|
||||||
needs/target/setup_openssl
|
needs/target/setup_openssl
|
||||||
|
|||||||
@ -1,4 +1,6 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
#- setup_docker -- done in setup.yml, to work around cleanup problems!
|
#- setup_docker -- done in setup.yml, to work around cleanup problems!
|
||||||
|
#- setup_docker_sdk_for_python
|
||||||
|
#- setup_docker_current_container_network_ip
|
||||||
- setup_openssl
|
- setup_openssl
|
||||||
- setup_remote_tmp_dir
|
- setup_remote_tmp_dir
|
||||||
|
|||||||
@ -12,6 +12,14 @@
|
|||||||
include_role:
|
include_role:
|
||||||
name: setup_docker
|
name: setup_docker
|
||||||
|
|
||||||
|
- name: Setup Docker SDK for Python
|
||||||
|
include_role:
|
||||||
|
name: setup_docker_sdk_for_python
|
||||||
|
|
||||||
|
- name: Figure out current container's network IP
|
||||||
|
include_role:
|
||||||
|
name: setup_docker_current_container_network_ip
|
||||||
|
|
||||||
- name: Create random name prefix and test registry name
|
- name: Create random name prefix and test registry name
|
||||||
set_fact:
|
set_fact:
|
||||||
docker_registry_container_name_registry: '{{ ''ansible-docker-test-registry-%0x'' % ((2**32) | random) }}'
|
docker_registry_container_name_registry: '{{ ''ansible-docker-test-registry-%0x'' % ((2**32) | random) }}'
|
||||||
|
|||||||
@ -0,0 +1,5 @@
|
|||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
needs/target/setup_epel
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
docker_py_version: '0.0'
|
||||||
|
|
||||||
|
docker_pip_extra_packages: []
|
||||||
|
docker_pip_package: docker
|
||||||
|
docker_pip_package_limit: ''
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
- setup_remote_constraints
|
||||||
|
- setup_pkg_mgr
|
||||||
@ -0,0 +1,47 @@
|
|||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
####################################################################
|
||||||
|
# WARNING: These are designed specifically for Ansible tests #
|
||||||
|
# and should not be used as examples of how to write Ansible roles #
|
||||||
|
####################################################################
|
||||||
|
|
||||||
|
- name: Setup Docker SDK for Python
|
||||||
|
when: ansible_facts.distribution ~ ansible_facts.distribution_major_version not in ['CentOS6', 'RedHat6']
|
||||||
|
block:
|
||||||
|
- name: Include distribution specific variables
|
||||||
|
include_vars: "{{ lookup('first_found', params) }}"
|
||||||
|
vars:
|
||||||
|
params:
|
||||||
|
files:
|
||||||
|
- "{{ ansible_facts.distribution }}-{{ ansible_facts.distribution_major_version }}.yml"
|
||||||
|
- "{{ ansible_facts.os_family }}-{{ ansible_facts.distribution_major_version }}.yml"
|
||||||
|
- "{{ ansible_facts.distribution }}.yml"
|
||||||
|
- "{{ ansible_facts.os_family }}.yml"
|
||||||
|
- default.yml
|
||||||
|
paths:
|
||||||
|
- "{{ role_path }}/vars"
|
||||||
|
|
||||||
|
- name: Limit docker pypi package version to < 4.3.0
|
||||||
|
set_fact:
|
||||||
|
docker_pip_package_limit: '<4.3.0'
|
||||||
|
when: docker_api_version is version('1.39', '<')
|
||||||
|
|
||||||
|
- name: Install/upgrade Python requirements
|
||||||
|
pip:
|
||||||
|
name: "{{ [docker_pip_package ~ docker_pip_package_limit] + docker_pip_extra_packages }}"
|
||||||
|
extra_args: "-c {{ remote_constraints }}"
|
||||||
|
state: "{{ 'latest' if force_docker_sdk_for_python_pypi | default(false) else 'present' }}"
|
||||||
|
|
||||||
|
- name: Check docker-py version
|
||||||
|
command: "{{ ansible_python.executable }} -c 'import docker; print(docker.__version__)'"
|
||||||
|
register: docker_py_version_stdout
|
||||||
|
ignore_errors: true
|
||||||
|
|
||||||
|
- set_fact:
|
||||||
|
docker_py_version: "{{ docker_py_version_stdout.stdout | default('0.0') }}"
|
||||||
|
|
||||||
|
- debug:
|
||||||
|
msg: "Docker SDK for Python version: {{ docker_py_version }}"
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
docker_pip_extra_packages:
|
||||||
|
# Not sure why RHEL7 needs this specific version
|
||||||
|
- requests==2.6.0
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
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.
|
||||||
|
- requests==2.6.0
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
Loading…
Reference in New Issue
Block a user