community.docker/tests/integration/targets/docker_volume_info/tasks/main.yml
2026-02-07 15:40:14 +01:00

78 lines
2.7 KiB
YAML

---
# 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 #
####################################################################
- block:
- name: Create random volume name
ansible.builtin.set_fact:
cname: "{{ 'ansible-docker-test-%0x' % ((2**32) | random) }}"
- name: Make sure volume is not there
community.docker.docker_volume:
name: "{{ cname }}"
state: absent
- name: Inspect a non-present volume
community.docker.docker_volume_info:
name: "{{ cname }}"
register: result
- ansible.builtin.assert:
that:
- "not result.exists"
- "'volume' in result"
- "result.volume is none"
- name: Make sure volume exists
community.docker.docker_volume:
name: "{{ cname }}"
- name: Inspect a present volume
community.docker.docker_volume_info:
name: "{{ cname }}"
register: result
- name: Dump docker_volume_info result
ansible.builtin.debug: var=result
- name: "Comparison: use 'docker volume inspect'"
ansible.builtin.command: docker volume inspect "{{ cname }}"
register: docker_volume_inspect
ignore_errors: true
- block:
- ansible.builtin.set_fact:
docker_volume_inspect_result: "{{ docker_volume_inspect.stdout | from_json }}"
- name: Dump docker volume inspect result
ansible.builtin.debug: var=docker_volume_inspect_result
when: docker_volume_inspect is not failed
- name: Cleanup
community.docker.docker_volume:
name: "{{ cname }}"
state: absent
- ansible.builtin.assert:
that:
- result.exists
- "'volume' in result"
- "result.volume is truthy"
- ansible.builtin.assert:
that:
- "result.volume == docker_volume_inspect_result[0]"
when: docker_volume_inspect is not failed
- ansible.builtin.assert:
that:
- "'is too new. Maximum supported API version is' in docker_volume_inspect.stderr"
when: docker_volume_inspect is failed
when: docker_api_version is version('1.25', '>=')
- ansible.builtin.fail: msg="Too old docker / docker-py version to run docker_volume_info tests!"
when: not(docker_api_version is version('1.25', '>=')) and (ansible_facts.distribution != 'CentOS' or ansible_facts.distribution_major_version|int > 6)