Merge pull request #6991 from joshuaconner/bugfix_dont_send_wrong_params_to_dockerclient_start

Docker: don't send wrong parameters to client.start()
This commit is contained in:
James Cammarata 2014-04-23 15:48:04 -05:00
commit f068a4f26a

View file

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