Vendor Galaxy Roles and Collections
Some checks failed
/ Ansible Lint (push) Failing after 5m45s
/ Ansible Lint (pull_request) Failing after 4m59s

This commit is contained in:
Stefan Bethke 2026-02-06 22:07:16 +01:00
commit 2aed20393f
3553 changed files with 387444 additions and 2 deletions

View file

@ -0,0 +1,6 @@
# 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
azp/4
destructive

View file

@ -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_docker
- setup_docker_python_deps

View file

@ -0,0 +1,175 @@
---
# 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: Create random names
ansible.builtin.set_fact:
cname: "{{ 'ansible-container-%0x' % ((2**32) | random) }}"
nname: "{{ 'ansible-network-%0x' % ((2**32) | random) }}"
vname: "{{ 'ansible-volume-%0x' % ((2**32) | random) }}"
- block:
# Create objects to be pruned
- name: Create container (without volume)
community.docker.docker_container:
name: "{{ cname }}"
image: "{{ docker_test_image_hello_world }}"
state: present
register: container
- name: Create network
community.docker.docker_network:
name: "{{ nname }}"
state: present
register: network
- name: Create named volume
community.docker.docker_volume:
name: "{{ vname }}"
state: present
register: volume
- name: Create anonymous volume
ansible.builtin.command: docker volume create
register: volume_anon
- name: List volumes
ansible.builtin.command: docker volume list
# Prune objects
- name: Prune everything
community.docker.docker_prune:
containers: true
images: true
networks: true
volumes: true
builder_cache: true
register: result
# Analyze result
- name: Show results
ansible.builtin.debug:
var: result
- name: General checks
ansible.builtin.assert:
that:
- result is changed
# containers
- container.container.Id in result.containers
- "'containers_space_reclaimed' in result"
# images
- "'images_space_reclaimed' in result"
# networks
- network.network.Name in result.networks
# volumes
- volume_anon.stdout in result.volumes
- "'volumes_space_reclaimed' in result"
# builder_cache
- "'builder_cache_space_reclaimed' in result"
- name: API-version specific volumes check (API version before 1.42)
ansible.builtin.assert:
that:
# For API version 1.41 and before, pruning always considers all volumes
- volume.volume.Name in result.volumes
when: docker_api_version is version('1.42', '<')
- name: API-version specific volumes check (API version 1.42+)
ansible.builtin.assert:
that:
# For API version 1.41 and before, pruning considers only anonymous volumes,
# so our named container is not removed
- volume.volume.Name not in result.volumes
when: docker_api_version is version('1.42', '>=')
# Prune objects again
- name: Prune everything again (should have no change)
community.docker.docker_prune:
containers: true
images: true
networks: true
volumes: true
builder_cache: true
register: result
# Analyze result
- name: Show results
ansible.builtin.debug:
var: result
- name: General checks
ansible.builtin.assert:
that:
- result is not changed
# containers
- result.containers == []
- result.containers_space_reclaimed == 0
# images
- result.images == []
- result.images_space_reclaimed == 0
# networks
- result.networks == []
# volumes
- result.volumes == []
# builder_cache
- result.builder_cache_space_reclaimed == 0
# Test with filters
- name: Prune with filters
community.docker.docker_prune:
images: true
images_filters:
dangling: true
register: result
- name: Show results
ansible.builtin.debug:
var: result
- name: Prune build cache (API version 1.39+)
when: docker_api_version is version('1.39', '>=')
block:
- name: Prune build cache with option
community.docker.docker_prune:
builder_cache: true
builder_cache_all: true
builder_cache_filters:
until: 10m
builder_cache_keep_storage: 1MB
register: result
- name: Show results
ansible.builtin.debug:
var: result
- name: Check results
ansible.builtin.assert:
that:
- "'builder_cache_space_reclaimed' in result"
- "'builder_cache_caches_deleted' in result"
- name: Prune volumes with all filter (API version 1.42+)
when: docker_api_version is version('1.42', '>=')
block:
- name: Prune with filters
community.docker.docker_prune:
volumes: true
volumes_filters:
all: true
register: result
- name: Show results
ansible.builtin.debug:
var: result
- name: Check results
ansible.builtin.assert:
that:
- result is changed
- volume.volume.Name in result.volumes
- "'volumes_space_reclaimed' in result"
when: docker_api_version is version('1.25', '>=')
- ansible.builtin.fail: msg="Too old docker / docker-py version to run docker_prune tests!"
when: not(docker_api_version is version('1.25', '>=')) and (ansible_distribution != 'CentOS' or ansible_distribution_major_version|int > 6)