From 3f67d167fe1fa98c9565241a7fa3b3f262c0720f Mon Sep 17 00:00:00 2001 From: Will Medlar <necromanteion@users.noreply.github.com> Date: Mon, 17 Jul 2017 23:11:52 -0500 Subject: [PATCH] [Fixes #26690] Supports Python 3 handling of base64 encoding (#26876) * [Fixes #26690] Supports Python 3 handling of base64 encoding * Set text auth to separate variable for reuse --- lib/ansible/modules/cloud/docker/docker_login.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/ansible/modules/cloud/docker/docker_login.py b/lib/ansible/modules/cloud/docker/docker_login.py index 5349d71e0a8..35c38fad1f6 100644 --- a/lib/ansible/modules/cloud/docker/docker_login.py +++ b/lib/ansible/modules/cloud/docker/docker_login.py @@ -143,6 +143,7 @@ login_results: import base64 +from ansible.module_utils._text import to_bytes, to_text from ansible.module_utils.docker_common import * @@ -276,8 +277,13 @@ class LoginManager(DockerBaseClass): self.log("Adding registry_url %s to auths." % (self.registry_url)) config['auths'][self.registry_url] = dict() + b64auth = base64.b64encode( + to_bytes(self.username) + b':' + to_bytes(self.password) + ) + auth = to_text(b64auth) + encoded_credentials = dict( - auth=base64.b64encode(self.username + b':' + self.password), + auth=auth, email=self.email )