summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlysses Souza <ulysses.souza@docker.com>2019-03-28 17:30:26 +0100
committerGitHub <noreply@github.com>2019-03-28 17:30:26 +0100
commita4c251d230861358c3ee848de6c0852bd96b048f (patch)
tree3f990896854df2a7c93a10b043c7d8ef3cad15ab
parentcb8b46260571116dca1da844f9b360fe201194b3 (diff)
parent8f2d9a5687c2358cea364a1d4d64fb1c8d0af7c4 (diff)
downloaddocker-py-a4c251d230861358c3ee848de6c0852bd96b048f.tar.gz
Merge pull request #2299 from ulyssessouza/3.7.2-release3.7.2
Bump 3.7.2 release
-rw-r--r--docker/utils/utils.py4
-rw-r--r--docker/version.py2
-rw-r--r--docs/change-log.md11
-rw-r--r--scripts/versions.py10
-rw-r--r--tests/integration/api_container_test.py4
-rw-r--r--tests/unit/utils_test.py12
6 files changed, 27 insertions, 16 deletions
diff --git a/docker/utils/utils.py b/docker/utils/utils.py
index 61e307a..7819ace 100644
--- a/docker/utils/utils.py
+++ b/docker/utils/utils.py
@@ -352,9 +352,7 @@ def kwargs_from_env(ssl_version=None, assert_hostname=None, environment=None):
params = {}
if host:
- params['base_url'] = (
- host.replace('tcp://', 'https://') if enable_tls else host
- )
+ params['base_url'] = host
if not enable_tls:
return params
diff --git a/docker/version.py b/docker/version.py
index 249475f..8f81f0d 100644
--- a/docker/version.py
+++ b/docker/version.py
@@ -1,2 +1,2 @@
-version = "3.7.1"
+version = "3.7.2"
version_info = tuple([int(d) for d in version.split("-")[0].split(".")])
diff --git a/docs/change-log.md b/docs/change-log.md
index 9edfee2..d7c3361 100644
--- a/docs/change-log.md
+++ b/docs/change-log.md
@@ -1,6 +1,17 @@
Change log
==========
+3.7.2
+-----
+
+[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/59?closed=1)
+
+### Bugfixes
+
+* Fix base_url to keep TCP protocol on utils.py by letting the responsability of changing the
+protocol to `parse_host` afterwards, letting `base_url` with the original value.
+* XFAIL test_attach_stream_and_cancel on TLS
+
3.7.1
-----
diff --git a/scripts/versions.py b/scripts/versions.py
index 7ad1d56..93fe0d7 100644
--- a/scripts/versions.py
+++ b/scripts/versions.py
@@ -62,13 +62,9 @@ def main():
for url in [base_url.format(cat) for cat in categories]:
res = requests.get(url)
content = res.text
- versions = [
- Version.parse(
- v.strip('"').lstrip('docker-').rstrip('.tgz').rstrip('-x86_64')
- ) for v in re.findall(
- r'"docker-[0-9]+\.[0-9]+\.[0-9]+-?.*tgz"', content
- )
- ]
+ versions = [Version.parse(v) for v in re.findall(
+ r'"docker-([0-9]+\.[0-9]+\.[0-9]+)-?.*tgz"', content
+ )]
sorted_versions = sorted(
versions, reverse=True, key=operator.attrgetter('order')
)
diff --git a/tests/integration/api_container_test.py b/tests/integration/api_container_test.py
index 83df342..558441e 100644
--- a/tests/integration/api_container_test.py
+++ b/tests/integration/api_container_test.py
@@ -1080,7 +1080,6 @@ class KillTest(BaseAPIIntegrationTest):
class PortTest(BaseAPIIntegrationTest):
def test_port(self):
-
port_bindings = {
'1111': ('127.0.0.1', '4567'),
'2222': ('127.0.0.1', '4568')
@@ -1260,6 +1259,9 @@ class AttachContainerTest(BaseAPIIntegrationTest):
@pytest.mark.timeout(5)
@pytest.mark.skipif(os.environ.get('DOCKER_HOST', '').startswith('ssh://'),
reason='No cancellable streams over SSH')
+ @pytest.mark.xfail(condition=os.environ.get('DOCKER_TLS_VERIFY') or
+ os.environ.get('DOCKER_CERT_PATH'),
+ reason='Flaky test on TLS')
def test_attach_stream_and_cancel(self):
container = self.client.create_container(
BUSYBOX, 'sh -c "echo hello && sleep 60"',
diff --git a/tests/unit/utils_test.py b/tests/unit/utils_test.py
index a4e9c9c..ee660a3 100644
--- a/tests/unit/utils_test.py
+++ b/tests/unit/utils_test.py
@@ -11,6 +11,7 @@ import unittest
from docker.api.client import APIClient
+from docker.constants import IS_WINDOWS_PLATFORM
from docker.errors import DockerException
from docker.utils import (
convert_filters, convert_volume_binds, decode_json_header, kwargs_from_env,
@@ -83,15 +84,17 @@ class KwargsFromEnvTest(unittest.TestCase):
DOCKER_CERT_PATH=TEST_CERT_DIR,
DOCKER_TLS_VERIFY='1')
kwargs = kwargs_from_env(assert_hostname=False)
- assert 'https://192.168.59.103:2376' == kwargs['base_url']
+ assert 'tcp://192.168.59.103:2376' == kwargs['base_url']
assert 'ca.pem' in kwargs['tls'].ca_cert
assert 'cert.pem' in kwargs['tls'].cert[0]
assert 'key.pem' in kwargs['tls'].cert[1]
assert kwargs['tls'].assert_hostname is False
assert kwargs['tls'].verify
+
+ parsed_host = parse_host(kwargs['base_url'], IS_WINDOWS_PLATFORM, True)
try:
client = APIClient(**kwargs)
- assert kwargs['base_url'] == client.base_url
+ assert parsed_host == client.base_url
assert kwargs['tls'].ca_cert == client.verify
assert kwargs['tls'].cert == client.cert
except TypeError as e:
@@ -102,15 +105,16 @@ class KwargsFromEnvTest(unittest.TestCase):
DOCKER_CERT_PATH=TEST_CERT_DIR,
DOCKER_TLS_VERIFY='')
kwargs = kwargs_from_env(assert_hostname=True)
- assert 'https://192.168.59.103:2376' == kwargs['base_url']
+ assert 'tcp://192.168.59.103:2376' == kwargs['base_url']
assert 'ca.pem' in kwargs['tls'].ca_cert
assert 'cert.pem' in kwargs['tls'].cert[0]
assert 'key.pem' in kwargs['tls'].cert[1]
assert kwargs['tls'].assert_hostname is True
assert kwargs['tls'].verify is False
+ parsed_host = parse_host(kwargs['base_url'], IS_WINDOWS_PLATFORM, True)
try:
client = APIClient(**kwargs)
- assert kwargs['base_url'] == client.base_url
+ assert parsed_host == client.base_url
assert kwargs['tls'].cert == client.cert
assert not kwargs['tls'].verify
except TypeError as e: