Deprecate current behavior when specifying all with other port mappings. (#60)

This commit is contained in:
Felix Fontein 2020-12-26 18:20:52 +01:00 committed by GitHub
parent 117f132213
commit 1277942a4e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 1 deletions

View File

@ -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)."

View File

@ -1366,7 +1366,7 @@ class TaskParameters(DockerBaseClass):
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
@ -1684,6 +1684,14 @@ class TaskParameters(DockerBaseClass):
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