Commit Graph

179 Commits (318cc16c274e1f5b80596153b5adc4fcbb0b24e5)

Author SHA1 Message Date
Brian Coca 0abade73c4 Merge pull request #2929 from gesellix/add_env_file_support_v2
add `env_file` support
9 years ago
Yannig Perré b958985816 Add an example of extra_hosts option. 9 years ago
Schlueter 0028f58ab6 Add missing quote in docker documentation 9 years ago
Brian Coca 5129ef5590 Merge pull request #2993 from berlic/devel
Fix docker container restart
9 years ago
Brian Coca 76669fa16c Merge pull request #2992 from dusdanig/devel
Adds ulimit to the docker module
9 years ago
Daan Oosterveld 90153a2ca5 Adds ulimit to the docker module
The ulimit will be specified as a list and separated by colons. The
hard limit is optional, in which case it is equal to the soft limit.

The ulimits are compared to the ulimits of the container and added
or adjusted accordingly on by a reload.

The module ensures that ulimits are available in the capabilities
iff ulimits is passes as a parameter.
9 years ago
Konstantin Suvorov d9f13a0bbc Fix docker container restart
restart_containers(containers.running) may try to restart containers
that are deleted when looping through get_differing_containers()
fix this by refreshing list after first loop
9 years ago
Tobias Gesellchen 60e37e6fda add `env_file` support (original code from @vpetersson) 9 years ago
Alexey Wasilyev 511ce25ac8 docker: fix failing in case of empty image tag 9 years ago
Brian Coca 9c80b1adb7 added note about awslogs version added 9 years ago
jefferson fermo 028ecad9d4 add awslog option in docker log driver. this option is available starting with ansible 2.1 9 years ago
Brian Coca 9d4403f2b3 Merge pull request #2521 from wrouesnel/docker_reloaded_fixes
docker: Fix state=reloaded to detect default LoggingDriver for docker
9 years ago
Brian Coca 061da7dc05 updated version_added 9 years ago
Alexey Wasilyev d61772807c Add cpu_shares option for docker module 9 years ago
Brian Coca 4be34067de added versions note in description for new choice 9 years ago
Brian Coca c1df014e3b Merge pull request #2485 from sebi-hgdata/sebi/docker_unless_stopped
added unless stopped option to docker module
9 years ago
Brian Coca f1754fb51e Merge pull request #2376 from mtpereira/fix_2351
Add support for legacy registries to pull_image().
9 years ago
Pavel Derendyaev 61fdb52039 Add "timeout" option to Docker module 9 years ago
sebi aa15231cb7 added unless stopped option 9 years ago
Toshio Kuratomi 15c1c0cca7 entrypoint feature added in 2.1 9 years ago
Toshio Kuratomi 2220dc8e12 Merge pull request #2185 from AndrewPashkin/add_entrypoint_param_to_docker_module
Add entrypoint parameter to docker module
9 years ago
Toshio Kuratomi ba3ee25172 labels is actually not aded in 1.9.4 but in 2.1 9 years ago
Omar Khan 19ebc45364 Add stop_timeout option to docker module 9 years ago
Toshio Kuratomi d907f889a3 Merge pull request #1972 from yannh/docker-restarted
Docker module: restarted should update the container when necessary
9 years ago
Toshio Kuratomi 581b4f6de6 Add version_added to documentation 9 years ago
Joe Quadrino 8fe5d6f7ef add devices parameter for docker module 9 years ago
Brian Coca 4e8d04d248 Merge pull request #2159 from leonty/devel
Support 'labels' parameter for docker.
9 years ago
Brian Coca a876704740 Merge pull request #2239 from boushley/devel
Fix issue with comparing versions improperly
9 years ago
Brian Coca ed43b66d77 made note that Z/z are only 2.1 options 9 years ago
Will Rouesnel 7237798f20 docker: Fix state=reloaded to detect default LoggingDriver for docker
Previously the logging module hard coded the default logging driver. This means
if the docker daemon is started with a different logging driver, the ansible
module would continually restart it when run.

This fix adds a call to docker.Client.info(), which is inspected if a logging
driver is not supplied in the playbook, and the container only restarted if
the logging driver applied differs from the configured default.

In usage, this has solved issues with using alternative logging drivers.
9 years ago
Steve Spencer fc5da26dee Sync up with allowable docker volume mounting modes 9 years ago
Steve Spencer 2c95641d66 Add support for mounting host volumes with Z and z options 9 years ago
Toshio Kuratomi f2943bd404 Add zfil as an owner of the docker module 9 years ago
Toshio Kuratomi 4ed7b690f6 Add a new contributor as a maintainer of the docker module 9 years ago
Toshio Kuratomi 750aa16a06 Merge pull request #2093 from zfil/fix_facts
docker module: fix regressions introduced by f38186c and 80aca4b
9 years ago
Leonty cff83dd257 Merge remote-tracking branch 'upstream/devel' into devel 9 years ago
Leonty 5b904c1401 Corrected misspelling in the 'labels' docker parameter documentation. 9 years ago
Manuel Tiago Pereira 3079c5e001 Add support for legacy registries to pull_image().
Since we now have several exceptions to the assumption that the
result of the pull would be on the last status line returned by
docker-py's pull(), I've changed the function so that it looks
through the status lines and returns what if finds on it.
Despite the repeated `break`s, the code seems simpler and a little
more coherent like this. From what I've checked using
`https://github.com/jlafon/ansible-profile`, the execution time is
mostly the same.
9 years ago
Brian Coca 4c14e6267f Merge pull request #2258 from SamYaple/fix_docker_bug_2257
Don't assume ExposedPorts exists (bug #2257)
9 years ago
Adam Williamson 64b8596250 fix #2043: strip empty dict from end of 'pull' stream
When pulling an image using Docker 1.8, it seems the output
JSON stream has an empty dict at the very end. This causes
ansible to fail when pulling an image, as it's expecting a
status message in that dict which it uses to determine whether
it had to download the image or not. As a bit of an ugly hack
for that which remains backward compatible, try the last item
in the stream, and if it's an empty dict, take the last-but-one
item instead.

The strip() is needed as the exact value appears to be '{}/r/n';
we could just match that, but it seems like the kind of thing
where maybe it'd happen to just be '{}/n' or '{}' or something
in some cases, so let's just use strip() in case.
9 years ago
Sam Yaple f15d285514 Catch the second occurance of ExposedPorts as well 9 years ago
Sam Yaple 9db5ac8e45 Don't assume ExposedPorts exists (bug #2257)
A recent change [1] in docker between v1.8.2 and v1.8.3 changed what
is returned in the json when inspecting an image. Five variables which
could have been expected before will now be omited when empty. Only
one of those variables is being addressed in the docker, ExposedPorts.

Unfortunately there was also no API version change on this so this
can't be easily corrected with pinning the API to the older version.

This does a get() which will return None if the variable is not in the
dict formed from the json that was returned. Everything else works the
same way.

[1] 9098628b29
9 years ago
Brian Coca da1a317f7d Merge pull request #2139 from justnom/devel
Adding additional Docker log drivers.
9 years ago
Aaron Boushley 81e9d1bde5 Fix issue with comparing versions improperly.
This allows old versions of docker api to function.
9 years ago
Andrew Pashkin cee7e928fc Add 'entrypoint' parameter to Docker module 9 years ago
Colin Hutchinson f7aa6c4d27 make a text link into a actual hyperlink
the text link doesn't fit on some screen resolutions. Making it into sphinx hyperlink will solve that
9 years ago
Andrew Pashkin e96549c95d Harden matching running containers by "command" in the Docker module
Before this patch:

  - Command was matched if 'Command' field of docker-py
    representation of Docker container ends with 'command' passed
    to Ansible docker module by user.
  - That can give false positives and false negatives.
  - For example:
      a) If 'command' was set up with more than one spaces,
         like 'command=sleep  123', it would be never matched again
         with a container(s) launched by this task.
         Because after launching, command would be normalized and
         appear, in docker-py API call, just as 'sleep 123' - with one
         space. This is false negative case.
      b) If 'entrypoint + command = command', for example
         'sleep + 123 = sleep 123', module would give false positive
         match.

This patch fixes it, by making matching more explicit - against
'Config'->Cmd' field of 'docker inspect' output, provided by docker-py
API and with proper normalization of user input by splitting it to
tokens with 'shlex.split()'.
9 years ago
Leonty 2080c8ab6e Support 'labels' parameter for docker. 9 years ago
justnom 518ac36878 Adding additional Docker log drivers.
Adding additional `log_driver` choices:
* journald
* gelf
* fluentd

Compatible with Docker version >= 1.8.0
9 years ago
Philippe Jandot 8052d49b07 fix regression introduced by f38186ce8b, and propose a fix for docker facts 9 years ago