diff --git a/cloud/docker b/cloud/docker index 0ab36dfe938..dc39179cccb 100644 --- a/cloud/docker +++ b/cloud/docker @@ -570,8 +570,7 @@ class DockerManager: 'privileged': self.module.params.get('privileged'), 'links': self.links, } - - if docker.utils.compare_version('1.10', self.client.version()['ApiVersion']) >= 0: + if docker.utils.compare_version('1.10', self.client.version()['ApiVersion']) >= 0 and hasattr(docker, '__version__') and docker.__version__ > '0.3.0': params['dns'] = self.module.params.get('dns') params['volumes_from'] = self.module.params.get('volumes_from') @@ -682,11 +681,11 @@ def main(): # start/stop containers if state in [ "running", "present" ]: - + # make sure a container with `name` exists, if not create and start it if name and "/" + name not in map(lambda x: x.get('Name'), deployed_containers): containers = manager.create_containers(1) - if state == "present": #otherwise it get (re)started later anyways.. + if state == "present": #otherwise it get (re)started later anyways.. manager.start_containers(containers) running_containers = manager.get_running_containers() deployed_containers = manager.get_deployed_containers() @@ -695,18 +694,18 @@ def main(): # make sure a container with `name` is running if name and "/" + name not in map(lambda x: x.get('Name'), running_containers): manager.start_containers(deployed_containers) - + # start more containers if we don't have enough elif delta > 0: containers = manager.create_containers(delta) manager.start_containers(containers) - + # stop containers if we have too many elif delta < 0: containers_to_stop = running_containers[0:abs(delta)] containers = manager.stop_containers(containers_to_stop) manager.remove_containers(containers_to_stop) - + facts = manager.get_running_containers() else: facts = manager.get_deployed_containers()