Commit Graph

274 Commits (c0c5b9a50a304acaaa471e32623939408a6c587c)

Author SHA1 Message Date
Vince v. Oosten 42a38f9141 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.
2016-12-08 11:24:36 -05:00
chouseknecht fc486824b8 Fix issue #3866 2016-12-08 11:24:35 -05:00
pic 8494b0af4b fix #3528 : dns type 2016-12-08 11:24:34 -05:00
chouseknecht 9549c66a56 Fix #147 automatically expose published ports 2016-12-08 11:24:34 -05:00
chouseknecht 17fc0f11db Remove unused method in ContainerManager 2016-12-08 11:24:34 -05:00
Mike Mars e2dbd0f445 Fixing Docker compile time errors irt exception handling for Python 3 2016-12-08 11:24:34 -05:00
chouseknecht ec9f56d8e0 Fix #3822 stop container 2016-12-08 11:24:33 -05:00
chouseknecht c9e4955d38 Remove registery option per #3824. 2016-12-08 11:24:33 -05:00
chouseknecht be2d32f04d Fix upate typo and expected volume compare. 2016-12-08 11:24:33 -05:00
chouseknecht 9dd95efe76 Fixed binds and volumes. Now recognizes bound vs unbound as well as named volumes. 2016-12-08 11:24:33 -05:00
Jirayut 'Dear' Nimsaeng d373e0a7c4 Fix volume to support not binding volumes to host 2016-12-08 11:24:33 -05:00
chouseknecht 96192ead02 Remove debug/register from examples. 2016-12-08 11:24:33 -05:00
chouseknecht 3d0d14c5ff Fix network comparison. Fix handling of links. Updated doc strings. Added more examples. 2016-12-08 11:24:33 -05:00
chouseknecht a4bd558240 Set version added to 2.2 so that tests pass 2016-12-08 11:24:32 -05:00
chouseknecht e398efb04f For new options move vesion_added to 2.1.1 2016-12-08 11:24:32 -05:00
chouseknecht c8f63e867a Fixed bug in _get_network_id 2016-12-08 11:24:32 -05:00
chouseknecht a9ddb5023d Fix doc strings. 2016-12-08 11:24:32 -05:00
chouseknecht 1d327a23cd Fixed issues post testing. 2016-12-08 11:24:32 -05:00
chouseknecht 39bfb136a7 First pass at implementing networks parameter. Also added purge_networks option to remove container from networks not included in networks param. 2016-12-08 11:24:32 -05:00
chouseknecht f3c33ee35f Fix for 3768 - adding support for env_file 2016-12-08 11:24:32 -05:00
chouseknecht 2016911e64 Check self.parameters.env exists. 2016-12-08 11:24:32 -05:00
chouseknecht bc665fca9c Fix for issue #3775 - env config comparison 2016-12-08 11:24:32 -05:00
chouseknecht 65e71d8960 Update restart_policy doc strings. 2016-12-08 11:24:32 -05:00
chouseknecht b5666c0f1c Fix restart_poicy 2016-12-08 11:24:32 -05:00
chouseknecht 8f9ef1213d Fix for #3783 - command returns not found or does not exist. 2016-12-08 11:24:32 -05:00
Dan Schmidt c8ec843ac2 Fix "ansbile_facts" typo in docker_container module 2016-12-08 11:24:32 -05:00
chouseknecht d0da544aef Fix for issue 3740. Make docker_service more resilient when targeting older API versions. 2016-12-08 11:24:31 -05:00
Brian Coca f6690828af deprecated docker (#3710)
* deprecated docker

* updated formatting
2016-12-08 11:24:31 -05:00
chouseknecht afc8c42e57 Fixed the URL in description. It's now valid Yaml. 2016-12-08 11:24:29 -05:00
chouseknecht f14d675d2a Remove the U(). 2016-12-08 11:24:29 -05:00
chouseknecht 176363052f Uppercase 2016-12-08 11:24:29 -05:00
chouseknecht 2b4ee0c19d Make the new bits a NOTE 2016-12-08 11:24:29 -05:00
chouseknecht 4ac31f1e8d Where to get the full docker picture. 2016-12-08 11:24:29 -05:00
Shubham 8a6237955d remove module argument, fix #3682 (#3683) 2016-12-08 11:24:29 -05:00
Matt Martz 190f24f30e Revert "Fix doc strings spacing."
This reverts commit 127d518011224289f7917fd3b2ec8ddf73c7dd17.
2016-12-08 11:24:28 -05:00
chouseknecht 26392077c0 Fix doc strings spacing. 2016-12-08 11:24:28 -05:00
chouseknecht 8e6d00f28e Fix doc strings. Missing requirements and doc fragment reference. 2016-12-08 11:24:28 -05:00
chouseknecht d5b82d67b8 Fail gracefully when build path is not found. 2016-12-08 11:24:27 -05:00
chouseknecht 9a021b4181 Fixed files/project_files naming. Correct name is files. 2016-12-08 11:24:27 -05:00
chouseknecht 5837f744e0 Flip version added back to 2.2 to make tests pass. 2016-12-08 11:24:27 -05:00
chouseknecht 018c2f8f73 Moving version added to 2.1 2016-12-08 11:24:27 -05:00
chouseknecht e8d49261e3 Added actions to RETURN docs. Show actions when debug or check mode. 2016-12-08 11:24:27 -05:00
chouseknecht 2860f57551 Removed use of --diff. Replaced 'diff' in output with 'actions'. Only show 'actions' in output if debug true. 2016-12-08 11:24:27 -05:00
chouseknecht be24f83a41 Removed fail method. Combined recreate and force_recreate params. 2016-12-08 11:24:27 -05:00
chouseknecht 50ef604713 Adding docker_service 2016-12-08 11:24:27 -05:00
Chris Houseknecht 8ba5cc4392 Fixed parameters passing in container_create method. (#3618) 2016-12-08 11:24:27 -05:00
Brian Coca c03e1bd2d5 fixed documentation and arg issues 2016-12-08 11:24:26 -05:00
Toshio Kuratomi ed932a53cd Fix documentation 2016-12-08 11:24:26 -05:00
John R Barker d13046a905 ansible-validate-modules part 4: Enable check on ansible-modules-core (#3526)
* Call ansible-validate-modules

* Correct quotes + add newline
2016-12-08 11:24:26 -05:00
chouseknecht 1d6517489b Add doc string for container_limits. Fixed push fail message. Use path type. 2016-12-08 11:24:25 -05:00
Chris Houseknecht b4caa29b00 Adding docker_image_facts (#3493)
* Adding docker_image_facts

* Fix github credentials
2016-12-08 11:24:25 -05:00
Chris Houseknecht bc3391f1f9 Adding docker_container (#3495)
* Adding docker_container

* If state absent, stop the container before attempting to remove. Fixed status running check.

* If container absent, stop before removing. Fix container status check.
2016-12-08 11:24:25 -05:00
Toshio Kuratomi 371d7ec73d Fix docs building 2016-12-08 11:24:25 -05:00
Toshio Kuratomi 5f0dc2b90f Some beginning python3 porting for modules which have unittests 2016-12-08 11:24:24 -05:00
chouseknecht a67e9f3122 Updated version_added on options to reflect options added for 2.1. 2016-12-08 11:24:24 -05:00
chouseknecht f2e7f1935b Clean up and fixes post API version 1.20 testing. 2016-12-08 11:24:24 -05:00
chouseknecht 6f122bdc88 Fix github credentials 2016-12-08 11:24:24 -05:00
chouseknecht f257fb3efa Fix unfriendly exeption handling. 2016-12-08 11:24:23 -05:00
chouseknecht 6aa76b835a Updater per PR comments 2016-12-08 11:24:23 -05:00
chouseknecht fd0554c67e Adding refactored docker_image module. 2016-12-08 11:24:23 -05:00
Chris Houseknecht c5b7e456bd Adding docker_login (#3494)
* Adding docker_login

* Set correct version_added.

* Fix github credentials
2016-12-08 11:24:23 -05:00
Darek Kaczyński 08ad68984c Fix for 'cannot unmarshal array into Go value of type string' error about HostConfig Binds (#3496) 2016-12-08 11:24:20 -05:00
ThomasSteinbach a90fd67c7e docker: fix type issue (#3491)
* fix type issue

* fix type issue for 'volumes-from'
2016-12-08 11:24:20 -05:00
Alexey Wasilyev 4971c7fe82 docker: support polling image by digest (#2932) 2016-12-08 11:24:18 -05:00
Fabian von Feilitzsch 32c744e82a make binds a list instead of a dict (to prevent overwriting when copying the same file to two places) (#2294) 2016-12-08 11:24:17 -05:00
Ash Wilson 6e2f724919 Remove myself from the docker module maintainers
Apologies, but I no longer use this module day-to-day myself, and I don't have the bandwidth right now to effectively triage changes in any kind of timely fashion.
2016-12-08 11:24:14 -05:00
Michael Scherer daddfb490b Improve/fix type checking for docker module
tls_* point to files, so should be type=path
count is a int, so tag it as such and avoid converting later
password should be tagged as no_log
2016-12-08 11:24:14 -05:00
Victor Beresnev 2e94affde6 If cmd and entrypoint not set, don't match them
Hello!
I wanted stop the containers matched only by image name, but can't do this, if I not set cmd in playbook.
This behavior confused me.

If cmd or entrypoint is defined for running container, but not defined in playbook, makes matching behavior as this sample:
https://github.com/ansible/ansible-modules-core/blob/devel/cloud/docker/docker.py#L463
2016-12-08 11:24:14 -05:00
Yannig Perré 72d3aab736 Add an example of extra_hosts option. 2016-12-08 11:24:13 -05:00
Schlueter 734811910e Add missing quote in docker documentation 2016-12-08 11:24:11 -05:00
Andrey Gubarev edde3b49cf update docker_image's path param type to 'path'. Fixes #3175 2016-12-08 11:24:10 -05:00
Tobias Gesellchen db14b544a5 add `env_file` support (original code from @vpetersson) 2016-12-08 11:24:09 -05:00
Konstantin Suvorov 762bd3a801 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
2016-12-08 11:24:07 -05:00
Daan Oosterveld 6b4fbe62de 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.
2016-12-08 11:24:07 -05:00
Alexey Wasilyev f8adc99196 docker: fix failing in case of empty image tag 2016-12-08 11:24:02 -05:00
Brian Coca b25c2a4261 added note about awslogs version added 2016-12-08 11:23:59 -05:00
jefferson fermo 9d9daeb73c add awslog option in docker log driver. this option is available starting with ansible 2.1 2016-12-08 11:23:59 -05:00
Alexey Wasilyev 4d30ae313d Add cpu_shares option for docker module 2016-12-08 11:23:57 -05:00
Will Rouesnel b565da78b3 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.
2016-12-08 11:23:57 -05:00
Brian Coca 0ca9356675 added versions note in description for new choice 2016-12-08 11:23:56 -05:00
Pavel Derendyaev 3129154a2a Add "timeout" option to Docker module 2016-12-08 11:23:56 -05:00
sebi 76af56eaca added unless stopped option 2016-12-08 11:23:55 -05:00
Manuel Tiago Pereira 057cbacf8a 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.
2016-12-08 11:23:54 -05:00
Toshio Kuratomi 4fa9de5af3 entrypoint feature added in 2.1 2016-12-08 11:23:54 -05:00
Toshio Kuratomi eb65f819f5 labels is actually not aded in 1.9.4 but in 2.1 2016-12-08 11:23:54 -05:00
Andrew Pashkin c811a3f4bc Add 'entrypoint' parameter to Docker module 2016-12-08 11:23:54 -05:00
Andrew Pashkin 8342397427 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()'.
2016-12-08 11:23:54 -05:00
Omar Khan 369fe78c60 Add stop_timeout option to docker module 2016-12-08 11:23:54 -05:00
Toshio Kuratomi a708ad65c4 Add version_added to documentation 2016-12-08 11:23:54 -05:00
Joe Quadrino b6e2b2dce1 add devices parameter for docker module 2016-12-08 11:23:54 -05:00
Yann Hamon 1faf8dd5c2 Docker module: restarted should update the container when necessary 2016-12-08 11:23:54 -05:00
Brian Coca b4f87ac7fe made note that Z/z are only 2.1 options 2016-12-08 11:23:52 -05:00
Steve Spencer d4aca8eacc Sync up with allowable docker volume mounting modes 2016-12-08 11:23:52 -05:00
Steve Spencer 769d7db1d0 Add support for mounting host volumes with Z and z options 2016-12-08 11:23:52 -05:00
Leonty 22648e88cd Corrected misspelling in the 'labels' docker parameter documentation. 2016-12-08 11:23:52 -05:00
Aaron Boushley 876bdb62e1 Fix issue with comparing versions improperly.
This allows old versions of docker api to function.
2016-12-08 11:23:51 -05:00
Leonty 8638d9d26c Support 'labels' parameter for docker. 2016-12-08 11:23:51 -05:00
Toshio Kuratomi 6f214bccca Add zfil as an owner of the docker module 2016-12-08 11:23:47 -05:00
Toshio Kuratomi edaa4c3f32 Add a new contributor as a maintainer of the docker module 2016-12-08 11:23:47 -05:00
Philippe Jandot 5b7d72e4ef fix regression introduced by f38186ce8b49ea98e29241712da45917a3154e73, and propose a fix for docker facts 2016-12-08 11:23:46 -05:00