Skip to content

Commit

Permalink
docker_network IPAM test / general docker test cleanup (ansible#50499)
Browse files Browse the repository at this point in the history
* Re-enable docker_network tests.

* Basic cleanup of docker daemon.

* Add docker CLI detection.

* YAML notation.
  • Loading branch information
felixfontein authored and kbreit committed Jan 11, 2019
1 parent 9b54b50 commit 1930791
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 3 deletions.
1 change: 0 additions & 1 deletion test/integration/targets/docker_network/aliases
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,3 @@ skip/osx
skip/freebsd
destructive
skip/rhel8.0
unstable
55 changes: 53 additions & 2 deletions test/integration/targets/setup_docker/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,12 @@
name: 'docker{{ extra_packages }}'
extra_args: "-c {{ role_path }}/../../../runner/requirements/constraints.txt"

# Detect docker API and docker-py versions
# Detect docker CLI, API and docker-py versions
- name: Check Docker CLI version
command: "docker version -f {% raw %}'{{.Client.Version}}'{% endraw %}"
register: docker_cli_version_stdout
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
Expand All @@ -30,8 +35,54 @@
ignore_errors: yes

- set_fact:
docker_cli_version: "{{ (docker_cli_version_stdout.stdout | default('0.0')) or '0.0' }}"
docker_api_version: "{{ docker_api_version_stdout.stdout or '0.0' }}"
docker_py_version: "{{ docker_py_version_stdout.stdout or '0.0' }}"

- debug:
msg: "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 }}; docker-py library version: {{ docker_py_version }}"

- block:
# Cleanup docker daemon
- name: "Remove all ansible-test-* docker containers"
shell: 'docker ps --no-trunc --format {% raw %}"{{.Names}}"{% endraw %} | grep "^ansible-test-" | xargs -r docker rm -f'
register: docker_containers
- name: "Remove all ansible-test-* docker volumes"
shell: 'docker volume ls --format {% raw %}"{{.Name}}"{% endraw %} | grep "^ansible-test-" | xargs -r docker volume rm -f'
register: docker_volumes
- name: "Remove all ansible-test-* docker networks"
shell: 'docker network ls --no-trunc --format {% raw %}"{{.Name}}"{% endraw %} | grep "^ansible-test-" | xargs -r docker network rm'
register: docker_networks
- name: Cleaned docker resources
debug:
var: docker_resources
vars:
docker_resources:
containers: "{{ docker_containers.stdout_lines }}"
volumes: "{{ docker_volumes.stdout_lines }}"
networks: "{{ docker_networks.stdout_lines }}"

# List all existing docker resources
- name: List all docker containers
command: docker ps --no-trunc -a
register: docker_containers
- name: List all docker volumes
command: docker volume ls
register: docker_volumes
- name: List all docker networks
command: docker network ls --no-trunc
register: docker_networks
- name: List all docker images
command: docker images --no-trunc -a
register: docker_images
- name: Still existing docker resources
debug:
var: docker_resources
vars:
docker_resources:
containers: "{{ docker_containers.stdout_lines }}"
volumes: "{{ docker_volumes.stdout_lines }}"
networks: "{{ docker_networks.stdout_lines }}"
images: "{{ docker_images.stdout_lines }}"

when: docker_cli_version is version('0.0', '>')

0 comments on commit 1930791

Please sign in to comment.