Commit graph

389 commits

Author SHA1 Message Date
Linus Arver
74c8954d86 docker_service: fix files/project_files typo
The original decision to rename from `project_files' to `files' was in
3a5dd00076.
2016-08-17 14:50:27 -07:00
chouseknecht
95f69c55fa Exposing tcp and udp for same port fails. Fixes issue #4354. 2016-08-17 17:03:37 -04:00
PikachuEXE
997fa3b2b7 Allow specifying human readable value for option memory_limit again (#4049) 2016-08-16 08:44:24 -04:00
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
2016-08-12 18:01:11 -04:00
chouseknecht
4c3bf24ebf
If debug true, include actions and differences in output. 2016-08-12 12:14:34 -04:00
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
2016-08-12 10:40:46 -04:00
Brian Coca
decb2ec9fa doc fix 2016-08-12 09:53:57 -04:00
Chris Houseknecht
fdfdfe9017 Adding docker_network module. (#4404) 2016-08-12 09:52:37 -04:00
muxator
24fa1ab426 typo in the documentation of the "state" parameter (#4353) 2016-08-07 17:23:42 +02:00
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.
2016-08-05 19:14:31 -04:00
chouseknecht
cc101164a8
Default repository tag value to tag parameter value or 'latest'. 2016-08-05 16:08:11 -04:00
chouseknecht
d36f04e7f2 Always returns changed when state present and name includes :tag. 2016-08-05 14:29:06 -04:00
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.
2016-08-05 10:47:29 -04:00
chouseknecht
c27054090a Fix image tag operation. Allows repository in form of repo:tag. If no tag value, defaults to 'latest'. 2016-08-05 05:08:52 -04:00
chouseknecht
af177834af
Added implementation of ignore_image, which prevents recreation of containers on image change. 2016-08-03 16:30:45 -04:00
chouseknecht
74dbb61b8d Fix #3670 host IP defaults to 0.0.0.0 ignoriing bridge Host IP option. 2016-08-03 14:47:30 -04:00
chouseknecht
18343c4e5a
Improved documentation for returned actions. 2016-08-03 00:39:21 -04:00
chouseknecht
b9696a349f
When build true call docker-compose build, and add nocache option. 2016-08-03 00:25:58 -04:00
chouseknecht
81b3022eb5
Set version_added 2016-08-02 22:22:55 -04:00
chouseknecht
7e93dbb264
Add pull option to pull images prior to evaluating service state. 2016-08-02 22:20:48 -04:00
Julien Vey
0bf24f2ae1 Fix Typo in docker_image_facts module 2016-08-01 16:38:26 +02:00
Chris Houseknecht
77db7011f0 Merge pull request #4173 from chouseknecht/fix_entrypoint
Fix entrypoint. Should behave the same as command.
2016-07-13 07:54:13 -04:00
Chris Houseknecht
a75ee76aa3 Entrypoint fails with 'command not found' error. 2016-07-13 02:41:25 -04:00
Chris Houseknecht
58b551774c Add push parameter. Let API handle registry authentication check. 2016-07-12 16:49:58 -04:00
Chris Houseknecht
1058094b64 Fix module failing when no ports are exposed 2016-07-12 16:29:45 -04:00
jjshoe
90b8281a51 Fixed a typo (#4168) 2016-07-12 16:02:25 -04:00
Chris Houseknecht
73dbb744b5 Merge pull request #3887 from Jorge-Rodriguez/docker-image-no-push-on-load
Don't forcibly push loaded images to registry.
2016-07-12 13:09:33 -04:00
Chris Houseknecht
328f047fda Merge pull request #4040 from qiluo-msft/qiluo/actual_stdin_open
Fix getting actual_stdin_open
2016-07-11 13:24:17 -04:00
Chris Houseknecht
4aee56553f
Fix multi-interface port binding. 2016-07-11 13:14:23 -04:00
Chris Houseknecht
9c88c45dd2 Merge pull request #4155 from chouseknecht/fix_4091
Support publishing all ports.
2016-07-11 12:47:02 -04:00
Chris Houseknecht
e51024c84d Fix 'all' option for published_ports parameter. 2016-07-11 12:41:20 -04:00
Chris Houseknecht
36ed0ad766 Add cleanup parameter. (#4144) 2016-07-11 11:49:31 -04:00
Chris Houseknecht
78f6c7e51e
Fix purge_networks 2016-07-11 00:23:58 -04:00
Qi Luo
93e502f019 Fix getting actual_stdin_open 2016-06-24 18:58:21 -07:00
Chris Houseknecht
75d167e34f Merge pull request #3994 from chouseknecht/fix_ulimit
Fix ulimit comparison
2016-06-21 11:35:31 -04:00
chouseknecht
7f97cf4d04
Fix compose_version error. Check has compose before checking version. 2016-06-21 02:49:22 -04:00
chouseknecht
34305ded28 Fix index 2016-06-21 02:26:03 -04:00
chouseknecht
5f9f1642bc
Fix ulimit comparison 2016-06-21 02:20:50 -04:00
Hagen Kuehn
a5fdd8c128 fixed unknown type <type 'list'> error (#3959) 2016-06-15 14:26:00 -04:00
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
2016-06-14 01:10:26 -04:00
Chris Houseknecht
0098dc322f Merge pull request #3535 from picpicpic/devel
fixes dns type in docker module
2016-06-13 18:28:18 -04:00
chouseknecht
d988187860
Remove dns from container create parameters. 2016-06-13 18:06:20 -04:00
chouseknecht
0884a942bf Fix #3945 docker_container detach not waiting on container to execute. 2016-06-13 16:30:21 -04:00
chouseknecht
af8eabe06f Fix #3941 2016-06-13 14:08:20 -04:00
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>
2016-06-11 17:29:39 +01:00
chouseknecht
b9b727f435 Fix #16211 - only stop/kill running containers 2016-06-10 22:41:41 -04:00
Chris Houseknecht
964d9b3a6d Fix #3906 - Enforce required minimum compose version. (#3925)
* Fix #3906 - Require minimum compose version.

* Fix typo in message text.
2016-06-10 17:26:29 -04:00
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>
2016-06-08 23:50:44 +01:00
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.
2016-06-08 09:39:34 -04:00
Rodríguez, Jorge
7d33c6ccdf Do not forcibly push when building, either. 2016-06-08 11:45:39 +03:00