Commit Graph

390 Commits (8bf651afaa6150632fb618381a2e9736296b9009)

Author SHA1 Message Date
chouseknecht 42540ae510 Fix doc strings. Use of > was breaking HTML generation on docs site module page. 8 years ago
Linus Arver 74c8954d86 docker_service: fix files/project_files typo
The original decision to rename from `project_files' to `files' was in
3a5dd00076.
8 years ago
chouseknecht 95f69c55fa Exposing tcp and udp for same port fails. Fixes issue #4354. 8 years ago
PikachuEXE 997fa3b2b7 Allow specifying human readable value for option `memory_limit` again (#4049) 8 years ago
chouseknecht e7abbbf134 Fix network alias and network link comparison.
- Using set based comparison was not working consistently
  - With != operator worked locally but consistently failed on Travis
  - With 'not in' operator failed locally and on Travis
8 years ago
chouseknecht 4c3bf24ebf
If debug true, include actions and differences in output. 8 years ago
Chris Houseknecht 70806fcfe4 Some post merge clean up: (#4406)
- Removed required_if.
  - Fixed doc strings.
  - Removed debug output being appended to actions.
  - Put import of basics at bottom to be consistent with other docker modules
  - Added 'containers' alias to 'connected' param
  - Put facts in ansible_facts.ansible_docker_network
8 years ago
Brian Coca decb2ec9fa doc fix 8 years ago
Chris Houseknecht fdfdfe9017 Adding docker_network module. (#4404) 8 years ago
muxator 24fa1ab426 typo in the documentation of the "state" parameter (#4353) 8 years ago
Chris Houseknecht 0358dee095 Add buildargs parameter to support Dockerfile ARG directive. (#4349)
* Add buildargs parameter to support Dockerfile ARG directive.

* Fix doc_strings. Doc string for load_path was completely missing.
8 years ago
chouseknecht cc101164a8
Default repository tag value to tag parameter value or 'latest'. 8 years ago
chouseknecht d36f04e7f2 Always returns changed when state present and name includes :tag. 8 years ago
Chris Houseknecht c0d373f258 Add *build* to state parameter choices. Updated deprecation message. Will be deprecated in release 2.3. Removed (#4342)
mention of *tagged* state in the force parameter doc strings. There is no *tagged* state.
8 years ago
chouseknecht c27054090a Fix image tag operation. Allows repository in form of repo:tag. If no tag value, defaults to 'latest'. 8 years ago
chouseknecht af177834af
Added implementation of ignore_image, which prevents recreation of containers on image change. 8 years ago
chouseknecht 74dbb61b8d Fix #3670 host IP defaults to 0.0.0.0 ignoriing bridge Host IP option. 8 years ago
chouseknecht 18343c4e5a
Improved documentation for returned actions. 8 years ago
chouseknecht b9696a349f
When build true call docker-compose build, and add nocache option. 8 years ago
chouseknecht 81b3022eb5
Set version_added 8 years ago
chouseknecht 7e93dbb264
Add pull option to pull images prior to evaluating service state. 8 years ago
Julien Vey 0bf24f2ae1 Fix Typo in docker_image_facts module 8 years ago
Chris Houseknecht 77db7011f0 Merge pull request #4173 from chouseknecht/fix_entrypoint
Fix entrypoint. Should behave the same as command.
8 years ago
Chris Houseknecht a75ee76aa3 Entrypoint fails with 'command not found' error. 8 years ago
Chris Houseknecht 58b551774c Add push parameter. Let API handle registry authentication check. 8 years ago
Chris Houseknecht 1058094b64 Fix module failing when no ports are exposed 8 years ago
jjshoe 90b8281a51 Fixed a typo (#4168) 8 years ago
Chris Houseknecht 73dbb744b5 Merge pull request #3887 from Jorge-Rodriguez/docker-image-no-push-on-load
Don't forcibly push loaded images to registry.
8 years ago
Chris Houseknecht 328f047fda Merge pull request #4040 from qiluo-msft/qiluo/actual_stdin_open
Fix getting actual_stdin_open
8 years ago
Chris Houseknecht 4aee56553f
Fix multi-interface port binding. 8 years ago
Chris Houseknecht 9c88c45dd2 Merge pull request #4155 from chouseknecht/fix_4091
Support publishing all ports.
8 years ago
Chris Houseknecht e51024c84d Fix 'all' option for published_ports parameter. 8 years ago
Chris Houseknecht 36ed0ad766 Add cleanup parameter. (#4144) 8 years ago
Chris Houseknecht 78f6c7e51e
Fix purge_networks 8 years ago
Qi Luo 93e502f019 Fix getting actual_stdin_open 9 years ago
Chris Houseknecht 75d167e34f Merge pull request #3994 from chouseknecht/fix_ulimit
Fix ulimit comparison
9 years ago
chouseknecht 7f97cf4d04
Fix compose_version error. Check has compose before checking version. 9 years ago
chouseknecht 34305ded28 Fix index 9 years ago
chouseknecht 5f9f1642bc
Fix ulimit comparison 9 years ago
Hagen Kuehn a5fdd8c128 fixed unknown type <type 'list'> error (#3959) 9 years ago
Chris Houseknecht 0802569af9 Merge pull request #3894 from stefanha/docker_image-load_image-streaming
Stream image data in load_image() to avoid out-of-memory
9 years ago
Chris Houseknecht 0098dc322f Merge pull request #3535 from picpicpic/devel
fixes dns type in docker module
9 years ago
chouseknecht d988187860
Remove dns from container create parameters. 9 years ago
chouseknecht 0884a942bf Fix #3945 docker_container detach not waiting on container to execute. 9 years ago
chouseknecht af8eabe06f Fix #3941 9 years ago
Stefan Hajnoczi 8254e2b547 docker_service: make PyYAML requirement explicit
The "Developing Modules" documentation states:

  Include a minimum of dependencies if possible. If there are
  dependencies, document them at the top of the module file, and have
  the module raise JSON error messages when the import fails.

When docker_service runs on a remote host without PyYAML it crashes with
ImportError.

This patch raises a JSON error message when import fails, but only if
the PyYAML module is actually used.  It's only needed when the
"definition" parameter is given.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
9 years ago
chouseknecht b9b727f435 Fix #16211 - only stop/kill running containers 9 years ago
Chris Houseknecht 964d9b3a6d Fix #3906 - Enforce required minimum compose version. (#3925)
* Fix #3906 - Require minimum compose version.

* Fix typo in message text.
9 years ago
Stefan Hajnoczi 47cc422b8a Stream image data in load_image() to avoid out-of-memory
Reading the entire tar file into memory can result in out-of-memory
conditions such as this traceback:

Traceback (most recent call last):
  File "/tmp/ansible_YELTSu/ansible_module_docker_image.py", line 486, in load_image
    self.client.load_image(image_data)
  File "/usr/local/lib/python2.7/dist-packages/docker/api/image.py", line 147, in load_image
    res = self._post(self._url("/images/load"), data=data)
  ...
  File "/usr/lib/python2.7/httplib.py", line 997, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 848, in _send_output
    msg += message_body
MemoryError

Luckily docker-py's load_image(), which calls requests post(), accepts a
file-like object instead of a string.  Pass in the file object to avoid
reading the full file into memory.  This allows larger tar files to load
succesfully.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
9 years ago
Vince v. Oosten fd418c19c2 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.
9 years ago