|
22 | 22 | from .. import auth
|
23 | 23 | from ..constants import (
|
24 | 24 | DEFAULT_TIMEOUT_SECONDS, DEFAULT_USER_AGENT, IS_WINDOWS_PLATFORM,
|
25 |
| - DEFAULT_DOCKER_API_VERSION, STREAM_HEADER_SIZE_BYTES, DEFAULT_NUM_POOLS, |
26 |
| - MINIMUM_DOCKER_API_VERSION |
| 25 | + DEFAULT_DOCKER_API_VERSION, MINIMUM_DOCKER_API_VERSION, |
| 26 | + STREAM_HEADER_SIZE_BYTES, DEFAULT_NUM_POOLS_SSH, DEFAULT_NUM_POOLS |
27 | 27 | )
|
28 | 28 | from ..errors import (
|
29 | 29 | DockerException, InvalidVersion, TLSParameterError,
|
@@ -101,7 +101,7 @@ class APIClient(
|
101 | 101 |
|
102 | 102 | def __init__(self, base_url=None, version=None,
|
103 | 103 | timeout=DEFAULT_TIMEOUT_SECONDS, tls=False,
|
104 |
| - user_agent=DEFAULT_USER_AGENT, num_pools=DEFAULT_NUM_POOLS, |
| 104 | + user_agent=DEFAULT_USER_AGENT, num_pools=None, |
105 | 105 | credstore_env=None):
|
106 | 106 | super(APIClient, self).__init__()
|
107 | 107 |
|
@@ -132,6 +132,10 @@ def __init__(self, base_url=None, version=None,
|
132 | 132 | base_url = utils.parse_host(
|
133 | 133 | base_url, IS_WINDOWS_PLATFORM, tls=bool(tls)
|
134 | 134 | )
|
| 135 | + # SSH has a different default for num_pools to all other adapters |
| 136 | + num_pools = num_pools or DEFAULT_NUM_POOLS_SSH if \ |
| 137 | + base_url.startswith('ssh://') else DEFAULT_NUM_POOLS |
| 138 | + |
135 | 139 | if base_url.startswith('http+unix://'):
|
136 | 140 | self._custom_adapter = UnixAdapter(
|
137 | 141 | base_url, timeout, pool_connections=num_pools
|
|
0 commit comments