Revert "Remove deprecated functionality. (#363)"

This reverts commit 209aeb57fd.
This commit is contained in:
Felix Fontein 2022-07-02 14:18:53 +02:00
parent 57e19ca596
commit e6d597b539
5 changed files with 27 additions and 6 deletions

View File

@ -1,3 +0,0 @@
removed_features:
- "docker_stack - the return values ``out`` and ``err`` have been removed. Use ``stdout`` and ``stderr`` instead (https://github.com/ansible-collections/community.docker/pull/363)."
- "Various modules - the default of ``tls_hostname`` (``localhost``) has been removed. If you want to continue using ``localhost``, you need to specify it explicitly (https://github.com/ansible-collections/community.docker/pull/363)."

View File

@ -27,7 +27,9 @@ options:
- When verifying the authenticity of the Docker Host server, provide the expected name of the server. - When verifying the authenticity of the Docker Host server, provide the expected name of the server.
- If the value is not specified in the task, the value of environment variable C(DOCKER_TLS_HOSTNAME) will - If the value is not specified in the task, the value of environment variable C(DOCKER_TLS_HOSTNAME) will
be used instead. If the environment variable is not set, the default value will be used. be used instead. If the environment variable is not set, the default value will be used.
- Note that this option had a default value C(localhost) in older versions. It was removed in community.docker 3.0.0. - The current default value is C(localhost). This default is deprecated and will change in community.docker
2.0.0 to be a value computed from I(docker_host). Explicitly specify C(localhost) to make sure this value
will still be used, and to disable the deprecation message which will be shown otherwise.
type: str type: str
api_version: api_version:
description: description:

View File

@ -323,7 +323,10 @@ class AnsibleDockerClientBase(Client):
use_ssh_client=self._get_value('use_ssh_client', params['use_ssh_client'], None, False), use_ssh_client=self._get_value('use_ssh_client', params['use_ssh_client'], None, False),
) )
update_tls_hostname(result) def depr(*args, **kwargs):
self.deprecate(*args, **kwargs)
update_tls_hostname(result, old_behavior=True, deprecate_function=depr, uses_tls=is_using_tls(result))
return result return result

View File

@ -107,9 +107,22 @@ class DockerBaseClass(object):
def update_tls_hostname(result, old_behavior=False, deprecate_function=None, uses_tls=True): def update_tls_hostname(result, old_behavior=False, deprecate_function=None, uses_tls=True):
if result['tls_hostname'] is None: if result['tls_hostname'] is None:
if old_behavior:
result['tls_hostname'] = DEFAULT_TLS_HOSTNAME
if uses_tls and deprecate_function is not None:
deprecate_function(
'The default value "localhost" for tls_hostname is deprecated and will be removed in community.docker 3.0.0.'
' From then on, docker_host will be used to compute tls_hostname. If you want to keep using "localhost",'
' please set that value explicitly.',
version='3.0.0', collection_name='community.docker')
return
# get default machine name from the url # get default machine name from the url
parsed_url = urlparse(result['docker_host']) parsed_url = urlparse(result['docker_host'])
result['tls_hostname'] = parsed_url.netloc.rsplit(':', 1)[0] if ':' in parsed_url.netloc:
result['tls_hostname'] = parsed_url.netloc[:parsed_url.netloc.rindex(':')]
else:
result['tls_hostname'] = parsed_url
def compare_dict_allow_more_present(av, bv): def compare_dict_allow_more_present(av, bv):

View File

@ -76,6 +76,9 @@ options:
requirements: requirements:
- jsondiff - jsondiff
- pyyaml - pyyaml
notes:
- Return values I(out) and I(err) have been deprecated and will be removed in community.docker 3.0.0. Use I(stdout) and I(stderr) instead.
''' '''
RETURN = ''' RETURN = '''
@ -257,6 +260,7 @@ def main():
if rc != 0: if rc != 0:
module.fail_json(msg="docker stack up deploy command failed", module.fail_json(msg="docker stack up deploy command failed",
rc=rc, rc=rc,
out=out, err=err, # Deprecated
stdout=out, stderr=err) stdout=out, stderr=err)
before_after_differences = json_diff(before_stack_services, before_after_differences = json_diff(before_stack_services,
@ -290,10 +294,12 @@ def main():
if rc != 0: if rc != 0:
module.fail_json(msg="'docker stack down' command failed", module.fail_json(msg="'docker stack down' command failed",
rc=rc, rc=rc,
out=out, err=err, # Deprecated
stdout=out, stderr=err) stdout=out, stderr=err)
else: else:
module.exit_json(changed=True, module.exit_json(changed=True,
msg=out, rc=rc, msg=out, rc=rc,
err=err, # Deprecated
stdout=out, stderr=err) stdout=out, stderr=err)
module.exit_json(changed=False) module.exit_json(changed=False)