Commit Graph

29 Commits (5c55c6c90ae418a2b6de74a1ea63e3b7d571589d)

Author SHA1 Message Date
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
chouseknecht d63bc38481
Fail gracefully when build path is not found. 9 years ago
chouseknecht a9ab2e1142
Add doc string for container_limits. Fixed push fail message. Use path type. 9 years ago
chouseknecht 1d2be97013 Updated version_added on options to reflect options added for 2.1. 9 years ago
chouseknecht e888abbcb0
Clean up and fixes post API version 1.20 testing. 9 years ago
chouseknecht 6eba1d6fb3 Fix github credentials 9 years ago
chouseknecht 009b02e928 Fix unfriendly exeption handling. 9 years ago
chouseknecht 39fdd2358e Updater per PR comments 9 years ago
chouseknecht 7a1eea2767 Adding refactored docker_image module. 9 years ago
Andrey Gubarev 45b3066c81 update docker_image's path param type to 'path'. Fixes #3175 9 years ago
Daniel Petty bf04a0fe0e replaced sudo with become 9 years ago
Toshio Kuratomi e318be30ff Fix issues version_added and chaged => changed typo 9 years ago
Michael Schuett 80c2e28a48 Fix message
Previous fix did not actual work. This fix does however.
9 years ago
Michael Schuett b0357bf9e8 Handle connection error
Try and help when mac hits a connection error.
9 years ago
Michael Schuett 1dcb31cad6 remove .geturl()
Can't call geturl on a string.
9 years ago
Michael Schuett c126498899 Remove faulty logic
Update logic after splitting the error into two separate messages.
9 years ago
Michael Schuett 1e8d20b0da Documentation Fix
Updated documentation to match current module state.
9 years ago
Michael Schuett 0a5b7087bd Improve Message
Give user a course of action in the case where the suggestions do not
work. This will hopefully allow us to work through any further issues
much faster.
9 years ago
Michael Schuett addbc329be Improve Error Reporting
This will hopefully help mac users be able to quickly resolve any issues
they may find when trying to use this module.
9 years ago
Michael Schuett bf5929d32a docker_image TLS
Check commit enables using tls when using the docker_image module. It
also removes the default for docker_url which doesn't allow us to check
for DOCKER_HOST which is a more sane default. This allows you to use
docker_image on OSX but more documentation is needed.
9 years ago
Toshio Kuratomi 1001eae3c8 Set a default value for DEFAULT_DOCKER_API_VERSION so we can create the AnsibleModule without docker-py 9 years ago
Greg DeKoenigsberg 28a869a030 Updating cloud modules with proper github author information 10 years ago
Andrew Pashkin 27c174128b Add 'docker_api_version' to docker_image
By default docker-py uses latest version of Docker API. This is not
always desireable, and this patch adds option to specify version, that
should be used.
10 years ago
Pierre Baillet 06e3ac7bf4 Support optional dockerfile name 10 years ago
Toshio Kuratomi 60a66a544d Several cleanups to many modules:
* Fix docs to specify when python2.6+ is required (due to a library
  dep).  This helps us know when it is okay to use python2.6+ syntax in
  the file.
* remove BabyJson returns.  See #1211  This commit fixes all but the
  openstack modules.
* Use if __name__ == '__main__' to only run the main part of the module
  if the module is run as a program.  This allows for the potential to
  unittest the code later.
10 years ago
Brian Coca a811b9f12e removed deprecated docs, not true anymore 10 years ago
Brian Coca d2158708ff undeprecated docker_image until replacement actually arives 10 years ago
Michael DeHaan 2970b339eb Deprecate docker_image, use the docker module to deploy docker images, or shell out to docker to call
docker build if you want from a playbook.
10 years ago
Brian Coca 0c4adcb2c6 made subcategories for cloud modules for better organization 10 years ago