Commit graph

353 commits

Author SHA1 Message Date
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
chouseknecht
68151790c2
Fix issue #3866 2016-06-04 02:07:10 -04:00
chouseknecht
d43a91c627 Fix #147 automatically expose published ports 2016-06-03 05:25:11 -04:00
chouseknecht
67432709a4
Remove unused method in ContainerManager 2016-06-03 02:10:59 -04:00
Chris Houseknecht
0a42ada42a Merge pull request #3844 from Hypermanzer/docker-python-3-compat-bug
Fixing Docker compile time errors irt exception handling for Python 3
2016-06-03 02:05:09 -04:00
chouseknecht
09fe0416b6 Fix #3822 stop container 2016-06-03 01:54:39 -04:00
Mike Mars
1c63fb754d Fixing Docker compile time errors irt exception handling for Python 3 2016-06-02 14:30:35 -07:00
chouseknecht
a676d9e126 Remove registery option per #3824. 2016-06-02 11:43:36 -04:00
chouseknecht
4ded9313b7 Fix upate typo and expected volume compare. 2016-06-02 06:14:29 -04:00
chouseknecht
e2d8d9d09a Fixed binds and volumes. Now recognizes bound vs unbound as well as named volumes. 2016-06-01 17:05:03 -04:00
Jirayut 'Dear' Nimsaeng
1212e2ed25 Fix volume to support not binding volumes to host 2016-06-01 17:26:51 +07:00
chouseknecht
e8db7fd8cc
Remove debug/register from examples. 2016-05-31 10:33:43 -04:00
chouseknecht
0601df8c70
Fix network comparison. Fix handling of links. Updated doc strings. Added more examples. 2016-05-31 10:14:42 -04:00
chouseknecht
d9c751be16
Set version added to 2.2 so that tests pass 2016-05-30 18:48:42 -04:00
chouseknecht
78019e4388
For new options move vesion_added to 2.1.1 2016-05-30 18:39:52 -04:00
chouseknecht
633e11be1e
Fixed bug in _get_network_id 2016-05-30 18:37:28 -04:00
chouseknecht
6d9de1b5a1 Fix doc strings. 2016-05-30 15:14:14 -04:00
chouseknecht
3292121e6d
Fixed issues post testing. 2016-05-30 15:04:43 -04:00
chouseknecht
8cd028bd8e First pass at implementing networks parameter. Also added purge_networks option to remove container from networks not included in networks param. 2016-05-30 12:03:11 -04:00
chouseknecht
23816c9c04 Fix for 3768 - adding support for env_file 2016-05-29 10:27:07 -04:00
Chris Houseknecht
4d8f7d161b Merge pull request #3776 from danschmidt5189/fix-docker_container-typo
Fix "ansbile_facts" typo in docker_container module
2016-05-29 09:42:04 -04:00
chouseknecht
cba5b37c9f
Check self.parameters.env exists. 2016-05-29 09:36:17 -04:00
chouseknecht
c419d351c5 Fix for issue #3775 - env config comparison 2016-05-29 09:32:52 -04:00
chouseknecht
651133469c
Update restart_policy doc strings. 2016-05-29 08:29:52 -04:00
chouseknecht
6aa4feb459
Fix restart_poicy 2016-05-29 08:20:59 -04:00
chouseknecht
af0aa8247d
Fix for #3783 - command returns not found or does not exist. 2016-05-29 06:54:46 -04:00
pic
fee0055f9f fix #3528 : dns type 2016-05-28 12:41:21 +02:00
Dan Schmidt
31d21efbc5 Fix "ansbile_facts" typo in docker_container module 2016-05-28 00:33:03 -07:00
chouseknecht
904d947172 Fix for issue 3740. Make docker_service more resilient when targeting older API versions. 2016-05-25 16:38:38 -04:00
Brian Coca
d8b67bdeb0 deprecated docker (#3710)
* deprecated docker

* updated formatting
2016-05-25 15:08:45 -04:00
chouseknecht
a8bf8260aa
Fixed the URL in description. It's now valid Yaml. 2016-05-19 10:00:21 -04:00
chouseknecht
3d43ccae1e
Remove the U(). 2016-05-19 09:41:11 -04:00
chouseknecht
fe45ec9d9e
Uppercase 2016-05-18 15:03:10 -04:00
chouseknecht
10ee35ff26
Make the new bits a NOTE 2016-05-18 14:35:20 -04:00
chouseknecht
1825a73c40
Where to get the full docker picture. 2016-05-18 13:34:13 -04:00
Shubham
64b104ac37 remove module argument, fix #3682 (#3683) 2016-05-17 14:36:05 -04:00