Fix docker client server mismatch
make docker api version configurable, which is more flexible for end users to try on different environment Closes-Bug: #1422297 Change-Id: I78bf55e3a14af7239cae3e175ce7b8eb1f2561b1
This commit is contained in:
parent
6a95dcccee
commit
fadfe8a257
|
@ -460,6 +460,10 @@
|
|||
# (string value)
|
||||
#host_url = unix:///var/run/docker.sock
|
||||
|
||||
# Docker remote api version. Override it according to specific docker
|
||||
# api version in your environment. (string value)
|
||||
#docker_remote_api_version = 1.17
|
||||
|
||||
# If set, ignore any SSL validation issues (boolean value)
|
||||
#api_insecure = false
|
||||
|
||||
|
|
|
@ -18,12 +18,14 @@ from oslo_config import cfg
|
|||
|
||||
from magnum.openstack.common import log as logging
|
||||
|
||||
DEFAULT_DOCKER_REMOTE_API_VERSION = '1.17'
|
||||
LOG = logging.getLogger(__name__)
|
||||
CONF = cfg.CONF
|
||||
|
||||
|
||||
class DockerHTTPClient(client.Client):
|
||||
def __init__(self, url='unix://var/run/docker.sock'):
|
||||
def __init__(self, url='unix://var/run/docker.sock',
|
||||
ver=DEFAULT_DOCKER_REMOTE_API_VERSION):
|
||||
if (CONF.docker.cert_file or
|
||||
CONF.docker.key_file):
|
||||
client_cert = (CONF.docker.cert_file, CONF.docker.key_file)
|
||||
|
@ -40,7 +42,7 @@ class DockerHTTPClient(client.Client):
|
|||
ssl_config = False
|
||||
super(DockerHTTPClient, self).__init__(
|
||||
base_url=url,
|
||||
version='1.15',
|
||||
version=ver,
|
||||
timeout=10,
|
||||
tls=ssl_config
|
||||
)
|
||||
|
|
|
@ -30,6 +30,10 @@ docker_opts = [
|
|||
default='unix:///var/run/docker.sock',
|
||||
help='tcp://host:port to bind/connect to or '
|
||||
'unix://path/to/socket to use'),
|
||||
cfg.StrOpt('docker_remote_api_version',
|
||||
default=docker_client.DEFAULT_DOCKER_REMOTE_API_VERSION,
|
||||
help='Docker remote api version. Override it according to '
|
||||
'specific docker api version in your environment.'),
|
||||
cfg.BoolOpt('api_insecure',
|
||||
default=False,
|
||||
help='If set, ignore any SSL validation issues'),
|
||||
|
@ -56,7 +60,8 @@ class Handler(object):
|
|||
@property
|
||||
def docker(self):
|
||||
if self._docker is None:
|
||||
self._docker = docker_client.DockerHTTPClient(CONF.docker.host_url)
|
||||
self._docker = docker_client.DockerHTTPClient(CONF.docker.host_url,
|
||||
CONF.docker.docker_remote_api_version)
|
||||
return self._docker
|
||||
|
||||
def _find_container_by_name(self, name):
|
||||
|
|
Loading…
Reference in New Issue