Skip to content

Commit

Permalink
Allowing anonymous volumes via mounts option (#181)
Browse files Browse the repository at this point in the history
* Initial Commit

* Adding changelog fragment
  • Loading branch information
Ajpantuso authored Jul 27, 2021
1 parent e2785de commit b2430f7
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
minor_changes:
- docker_container - lifted restriction preventing the creation of anonymous volumes with the ``mounts`` option
(https://github.com/ansible-collections/community.docker/pull/181).
3 changes: 2 additions & 1 deletion plugins/modules/docker_container.py
Original file line number Diff line number Diff line change
Expand Up @@ -486,6 +486,7 @@
source:
description:
- Mount source (e.g. a volume name or a host path).
- If not supplied when I(type=volume) an anonymous volume will be created.
type: str
type:
description:
Expand Down Expand Up @@ -2004,7 +2005,7 @@ def _process_mounts(self):
datatype = mount['type']
mount_dict = dict(mount)
# Sanity checks (so we don't wait for docker-py to barf on input)
if mount_dict.get('source') is None and datatype != 'tmpfs':
if mount_dict.get('source') is None and datatype not in ('tmpfs', 'volume'):
self.client.fail('source must be specified for mount "{0}" of type "{1}"'.format(target, datatype))
mount_option_types = dict(
volume_driver='volume',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,30 @@
register: mounts_6
ignore_errors: yes

- name: mounts (anonymous volume)
docker_container:
image: "{{ docker_test_image_alpine }}"
command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
state: started
mounts:
- target: /tmp
type: volume
force_kill: true
register: mounts_7

- name: mounts (anonymous volume idempotency)
docker_container:
image: "{{ docker_test_image_alpine }}"
command: '/bin/sh -c "sleep 10m"'
name: "{{ cname }}"
state: started
mounts:
- target: /tmp
type: volume
force_kill: true
register: mounts_8

- name: cleanup
docker_container:
name: "{{ cname }}"
Expand All @@ -135,6 +159,8 @@
- mounts_5 is changed
- mounts_6 is failed
- "'The mount point \"/x\" appears twice in the mounts option' == mounts_6.msg"
- mounts_7 is changed
- mounts_8 is not changed
when: docker_py_version is version('2.6.0', '>=')
- assert:
that:
Expand Down

0 comments on commit b2430f7

Please sign in to comment.