From fd418c19c2d5c8a24c35b2956c80c1a2b39907b7 Mon Sep 17 00:00:00 2001 From: "Vince v. Oosten" Date: Wed, 8 Jun 2016 15:39:34 +0200 Subject: [PATCH] move environment variable gathering to end of __init__() (#3890) * This moves the lines in the code that parse the `env` and `env_file` options for docker to the end of the `__init__()` function. This is needed because the `_check_capabilites` function needs both a working `self.client` and a proper `self.docker_py_versioninfo`. `_check_capabilities` is used by `ensure_capabilities` which is, in turn, used by `get_environment` This means that before this commit, the environment variables could not be loaded because both `self.client` and `self.docker_py_versioninfo` were not set at that time. This commit fixes that by putting the environment variable parsing after those two. * This moves the lines in the code that parse the `env` and `env_file` options for docker to the end of the `__init__()` function. This is needed because the `_check_capabilites` function needs both a working `self.client` and a proper `self.docker_py_versioninfo`. `_check_capabilities` is used by `ensure_capabilities` which is, in turn, used by `get_environment` This means that before this commit, the environment variables could not be loaded because both `self.client` and `self.docker_py_versioninfo` were not set at that time. This commit fixes that by putting the environment variable parsing after those two. --- cloud/docker/_docker.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cloud/docker/_docker.py b/cloud/docker/_docker.py index 5043463d601..2e6ce207015 100644 --- a/cloud/docker/_docker.py +++ b/cloud/docker/_docker.py @@ -745,10 +745,6 @@ class DockerManager(object): if self.module.params.get('links'): self.links = self.get_links(self.module.params.get('links')) - env = self.module.params.get('env', None) - env_file = self.module.params.get('env_file', None) - self.environment = self.get_environment(env, env_file) - self.ulimits = None if self.module.params.get('ulimits'): self.ulimits = [] @@ -847,6 +843,10 @@ class DockerManager(object): self.docker_py_versioninfo = get_docker_py_versioninfo() + env = self.module.params.get('env', None) + env_file = self.module.params.get('env_file', None) + self.environment = self.get_environment(env, env_file) + def _check_capabilities(self): """ Create a list of available capabilities