Skip to content

Commit

Permalink
Deprecate current behavior when specifying all with other port mappin…
Browse files Browse the repository at this point in the history
…gs. (#60)
  • Loading branch information
felixfontein authored Dec 26, 2020
1 parent 117f132 commit 1277942
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
2 changes: 2 additions & 0 deletions changelogs/fragments/60-docker_container-publish-all.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
deprecated_features:
- "docker_container - currently ``published_ports`` can contain port mappings next to the special value ``all``, in which case the port mappings are ignored. This behavior is deprecated for community.docker 2.0.0, at which point it will either be forbidden, or this behavior will be properly implemented similar to how the Docker CLI tool handles this (https://github.com/ansible-collections/community.docker/issues/8, https://github.com/ansible-collections/community.docker/pull/60)."
10 changes: 9 additions & 1 deletion plugins/modules/docker_container.py
Original file line number Diff line number Diff line change
Expand Up @@ -1366,7 +1366,7 @@ def __init__(self, client):

self.publish_all_ports = False
self.published_ports = self._parse_publish_ports()
if self.published_ports in ('all', 'ALL'):
if self.published_ports == 'all':
self.publish_all_ports = True
self.published_ports = None

Expand Down Expand Up @@ -1684,6 +1684,14 @@ def _parse_publish_ports(self):
return None

if 'all' in self.published_ports:
if len(self.published_ports) > 1:
self.client.module.deprecate(
'Specifying "all" in published_ports together with port mappings is not properly '
'supported by the module. The port mappings are currently ignored. Please specify '
'only port mappings, or the value "all". The behavior for mixed usage will either '
'be forbidden in version 2.0.0, or properly handled. In any case, the way you '
'currently use the module will change in a breaking way',
collection_name='community.docker', version='2.0.0')
return 'all'

default_ip = self.default_host_ip
Expand Down

0 comments on commit 1277942

Please sign in to comment.